
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void do_write(Output_data_glink<64,_true> * this, Output_file * of) */

void __thiscall
anon_unknown.dwarf_2cac9f::Output_data_glink<64,_true>::do_write
          (Output_data_glink<64,_true> *this,Output_file *of)

{
  byte bVar1;
  long lVar2;
  General_options *pGVar3;
  Output_data_plt_powerpc<64,_true> *pOVar4;
  pointer ppVVar5;
  undefined8 uVar6;
  bool bVar7;
  int iVar8;
  uint uVar9;
  uint uVar10;
  char *format;
  ulong uVar11;
  uint uVar12;
  Output_file *this_1;
  size_t in_RDX;
  ulong *puVar13;
  uint *puVar14;
  size_t extraout_RDX;
  uint uVar15;
  ulong uVar16;
  uint *puVar17;
  Target_powerpc<64,_true> *this_00;
  _Hash_node_base *p_Var18;
  ulong *puVar19;
  _Hash_node_base *p_Var20;
  pointer local_88;
  pointer local_70;
  bool is_global;
  undefined1 local_58 [40];
  
  bVar1 = this->field_0x20;
  this_1 = (Output_file *)(ulong)bVar1;
  if ((bVar1 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");
  }
  lVar2 = *(long *)&this->field_0x18;
  if ((bVar1 & 2) != 0) {
    this_00 = (Target_powerpc<64,_true> *)this;
    if ((-1 < lVar2) && (*(long *)&this->field_0x10 + lVar2 <= of->file_size_)) {
      puVar19 = (ulong *)(of->base_ + lVar2);
      of = (Output_file *)this->targ_;
      this_00 = (Target_powerpc<64,_true> *)((Target_powerpc<64,_true> *)of)->plt_;
      if (this_00 != (Target_powerpc<64,_true> *)0x0) {
        if (((ulong)this_00->got_ & 1) == 0) goto LAB_0017e2fb;
        local_88 = *(pointer *)&this_00->field_0x8;
        uVar9 = this->end_branch_table_;
        if (uVar9 != 0) {
          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;
          uVar11 = (long)local_88 + (-0x10 - *(long *)&this->field_0x8);
          *puVar19 = uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |
                     (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |
                     (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |
                     (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38;
          if ((*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10 & 2) == 0) {
            puVar13 = puVar19 + 6;
            puVar19[1] = 0x5009f42a602887d;
            puVar19[2] = 0xf0ff4be8a602687d;
            puVar19[3] = 0x145a627da603887d;
            puVar19[4] = 0x8004be800008be9;
            puVar19[5] = 0x10006be9a603897d;
          }
          else {
            *(undefined4 *)(puVar19 + 7) = 0x8006be9;
            puVar13 = (ulong *)((long)puVar19 + 0x3c);
            puVar19[1] = 0x5009f42a602087c;
            puVar19[2] = 0x180041f8a602687d;
            puVar19[3] = 0xa603087cf0ff4be8;
            puVar19[4] = 0x145a627d50608b7d;
            puVar19[5] = 0x8be9d0ff0c38;
            puVar19[6] = 0xa603897d82f00078;
          }
          *(undefined4 *)puVar13 = 0x2004804e;
          uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;
          puVar17 = (uint *)((long)puVar13 + 4);
          if (puVar17 !=
              (uint *)((long)puVar19 + (-(ulong)((uVar9 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/powerpc.cc",0x16c2,"do_write");
          }
          if (puVar17 < (uint *)((ulong)this->end_branch_table_ + (long)puVar19)) {
            uVar12 = 0;
            while( true ) {
              puVar14 = puVar17;
              if ((uVar9 & 2) == 0) {
                if (uVar12 < 0x8000) {
                  uVar9 = uVar12 + 0x38000000;
                  puVar14 = puVar17 + 1;
                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |
                             uVar12 << 0x18;
                }
                else {
                  puVar14 = puVar17 + 2;
                  uVar9 = (uVar12 >> 0x10) + 0x3c000000;
                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |
                             (uVar12 >> 0x10) << 0x18;
                  uVar9 = (uVar12 & 0xffff) + 0x60000000;
                  puVar17[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |
                               (uVar12 & 0xffff) << 0x18;
                }
              }
              puVar17 = puVar14 + 1;
              uVar12 = uVar12 + 1;
              uVar9 = 8U - ((int)puVar14 - (int)puVar19) & 0x3fffffc;
              uVar10 = uVar9 + 0x48000000;
              *puVar14 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |
                         uVar9 << 0x18;
              if ((uint *)((ulong)this->end_branch_table_ + (long)puVar19) <= puVar17) break;
              uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;
            }
          }
          if (((ulong)this_00->got_ & 1) == 0) goto LAB_0017e2fb;
          local_88 = *(pointer *)&this_00->field_0x8;
          uVar9 = this->end_branch_table_;
        }
        pGVar3 = gold::parameters->options_;
        if (pGVar3 == (General_options *)0x0) {
LAB_0017e2f6:
                    /* WARNING: Subroutine does not return */
          param_plt_align<64>();
        }
        if ((pGVar3->plt_align_).user_set_via_option == false) {
          uVar12 = 0xffffffe0;
          iVar8 = 0x20;
        }
        else {
          iVar8 = 1 << ((byte)(pGVar3->plt_align_).value & 0x1f);
          uVar12 = -iVar8;
        }
        uVar11 = (ulong)((uVar9 - 1) + iVar8 & uVar12);
        if ((this->field_0x20 & 1) != 0) {
          lVar2 = *(long *)&this->field_0x8;
          p_Var18 = (this->global_entry_stubs_)._M_h._M_before_begin._M_nxt;
          if (p_Var18 == (_Hash_node_base *)0x0) {
            return;
          }
          p_Var20 = p_Var18[1]._M_nxt;
          uVar9 = *(uint *)&p_Var18[2]._M_nxt;
          uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);
          if (uVar12 != 0xffffffff) {
            local_70 = (pointer)0xffffffffffffffff;
            do {
              puVar17 = (uint *)(uVar9 + uVar11 + (long)puVar19);
              ppVVar5 = local_88;
              if (((ulong)p_Var20[7]._M_nxt & 0xf) == 10) {
                if (((ulong)p_Var20[7]._M_nxt & 0x70000) == 0) {
                  if (((ulong)p_Var20[2]._M_nxt[7]._M_nxt & 0x100000000) == 0) {
                    if (*(int *)&p_Var20[3]._M_nxt != 0) goto LAB_0017dff5;
                    if (((ulong)p_Var20[7]._M_nxt & 0x20000000) == 0) {
                      bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);
                      goto joined_r0x0017e066;
                    }
                  }
                }
                else if (((ulong)p_Var20[7]._M_nxt & 0x70000) != 0x40000) {
LAB_0017dff5:
                  bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);
joined_r0x0017e066:
                  if (((bVar1 & 3) == 0) && (((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0)) {
                    pGVar3 = gold::parameters->options_;
                    if (pGVar3 == (General_options *)0x0) {
LAB_0017e365:
                    /* WARNING: Subroutine does not return */
                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
                    }
                    if ((pGVar3->shared_).value != false) {
                      this_00 = (Target_powerpc<64,_true> *)
                                &(pGVar3->dynamic_list_).version_script_info_;
                      bVar7 = gold::Version_script_info::get_symbol_version
                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,
                                         (string *)0x0,&is_global);
                      if ((!bVar7) || (is_global != false)) {
                        pGVar3 = gold::parameters->options_;
                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;
                        if (((pGVar3->Bsymbolic_).value != false) ||
                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&
                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;
                      }
                      goto LAB_0017def5;
                    }
                  }
LAB_0017e024:
                  ppVVar5 = local_70;
                  if (local_70 == (pointer)0xffffffffffffffff) {
                    pOVar4 = this->targ_->iplt_;
                    if (pOVar4 == (Output_data_plt_powerpc<64,_true> *)0x0) {
                      Target_powerpc<64,_true>::iplt_section(this_00);
                      goto LAB_0017e2f6;
                    }
                    if (((pOVar4->super_Output_section_data_build).super_Output_section_data.
                         super_Output_data.field_0x20 & 1) == 0) goto LAB_0017e2fb;
                    ppVVar5 = (pointer)(pOVar4->super_Output_section_data_build).
                                       super_Output_section_data.super_Output_data.address_;
                    local_70 = ppVVar5;
                  }
                }
              }
LAB_0017def5:
              uVar16 = (long)ppVVar5 +
                       ((ulong)uVar12 - ((ulong)*(uint *)&p_Var18[2]._M_nxt + lVar2 + uVar11));
              if ((0xffffffff < uVar16 + 0x80008000) || ((uVar16 & 3) != 0)) {
                gold::Symbol::demangled_name((string *)local_58,(Symbol *)p_Var18[1]._M_nxt);
                uVar6 = local_58._0_8_;
                if (((ulong)p_Var18[1]._M_nxt[7]._M_nxt & 0x70000) != 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */
                  gold::do_gold_unreachable("../../gold/symtab.h",0xa1,"object");
                }
                p_Var20 = p_Var18[1]._M_nxt[2]._M_nxt[1]._M_nxt;
                format = (char *)gettext("%s: linkage table error against `%s\'");
                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */
                gold::gold_error(format,p_Var20,uVar6);
                this_00 = (Target_powerpc<64,_true> *)local_58._0_8_;
                if ((Target_powerpc<64,_true> *)local_58._0_8_ !=
                    (Target_powerpc<64,_true> *)(local_58 + 0x10)) {
                  operator_delete((void *)local_58._0_8_);
                }
              }
              uVar10 = (uint)uVar16 & 0xffff;
              uVar9 = (uint)uVar16 + 0x8000 >> 0x10;
              uVar15 = uVar10 + 0xe98c0000;
              uVar12 = uVar9 + 0x3d8c0000;
              puVar17[1] = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |
                           uVar10 << 0x18;
              *puVar17 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |
                         uVar9 << 0x18;
              puVar17[2] = 0xa603897d;
              puVar17[3] = 0x2004804e;
              p_Var18 = p_Var18->_M_nxt;
              if (p_Var18 == (_Hash_node_base *)0x0) {
                return;
              }
              p_Var20 = p_Var18[1]._M_nxt;
              uVar9 = *(uint *)&p_Var18[2]._M_nxt;
              uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);
            } while (uVar12 != 0xffffffff);
          }
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");
        }
LAB_0017e2fb:
                    /* WARNING: Subroutine does not return */
        gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");
      }
      Target_powerpc<64,_true>::plt_section((Target_powerpc<64,_true> *)0x0);
      in_RDX = extraout_RDX;
    }
    gold::Output_file::get_output_view((Output_file *)this_00,(off_t)of,in_RDX,this_1);
  }
                    /* WARNING: Subroutine does not return */
  gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");
}



void FUN_0017ddd0(long param_1,long param_2)

{
  byte bVar1;
  int iVar2;
  long lVar3;
  long lVar4;
  undefined8 uVar5;
  long lVar6;
  undefined1 *puVar7;
  char cVar8;
  int iVar9;
  uint uVar10;
  uint uVar11;
  undefined8 uVar12;
  ulong uVar13;
  uint uVar14;
  ulong *puVar15;
  uint *puVar16;
  uint uVar17;
  ulong uVar18;
  uint *puVar19;
  long *plVar20;
  ulong *puVar21;
  undefined8 *puVar22;
  long local_88;
  long local_70;
  char local_59;
  undefined1 *local_58 [2];
  undefined1 local_48 [24];
  
  bVar1 = *(byte *)(param_1 + 0x20);
  if ((bVar1 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_001e9890("../../gold/output.h",0xe3,"offset");
  }
  lVar3 = *(long *)(param_1 + 0x18);
  if ((bVar1 & 2) != 0) {
    if ((-1 < lVar3) && (*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10))) {
      puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18));
      lVar3 = *(long *)(param_1 + 0x38);
      lVar4 = *(long *)(lVar3 + 0x28);
      if (lVar4 != 0) {
        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;
        local_88 = *(long *)(lVar4 + 8);
        iVar2 = *(int *)(param_1 + 0x78);
        if (iVar2 != 0) {
          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;
          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;
          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |
                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |
                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |
                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;
          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {
            puVar15 = puVar21 + 6;
            puVar21[1] = 0x5009f42a602887d;
            puVar21[2] = 0xf0ff4be8a602687d;
            puVar21[3] = 0x145a627da603887d;
            puVar21[4] = 0x8004be800008be9;
            puVar21[5] = 0x10006be9a603897d;
          }
          else {
            *(undefined4 *)(puVar21 + 7) = 0x8006be9;
            puVar15 = (ulong *)((long)puVar21 + 0x3c);
            puVar21[1] = 0x5009f42a602087c;
            puVar21[2] = 0x180041f8a602687d;
            puVar21[3] = 0xa603087cf0ff4be8;
            puVar21[4] = 0x145a627d50608b7d;
            puVar21[5] = 0x8be9d0ff0c38;
            puVar21[6] = 0xa603897d82f00078;
          }
          *(undefined4 *)puVar15 = 0x2004804e;
          uVar14 = *(uint *)(lVar3 + 0x10);
          puVar19 = (uint *)((long)puVar15 + 4);
          if (puVar19 !=
              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {
                    /* WARNING: Subroutine does not return */
            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");
          }
          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {
            uVar10 = 0;
            while( true ) {
              puVar16 = puVar19;
              if ((uVar14 & 2) == 0) {
                if (uVar10 < 0x8000) {
                  uVar14 = uVar10 + 0x38000000;
                  puVar16 = puVar19 + 1;
                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |
                             uVar10 << 0x18;
                }
                else {
                  puVar16 = puVar19 + 2;
                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;
                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |
                             (uVar10 >> 0x10) << 0x18;
                  uVar14 = (uVar10 & 0xffff) + 0x60000000;
                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |
                               (uVar10 & 0xffff) << 0x18;
                }
              }
              puVar19 = puVar16 + 1;
              uVar10 = uVar10 + 1;
              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;
              uVar11 = uVar14 + 0x48000000;
              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                         uVar14 << 0x18;
              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;
              uVar14 = *(uint *)(lVar3 + 0x10);
            }
          }
          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;
          local_88 = *(long *)(lVar4 + 8);
          iVar2 = *(int *)(param_1 + 0x78);
        }
        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);
        if (lVar3 == 0) {
LAB_0017e2f6:
                    /* WARNING: Subroutine does not return */
          FUN_0016da40();
        }
        if (*(char *)(lVar3 + 0x45e8) == '\0') {
          uVar14 = 0xffffffe0;
          iVar9 = 0x20;
        }
        else {
          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);
          uVar14 = -iVar9;
        }
        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);
        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {
          lVar3 = *(long *)(param_1 + 8);
          plVar20 = *(long **)(param_1 + 0x50);
          if (plVar20 == (long *)0x0) {
            return;
          }
          puVar22 = (undefined8 *)plVar20[1];
          uVar14 = *(uint *)(plVar20 + 2);
          uVar10 = *(uint *)((long)puVar22 + 0x24);
          if (uVar10 != 0xffffffff) {
            local_70 = -1;
            do {
              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);
              lVar4 = local_88;
              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {
                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {
                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {
                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;
                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {
                      bVar1 = *(byte *)((long)puVar22 + 0x39);
                      goto joined_r0x0017e066;
                    }
                  }
                }
                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {
LAB_0017dff5:
                  bVar1 = *(byte *)((long)puVar22 + 0x39);
joined_r0x0017e066:
                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {
                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);
                    if (lVar6 == 0) {
LAB_0017e365:
                    /* WARNING: Subroutine does not return */
                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");
                    }
                    if (*(char *)(lVar6 + 0x2a61) != '\0') {
                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);
                      if ((cVar8 == '\0') || (local_59 != '\0')) {
                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);
                        if (lVar6 == 0) goto LAB_0017e365;
                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||
                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&
                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;
                      }
                      goto LAB_0017def5;
                    }
                  }
LAB_0017e024:
                  lVar4 = local_70;
                  if (local_70 == -1) {
                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);
                    if (lVar4 == 0) {
                      FUN_0016d920();
                      goto LAB_0017e2f6;
                    }
                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;
                    lVar4 = *(long *)(lVar4 + 8);
                    local_70 = lVar4;
                  }
                }
              }
LAB_0017def5:
              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);
              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {
                FUN_002de920(local_58,plVar20[1]);
                puVar7 = local_58[0];
                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */
                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");
                }
                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);
                uVar12 = gettext("%s: linkage table error against `%s\'");
                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */
                FUN_001e14f0(uVar12,uVar5,puVar7);
                if (local_58[0] != local_48) {
                  FUN_00338a40();
                }
              }
              uVar11 = (uint)uVar18 & 0xffff;
              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;
              uVar17 = uVar11 + 0xe98c0000;
              uVar10 = uVar14 + 0x3d8c0000;
              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |
                           uVar11 << 0x18;
              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |
                         uVar14 << 0x18;
              puVar19[2] = 0xa603897d;
              puVar19[3] = 0x2004804e;
              plVar20 = (long *)*plVar20;
              if (plVar20 == (long *)0x0) {
                return;
              }
              puVar22 = (undefined8 *)plVar20[1];
              uVar14 = *(uint *)(plVar20 + 2);
              uVar10 = *(uint *)((long)puVar22 + 0x24);
            } while (uVar10 != 0xffffffff);
          }
                    /* WARNING: Subroutine does not return */
          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");
        }
LAB_0017e2fb:
                    /* WARNING: Subroutine does not return */
        FUN_001e9890("../../gold/output.h",0xc5,"address");
      }
      FUN_0016d940();
    }
    FUN_0016e170();
  }
                    /* WARNING: Subroutine does not return */
  FUN_001e9890("../../gold/output.h",0xcf,"data_size");
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x78
MOVZX ECX,byte ptr [RDI + 0x20]
TEST CL,0x4
JZ 0x0017e335
MOV R15,RDI
MOV R13,qword ptr [RDI + 0x18]
TEST CL,0x2
JZ 0x0017e31d
MOV RAX,qword ptr [RDI + 0x10]
TEST R13,R13
JS 0x0017e318
ADD RAX,R13
CMP qword ptr [RSI + 0x10],RAX
JL 0x0017e318
ADD R13,qword ptr [RSI + 0x18]
MOV RSI,qword ptr [RDI + 0x38]
MOV RDI,qword ptr [RSI + 0x28]
TEST RDI,RDI
JZ 0x0017e313
TEST byte ptr [RDI + 0x20],0x1
JZ 0x0017e2fb
MOV RAX,qword ptr [RDI + 0x8]
MOV EDX,dword ptr [R15 + 0x78]
MOV qword ptr [RSP + 0x20],RAX
TEST EDX,EDX
JNZ 0x0017e070
MOV RAX,qword ptr [0x004ba7c8]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x0017e2f6
CMP byte ptr [RAX + 0x45e8],0x0
JZ 0x0017e249
MOV ECX,dword ptr [RAX + 0x45ec]
MOV EAX,0x1
SHL EAX,CL
MOV ECX,EAX
NEG ECX
LEA EAX,[RDX + RAX*0x1 + -0x1]
AND EAX,ECX
TEST byte ptr [R15 + 0x20],0x1
JZ 0x0017e2fb
MOV RCX,qword ptr [R15 + 0x8]
MOV R12,qword ptr [R15 + 0x50]
MOV qword ptr [RSP + 0x18],RAX
ADD RCX,RAX
MOV qword ptr [RSP + 0x10],RCX
TEST R12,R12
JZ 0x0017e1d5
MOV R14,qword ptr [R12 + 0x8]
MOV EBP,dword ptr [R12 + 0x10]
MOV EBX,dword ptr [R14 + 0x24]
ADD RBP,RAX
ADD RBP,R13
CMP EBX,-0x1
JZ 0x0017e2c1
MOV qword ptr [RSP + 0x38],-0x1
LEA RAX,[RSP + 0x50]
MOV qword ptr [RSP + 0x28],RAX
LEA RAX,[RSP + 0x60]
MOV qword ptr [RSP + 0x30],RAX
JMP 0x0017dfd3
ADD RBX,qword ptr [RSP + 0x20]
MOV EAX,dword ptr [R12 + 0x10]
ADD RAX,qword ptr [RSP + 0x10]
MOV ESI,0xffffffff
SUB RBX,RAX
MOV EAX,0x80008000
ADD RAX,RBX
CMP RAX,RSI
JA 0x0017df19
TEST BL,0x3
JZ 0x0017df78
MOV RSI,qword ptr [R12 + 0x8]
MOV RDI,qword ptr [RSP + 0x28]
CALL 0x002de920
MOV RAX,qword ptr [R12 + 0x8]
MOV RDX,qword ptr [RSP + 0x50]
TEST byte ptr [RAX + 0x3a],0x7
JNZ 0x0017e2d9
MOV RAX,qword ptr [RAX + 0x10]
LEA RDI,[0x3dec68]
MOV qword ptr [RSP + 0x8],RDX
MOV R14,qword ptr [RAX + 0x8]
CALL 0x00150320
MOV RDX,qword ptr [RSP + 0x8]
MOV RDI,RAX
MOV RSI,R14
XOR EAX,EAX
CALL 0x001e14f0
MOV RDI,qword ptr [RSP + 0x50]
CMP RDI,qword ptr [RSP + 0x30]
JZ 0x0017df78
CALL 0x00338a40
LEA EAX,[RBX + 0x8000]
MOVZX EBX,BX
SHR EAX,0x10
SUB EBX,0x16740000
ADD EAX,0x3d8c0000
BSWAP EBX
MOV dword ptr [RBP + 0x4],EBX
BSWAP EAX
MOV dword ptr [RBP],EAX
MOV RAX,0x2004804ea603897d
MOV qword ptr [RBP + 0x8],RAX
MOV R12,qword ptr [R12]
TEST R12,R12
JZ 0x0017e1d5
MOV R14,qword ptr [R12 + 0x8]
MOV EBP,dword ptr [R12 + 0x10]
ADD RBP,qword ptr [RSP + 0x18]
MOV EBX,dword ptr [R14 + 0x24]
ADD RBP,R13
CMP EBX,-0x1
JZ 0x0017e2c1
MOVZX EAX,byte ptr [R14 + 0x38]
AND EAX,0xf
CMP AL,0xa
JNZ 0x0017def0
MOVZX EAX,byte ptr [R14 + 0x3a]
AND EAX,0x7
JZ 0x0017e040
CMP AL,0x4
JZ 0x0017def0
TEST byte ptr [R14 + 0x39],0x3
JNZ 0x0017e024
TEST byte ptr [R14 + 0x3b],0x10
JNZ 0x0017e024
MOV RAX,qword ptr [0x004ba7c8]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x0017e365
CMP byte ptr [RAX + 0x2a61],0x0
JNZ 0x0017e258
CMP qword ptr [RSP + 0x38],-0x1
JZ 0x0017e1ac
ADD RBX,qword ptr [RSP + 0x38]
JMP 0x0017def5
MOV RAX,qword ptr [R14 + 0x10]
TEST byte ptr [RAX + 0x3c],0x1
JNZ 0x0017def0
MOV EAX,dword ptr [R14 + 0x18]
TEST EAX,EAX
JNZ 0x0017dff5
TEST byte ptr [R14 + 0x3b],0x20
JNZ 0x0017def0
TEST byte ptr [R14 + 0x39],0x3
JZ 0x0017dffc
JMP 0x0017e024
AND ECX,0x1
JZ 0x0017e2fb
SUB RAX,qword ptr [R15 + 0x8]
SUB RAX,0x10
BSWAP RAX
MOV qword ptr [R13],RAX
TEST byte ptr [RSI + 0x10],0x2
JNZ 0x0017e1e4
MOV RAX,0x5009f42a602887d
LEA RDX,[R13 + 0x30]
MOV qword ptr [R13 + 0x8],RAX
MOV RAX,-0xf00b41759fd9783
MOV qword ptr [R13 + 0x10],RAX
MOV RAX,0x145a627da603887d
MOV qword ptr [R13 + 0x18],RAX
MOV RAX,0x8004be800008be9
MOV qword ptr [R13 + 0x20],RAX
MOV RAX,0x10006be9a603897d
MOV qword ptr [R13 + 0x28],RAX
MOV dword ptr [RDX],0x2004804e
MOV EAX,dword ptr [RSI + 0x10]
ADD RDX,0x4
MOV ECX,EAX
AND ECX,0x2
CMP ECX,0x1
SBB RCX,RCX
AND RCX,-0xc
LEA RCX,[R13 + RCX*0x1 + 0x40]
CMP RDX,RCX
JNZ 0x0017e34d
MOV ECX,dword ptr [R15 + 0x78]
ADD RCX,R13
CMP RDX,RCX
JNC 0x0017e190
XOR ECX,ECX
MOV R8D,0x8
JMP 0x0017e161
LEA EAX,[RCX + 0x38000000]
ADD RDX,0x4
BSWAP EAX
MOV dword ptr [RDX + -0x4],EAX
MOV RAX,RDX
MOV EBX,R8D
ADD RDX,0x4
ADD ECX,0x1
SUB RAX,R13
SUB EBX,EAX
MOV EAX,EBX
AND EAX,0x3fffffc
ADD EAX,0x48000000
BSWAP EAX
MOV dword ptr [RDX + -0x4],EAX
MOV EAX,dword ptr [R15 + 0x78]
ADD RAX,R13
CMP RDX,RAX
JNC 0x0017e190
MOV EAX,dword ptr [RSI + 0x10]
TEST AL,0x2
JNZ 0x0017e12f
CMP ECX,0x7fff
JBE 0x0017e120
MOV EAX,ECX
ADD RDX,0x8
SHR EAX,0x10
ADD EAX,0x3c000000
BSWAP EAX
MOV dword ptr [RDX + -0x8],EAX
MOVZX EAX,CX
ADD EAX,0x60000000
BSWAP EAX
MOV dword ptr [RDX + -0x4],EAX
JMP 0x0017e12f
TEST byte ptr [RDI + 0x20],0x1
JZ 0x0017e2fb
MOV RAX,qword ptr [RDI + 0x8]
MOV EDX,dword ptr [R15 + 0x78]
MOV qword ptr [RSP + 0x20],RAX
JMP 0x0017de49
MOV RAX,qword ptr [R15 + 0x38]
MOV RAX,qword ptr [RAX + 0x30]
TEST RAX,RAX
JZ 0x0017e2f1
TEST byte ptr [RAX + 0x20],0x1
JZ 0x0017e2fb
MOV RAX,qword ptr [RAX + 0x8]
MOV qword ptr [RSP + 0x38],RAX
JMP 0x0017e030
ADD RSP,0x78
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV RAX,0x5009f42a602087c
MOV dword ptr [R13 + 0x38],0x8006be9
LEA RDX,[R13 + 0x3c]
MOV qword ptr [R13 + 0x8],RAX
MOV RAX,0x180041f8a602687d
MOV qword ptr [R13 + 0x10],RAX
MOV RAX,-0x59fcf7830f00b418
MOV qword ptr [R13 + 0x18],RAX
MOV RAX,0x145a627d50608b7d
MOV qword ptr [R13 + 0x20],RAX
MOV RAX,0x8be9d0ff0c38
MOV qword ptr [R13 + 0x28],RAX
MOV RAX,-0x59fc76827d0fff88
MOV qword ptr [R13 + 0x30],RAX
JMP 0x0017e0dc
MOV ECX,0xffffffe0
MOV EAX,0x20
JMP 0x0017de7b
MOV RSI,qword ptr [R14]
XOR EDX,EDX
LEA RCX,[RSP + 0x4f]
LEA RDI,[RAX + 0x9120]
CALL 0x002d49c0
TEST AL,AL
JZ 0x0017e27d
CMP byte ptr [RSP + 0x4f],0x0
JZ 0x0017def0
MOV RAX,qword ptr [0x004ba7c8]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x0017e365
CMP byte ptr [RAX + 0xd21],0x0
JNZ 0x0017e024
MOVZX EDX,byte ptr [R14 + 0x38]
AND EDX,0xf
CMP DL,0x1
JZ 0x0017def0
CMP byte ptr [RAX + 0xde9],0x0
JZ 0x0017def0
JMP 0x0017e024
LEA RDX,[0x3dd5d0]
MOV ESI,0x1ce
LEA RDI,[0x3de4db]
CALL 0x001e9890
LEA RDX,[0x3dd5c3]
MOV ESI,0xa1
LEA RDI,[0x3de4db]
CALL 0x001e9890
CALL 0x0016d920
CALL 0x0016da40
LEA RDX,[0x3dd838]
MOV ESI,0xc5
LEA RDI,[0x3de409]
CALL 0x001e9890
CALL 0x0016d940
CALL 0x0016e170
LEA RDX,[0x3dd960]
MOV ESI,0xcf
LEA RDI,[0x3de409]
CALL 0x001e9890
LEA RDX,[0x3dd2f0]
MOV ESI,0xe3
LEA RDI,[0x3de409]
CALL 0x001e9890
LEA RDX,[0x3dc960]
MOV ESI,0x16c2
LEA RDI,[0x3de431]
CALL 0x001e9890
LEA RDX,[0x3dd908]
MOV ESI,0x5c
LEA RDI,[0x3c9279]
CALL 0x001e9890
(translation_unit "void FUN_0017ddd0(long param_1,long param_2)\n\n{\n  byte bVar1;\n  int iVar2;\n  long lVar3;\n  long lVar4;\n  undefined8 uVar5;\n  long lVar6;\n  undefined1 *puVar7;\n  char cVar8;\n  int iVar9;\n  uint uVar10;\n  uint uVar11;\n  undefined8 uVar12;\n  ulong uVar13;\n  uint uVar14;\n  ulong *puVar15;\n  uint *puVar16;\n  uint uVar17;\n  ulong uVar18;\n  uint *puVar19;\n  long *plVar20;\n  ulong *puVar21;\n  undefined8 *puVar22;\n  long local_88;\n  long local_70;\n  char local_59;\n  undefined1 *local_58 [2];\n  undefined1 local_48 [24];\n  \n  bVar1 = *(byte *)(param_1 + 0x20);\n  if ((bVar1 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_001e9890("../../gold/output.h",0xe3,"offset");\n  }\n  lVar3 = *(long *)(param_1 + 0x18);\n  if ((bVar1 & 2) != 0) {\n    if ((-1 < lVar3) && (*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10))) {\n      puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18));\n      lVar3 = *(long *)(param_1 + 0x38);\n      lVar4 = *(long *)(lVar3 + 0x28);\n      if (lVar4 != 0) {\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    /* WARNING: Subroutine does not return */\n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    /* WARNING: Subroutine does not return */\n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }\n      FUN_0016d940();\n    }\n    FUN_0016e170();\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_001e9890("../../gold/output.h",0xcf,"data_size");\n}\n\n" (function_definition "void FUN_0017ddd0(long param_1,long param_2)\n\n{\n  byte bVar1;\n  int iVar2;\n  long lVar3;\n  long lVar4;\n  undefined8 uVar5;\n  long lVar6;\n  undefined1 *puVar7;\n  char cVar8;\n  int iVar9;\n  uint uVar10;\n  uint uVar11;\n  undefined8 uVar12;\n  ulong uVar13;\n  uint uVar14;\n  ulong *puVar15;\n  uint *puVar16;\n  uint uVar17;\n  ulong uVar18;\n  uint *puVar19;\n  long *plVar20;\n  ulong *puVar21;\n  undefined8 *puVar22;\n  long local_88;\n  long local_70;\n  char local_59;\n  undefined1 *local_58 [2];\n  undefined1 local_48 [24];\n  \n  bVar1 = *(byte *)(param_1 + 0x20);\n  if ((bVar1 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_001e9890("../../gold/output.h",0xe3,"offset");\n  }\n  lVar3 = *(long *)(param_1 + 0x18);\n  if ((bVar1 & 2) != 0) {\n    if ((-1 < lVar3) && (*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10))) {\n      puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18));\n      lVar3 = *(long *)(param_1 + 0x38);\n      lVar4 = *(long *)(lVar3 + 0x28);\n      if (lVar4 != 0) {\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    /* WARNING: Subroutine does not return */\n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    /* WARNING: Subroutine does not return */\n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }\n      FUN_0016d940();\n    }\n    FUN_0016e170();\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_001e9890("../../gold/output.h",0xcf,"data_size");\n}" primitive_type (function_declarator "FUN_0017ddd0(long param_1,long param_2)" identifier (parameter_list "(long param_1,long param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  long lVar3;\n  long lVar4;\n  undefined8 uVar5;\n  long lVar6;\n  undefined1 *puVar7;\n  char cVar8;\n  int iVar9;\n  uint uVar10;\n  uint uVar11;\n  undefined8 uVar12;\n  ulong uVar13;\n  uint uVar14;\n  ulong *puVar15;\n  uint *puVar16;\n  uint uVar17;\n  ulong uVar18;\n  uint *puVar19;\n  long *plVar20;\n  ulong *puVar21;\n  undefined8 *puVar22;\n  long local_88;\n  long local_70;\n  char local_59;\n  undefined1 *local_58 [2];\n  undefined1 local_48 [24];\n  \n  bVar1 = *(byte *)(param_1 + 0x20);\n  if ((bVar1 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_001e9890("../../gold/output.h",0xe3,"offset");\n  }\n  lVar3 = *(long *)(param_1 + 0x18);\n  if ((bVar1 & 2) != 0) {\n    if ((-1 < lVar3) && (*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10))) {\n      puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18));\n      lVar3 = *(long *)(param_1 + 0x38);\n      lVar4 = *(long *)(lVar3 + 0x28);\n      if (lVar4 != 0) {\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    /* WARNING: Subroutine does not return */\n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    /* WARNING: Subroutine does not return */\n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }\n      FUN_0016d940();\n    }\n    FUN_0016e170();\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_001e9890("../../gold/output.h",0xcf,"data_size");\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "char cVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "undefined8 uVar12;" type_identifier identifier ;) (declaration "ulong uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "ulong *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "uint *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "ulong uVar18;" type_identifier identifier ;) (declaration "uint *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "long *plVar20;" (sized_type_specifier "long" long) (pointer_declarator "*plVar20" * identifier) ;) (declaration "ulong *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined8 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "long local_88;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_70;" (sized_type_specifier "long" long) identifier ;) (declaration "char local_59;" primitive_type identifier ;) (declaration "undefined1 *local_58 [2];" type_identifier (pointer_declarator "*local_58 [2]" * (array_declarator "local_58 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_48 [24];" type_identifier (array_declarator "local_48 [24]" identifier [ number_literal ]) ;) (expression_statement "bVar1 = *(byte *)(param_1 + 0x20);" (assignment_expression "bVar1 = *(byte *)(param_1 + 0x20)" identifier = (pointer_expression "*(byte *)(param_1 + 0x20)" * (cast_expression "(byte *)(param_1 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if ((bVar1 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_001e9890("../../gold/output.h",0xe3,"offset");\n  }" if (parenthesized_expression "((bVar1 & 4) == 0)" ( (binary_expression "(bVar1 & 4) == 0" (parenthesized_expression "(bVar1 & 4)" ( (binary_expression "bVar1 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_001e9890("../../gold/output.h",0xe3,"offset");\n  }" { comment (expression_statement "FUN_001e9890("../../gold/output.h",0xe3,"offset");" (call_expression "FUN_001e9890("../../gold/output.h",0xe3,"offset")" identifier (argument_list "("../../gold/output.h",0xe3,"offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") ))) ;) })) (expression_statement "lVar3 = *(long *)(param_1 + 0x18);" (assignment_expression "lVar3 = *(long *)(param_1 + 0x18)" identifier = (pointer_expression "*(long *)(param_1 + 0x18)" * (cast_expression "(long *)(param_1 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if ((bVar1 & 2) != 0) {\n    if ((-1 < lVar3) && (*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10))) {\n      puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18));\n      lVar3 = *(long *)(param_1 + 0x38);\n      lVar4 = *(long *)(lVar3 + 0x28);\n      if (lVar4 != 0) {\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    /* WARNING: Subroutine does not return */\n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    /* WARNING: Subroutine does not return */\n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }\n      FUN_0016d940();\n    }\n    FUN_0016e170();\n  }" if (parenthesized_expression "((bVar1 & 2) != 0)" ( (binary_expression "(bVar1 & 2) != 0" (parenthesized_expression "(bVar1 & 2)" ( (binary_expression "bVar1 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    if ((-1 < lVar3) && (*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10))) {\n      puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18));\n      lVar3 = *(long *)(param_1 + 0x38);\n      lVar4 = *(long *)(lVar3 + 0x28);\n      if (lVar4 != 0) {\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    /* WARNING: Subroutine does not return */\n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    /* WARNING: Subroutine does not return */\n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }\n      FUN_0016d940();\n    }\n    FUN_0016e170();\n  }" { (if_statement "if ((-1 < lVar3) && (*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10))) {\n      puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18));\n      lVar3 = *(long *)(param_1 + 0x38);\n      lVar4 = *(long *)(lVar3 + 0x28);\n      if (lVar4 != 0) {\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    /* WARNING: Subroutine does not return */\n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    /* WARNING: Subroutine does not return */\n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }\n      FUN_0016d940();\n    }" if (parenthesized_expression "((-1 < lVar3) && (*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10)))" ( (binary_expression "(-1 < lVar3) && (*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10))" (parenthesized_expression "(-1 < lVar3)" ( (binary_expression "-1 < lVar3" number_literal < identifier) )) && (parenthesized_expression "(*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10))" ( (binary_expression "*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10)" (binary_expression "*(long *)(param_1 + 0x10) + lVar3" (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) + identifier) <= (pointer_expression "*(long *)(param_2 + 0x10)" * (cast_expression "(long *)(param_2 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) ))))) ))) )) (compound_statement "{\n      puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18));\n      lVar3 = *(long *)(param_1 + 0x38);\n      lVar4 = *(long *)(lVar3 + 0x28);\n      if (lVar4 != 0) {\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    /* WARNING: Subroutine does not return */\n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    /* WARNING: Subroutine does not return */\n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }\n      FUN_0016d940();\n    }" { (expression_statement "puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18));" (assignment_expression "puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18))" identifier = (cast_expression "(ulong *)(lVar3 + *(long *)(param_2 + 0x18))" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + *(long *)(param_2 + 0x18))" ( (binary_expression "lVar3 + *(long *)(param_2 + 0x18)" identifier + (pointer_expression "*(long *)(param_2 + 0x18)" * (cast_expression "(long *)(param_2 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) )))) ;) (expression_statement "lVar3 = *(long *)(param_1 + 0x38);" (assignment_expression "lVar3 = *(long *)(param_1 + 0x38)" identifier = (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "lVar4 = *(long *)(lVar3 + 0x28);" (assignment_expression "lVar4 = *(long *)(lVar3 + 0x28)" identifier = (pointer_expression "*(long *)(lVar3 + 0x28)" * (cast_expression "(long *)(lVar3 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x28)" ( (binary_expression "lVar3 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (lVar4 != 0) {\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    /* WARNING: Subroutine does not return */\n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    /* WARNING: Subroutine does not return */\n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }" if (parenthesized_expression "(lVar4 != 0)" ( (binary_expression "lVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    /* WARNING: Subroutine does not return */\n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    /* WARNING: Subroutine does not return */\n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }" { (if_statement "if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;" if (parenthesized_expression "((*(byte *)(lVar4 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar4 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar4 + 0x20) & 1" (pointer_expression "*(byte *)(lVar4 + 0x20)" * (cast_expression "(byte *)(lVar4 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x20)" ( (binary_expression "lVar4 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0017e2fb;" goto statement_identifier ;)) (expression_statement "local_88 = *(long *)(lVar4 + 8);" (assignment_expression "local_88 = *(long *)(lVar4 + 8)" identifier = (pointer_expression "*(long *)(lVar4 + 8)" * (cast_expression "(long *)(lVar4 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 8)" ( (binary_expression "lVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(param_1 + 0x78);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x78)" identifier = (pointer_expression "*(int *)(param_1 + 0x78)" * (cast_expression "(int *)(param_1 + 0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x78)" ( (binary_expression "param_1 + 0x78" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }" { (if_statement "if ((bVar1 & 1) == 0) goto LAB_0017e2fb;" if (parenthesized_expression "((bVar1 & 1) == 0)" ( (binary_expression "(bVar1 & 1) == 0" (parenthesized_expression "(bVar1 & 1)" ( (binary_expression "bVar1 & 1" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0017e2fb;" goto statement_identifier ;)) (expression_statement "uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;" (assignment_expression "uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10" identifier = (binary_expression "(local_88 - *(long *)(param_1 + 8)) - 0x10" (parenthesized_expression "(local_88 - *(long *)(param_1 + 8))" ( (binary_expression "local_88 - *(long *)(param_1 + 8)" identifier - (pointer_expression "*(long *)(param_1 + 8)" * (cast_expression "(long *)(param_1 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) )) - number_literal)) ;) (expression_statement "*puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;" (assignment_expression "*puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38" (pointer_expression "*puVar21" * identifier) = (binary_expression "uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38" (binary_expression "uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28" (binary_expression "uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18" (binary_expression "uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8" (binary_expression "uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8" (binary_expression "uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18" (binary_expression "uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28" (binary_expression "uVar13 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar13 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar13 & 0xff000000000000)" ( (binary_expression "uVar13 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar13 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar13 & 0xff0000000000)" ( (binary_expression "uVar13 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar13 & 0xff00000000) >> 8" (parenthesized_expression "(uVar13 & 0xff00000000)" ( (binary_expression "uVar13 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar13 & 0xff000000) << 8" (parenthesized_expression "(uVar13 & 0xff000000)" ( (binary_expression "uVar13 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar13 & 0xff0000) << 0x18" (parenthesized_expression "(uVar13 & 0xff0000)" ( (binary_expression "uVar13 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar13 & 0xff00) << 0x28" (parenthesized_expression "(uVar13 & 0xff00)" ( (binary_expression "uVar13 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar13 << 0x38" identifier << number_literal))) ;) (if_statement "if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }" if (parenthesized_expression "((*(byte *)(lVar3 + 0x10) & 2) == 0)" ( (binary_expression "(*(byte *)(lVar3 + 0x10) & 2) == 0" (parenthesized_expression "(*(byte *)(lVar3 + 0x10) & 2)" ( (binary_expression "*(byte *)(lVar3 + 0x10) & 2" (pointer_expression "*(byte *)(lVar3 + 0x10)" * (cast_expression "(byte *)(lVar3 + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x10)" ( (binary_expression "lVar3 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }" { (expression_statement "puVar15 = puVar21 + 6;" (assignment_expression "puVar15 = puVar21 + 6" identifier = (binary_expression "puVar21 + 6" identifier + number_literal)) ;) (expression_statement "puVar21[1] = 0x5009f42a602887d;" (assignment_expression "puVar21[1] = 0x5009f42a602887d" (subscript_expression "puVar21[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar21[2] = 0xf0ff4be8a602687d;" (assignment_expression "puVar21[2] = 0xf0ff4be8a602687d" (subscript_expression "puVar21[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar21[3] = 0x145a627da603887d;" (assignment_expression "puVar21[3] = 0x145a627da603887d" (subscript_expression "puVar21[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar21[4] = 0x8004be800008be9;" (assignment_expression "puVar21[4] = 0x8004be800008be9" (subscript_expression "puVar21[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar21[5] = 0x10006be9a603897d;" (assignment_expression "puVar21[5] = 0x10006be9a603897d" (subscript_expression "puVar21[5]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }" else (compound_statement "{\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }" { (expression_statement "*(undefined4 *)(puVar21 + 7) = 0x8006be9;" (assignment_expression "*(undefined4 *)(puVar21 + 7) = 0x8006be9" (pointer_expression "*(undefined4 *)(puVar21 + 7)" * (cast_expression "(undefined4 *)(puVar21 + 7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 7)" ( (binary_expression "puVar21 + 7" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar15 = (ulong *)((long)puVar21 + 0x3c);" (assignment_expression "puVar15 = (ulong *)((long)puVar21 + 0x3c)" identifier = (cast_expression "(ulong *)((long)puVar21 + 0x3c)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar21 + 0x3c)" ( (binary_expression "(long)puVar21 + 0x3c" (cast_expression "(long)puVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (expression_statement "puVar21[1] = 0x5009f42a602087c;" (assignment_expression "puVar21[1] = 0x5009f42a602087c" (subscript_expression "puVar21[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar21[2] = 0x180041f8a602687d;" (assignment_expression "puVar21[2] = 0x180041f8a602687d" (subscript_expression "puVar21[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar21[3] = 0xa603087cf0ff4be8;" (assignment_expression "puVar21[3] = 0xa603087cf0ff4be8" (subscript_expression "puVar21[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar21[4] = 0x145a627d50608b7d;" (assignment_expression "puVar21[4] = 0x145a627d50608b7d" (subscript_expression "puVar21[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar21[5] = 0x8be9d0ff0c38;" (assignment_expression "puVar21[5] = 0x8be9d0ff0c38" (subscript_expression "puVar21[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar21[6] = 0xa603897d82f00078;" (assignment_expression "puVar21[6] = 0xa603897d82f00078" (subscript_expression "puVar21[6]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "*(undefined4 *)puVar15 = 0x2004804e;" (assignment_expression "*(undefined4 *)puVar15 = 0x2004804e" (pointer_expression "*(undefined4 *)puVar15" * (cast_expression "(undefined4 *)puVar15" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "uVar14 = *(uint *)(lVar3 + 0x10);" (assignment_expression "uVar14 = *(uint *)(lVar3 + 0x10)" identifier = (pointer_expression "*(uint *)(lVar3 + 0x10)" * (cast_expression "(uint *)(lVar3 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x10)" ( (binary_expression "lVar3 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "puVar19 = (uint *)((long)puVar15 + 4);" (assignment_expression "puVar19 = (uint *)((long)puVar15 + 4)" identifier = (cast_expression "(uint *)((long)puVar15 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar15 + 4)" ( (binary_expression "(long)puVar15 + 4" (cast_expression "(long)puVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (if_statement "if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }" if (parenthesized_expression "(puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40))" ( (binary_expression "puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)" identifier != (cast_expression "(uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)" ( (binary_expression "(long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40" (binary_expression "(long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4)" (cast_expression "(long)puVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "(-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4)" ( (binary_expression "-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4" (unary_expression "-(ulong)((uVar14 & 2) == 0)" - (call_expression "(ulong)((uVar14 & 2) == 0)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uVar14 & 2) == 0)" ( (binary_expression "(uVar14 & 2) == 0" (parenthesized_expression "(uVar14 & 2)" ( (binary_expression "uVar14 & 2" identifier & number_literal) )) == number_literal) )))) & number_literal) ))) + number_literal) )))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }" { comment (expression_statement "FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");" (call_expression "FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write")" identifier (argument_list "("../../gold/powerpc.cc",0x16c2,"do_write")" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") ))) ;) })) (if_statement "if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }" if (parenthesized_expression "(puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21))" ( (binary_expression "puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)" identifier < (cast_expression "(uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)" ( (binary_expression "(ulong)*(uint *)(param_1 + 0x78) + (long)puVar21" (binary_expression "(ulong)*(uint *)(param_1 + 0x78)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(param_1 + 0x78)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x78)" ( (binary_expression "param_1 + 0x78" identifier + number_literal) )))) + (cast_expression "(long)puVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) )) (compound_statement "{\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }" { (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }" { (expression_statement "puVar16 = puVar19;" (assignment_expression "puVar16 = puVar19" identifier = identifier) ;) (if_statement "if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }" if (parenthesized_expression "((uVar14 & 2) == 0)" ( (binary_expression "(uVar14 & 2) == 0" (parenthesized_expression "(uVar14 & 2)" ( (binary_expression "uVar14 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }" { (if_statement "if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }" if (parenthesized_expression "(uVar10 < 0x8000)" ( (binary_expression "uVar10 < 0x8000" identifier < number_literal) )) (compound_statement "{\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }" { (expression_statement "uVar14 = uVar10 + 0x38000000;" (assignment_expression "uVar14 = uVar10 + 0x38000000" identifier = (binary_expression "uVar10 + 0x38000000" identifier + number_literal)) ;) (expression_statement "puVar16 = puVar19 + 1;" (assignment_expression "puVar16 = puVar19 + 1" identifier = (binary_expression "puVar19 + 1" identifier + number_literal)) ;) (expression_statement "*puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;" (assignment_expression "*puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18" (pointer_expression "*puVar19" * identifier) = (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8" (binary_expression "uVar14 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar14 & 0xff0000) >> 8" (parenthesized_expression "(uVar14 & 0xff0000)" ( (binary_expression "uVar14 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar14 & 0xff00) << 8" (parenthesized_expression "(uVar14 & 0xff00)" ( (binary_expression "uVar14 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal))) ;) }) (else_clause "else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }" else (compound_statement "{\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }" { (expression_statement "puVar16 = puVar19 + 2;" (assignment_expression "puVar16 = puVar19 + 2" identifier = (binary_expression "puVar19 + 2" identifier + number_literal)) ;) (expression_statement "uVar14 = (uVar10 >> 0x10) + 0x3c000000;" (assignment_expression "uVar14 = (uVar10 >> 0x10) + 0x3c000000" identifier = (binary_expression "(uVar10 >> 0x10) + 0x3c000000" (parenthesized_expression "(uVar10 >> 0x10)" ( (binary_expression "uVar10 >> 0x10" identifier >> number_literal) )) + number_literal)) ;) (expression_statement "*puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;" (assignment_expression "*puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18" (pointer_expression "*puVar19" * identifier) = (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8" (binary_expression "uVar14 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar14 & 0xff0000) >> 8" (parenthesized_expression "(uVar14 & 0xff0000)" ( (binary_expression "uVar14 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar14 & 0xff00) << 8" (parenthesized_expression "(uVar14 & 0xff00)" ( (binary_expression "uVar14 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 >> 0x10) << 0x18" (parenthesized_expression "(uVar10 >> 0x10)" ( (binary_expression "uVar10 >> 0x10" identifier >> number_literal) )) << number_literal))) ;) (expression_statement "uVar14 = (uVar10 & 0xffff) + 0x60000000;" (assignment_expression "uVar14 = (uVar10 & 0xffff) + 0x60000000" identifier = (binary_expression "(uVar10 & 0xffff) + 0x60000000" (parenthesized_expression "(uVar10 & 0xffff)" ( (binary_expression "uVar10 & 0xffff" identifier & number_literal) )) + number_literal)) ;) (expression_statement "puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;" (assignment_expression "puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18" (subscript_expression "puVar19[1]" identifier [ number_literal ]) = (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8" (binary_expression "uVar14 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar14 & 0xff0000) >> 8" (parenthesized_expression "(uVar14 & 0xff0000)" ( (binary_expression "uVar14 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar14 & 0xff00) << 8" (parenthesized_expression "(uVar14 & 0xff00)" ( (binary_expression "uVar14 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xffff) << 0x18" (parenthesized_expression "(uVar10 & 0xffff)" ( (binary_expression "uVar10 & 0xffff" identifier & number_literal) )) << number_literal))) ;) }))) })) (expression_statement "puVar19 = puVar16 + 1;" (assignment_expression "puVar19 = puVar16 + 1" identifier = (binary_expression "puVar16 + 1" identifier + number_literal)) ;) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;" (assignment_expression "uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc" identifier = (binary_expression "8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc" (binary_expression "8U - ((int)puVar16 - (int)puVar21)" number_literal - (parenthesized_expression "((int)puVar16 - (int)puVar21)" ( (binary_expression "(int)puVar16 - (int)puVar21" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier)) ))) & number_literal)) ;) (expression_statement "uVar11 = uVar14 + 0x48000000;" (assignment_expression "uVar11 = uVar14 + 0x48000000" identifier = (binary_expression "uVar14 + 0x48000000" identifier + number_literal)) ;) (expression_statement "*puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;" (assignment_expression "*puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18" (pointer_expression "*puVar16" * identifier) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar14 << 0x18" identifier << number_literal))) ;) (if_statement "if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;" if (parenthesized_expression "((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19)" ( (binary_expression "(uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19" (cast_expression "(uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)" ( (binary_expression "(ulong)*(uint *)(param_1 + 0x78) + (long)puVar21" (binary_expression "(ulong)*(uint *)(param_1 + 0x78)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(param_1 + 0x78)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x78)" ( (binary_expression "param_1 + 0x78" identifier + number_literal) )))) + (cast_expression "(long)puVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) <= identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar14 = *(uint *)(lVar3 + 0x10);" (assignment_expression "uVar14 = *(uint *)(lVar3 + 0x10)" identifier = (pointer_expression "*(uint *)(lVar3 + 0x10)" * (cast_expression "(uint *)(lVar3 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x10)" ( (binary_expression "lVar3 + 0x10" identifier + number_literal) ))))) ;) })) })) (if_statement "if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;" if (parenthesized_expression "((*(byte *)(lVar4 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar4 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar4 + 0x20) & 1" (pointer_expression "*(byte *)(lVar4 + 0x20)" * (cast_expression "(byte *)(lVar4 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x20)" ( (binary_expression "lVar4 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0017e2fb;" goto statement_identifier ;)) (expression_statement "local_88 = *(long *)(lVar4 + 8);" (assignment_expression "local_88 = *(long *)(lVar4 + 8)" identifier = (pointer_expression "*(long *)(lVar4 + 8)" * (cast_expression "(long *)(lVar4 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 8)" ( (binary_expression "lVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(param_1 + 0x78);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x78)" identifier = (pointer_expression "*(int *)(param_1 + 0x78)" * (cast_expression "(int *)(param_1 + 0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x78)" ( (binary_expression "param_1 + 0x78" identifier + number_literal) ))))) ;) })) (expression_statement "lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);" (assignment_expression "lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar3 == 0) {\nLAB_0017e2f6:\n                    /* WARNING: Subroutine does not return */\n          FUN_0016da40();\n        }" if (parenthesized_expression "(lVar3 == 0)" ( (binary_expression "lVar3 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0017e2f6:\n                    /* WARNING: Subroutine does not return */\n          FUN_0016da40();\n        }" { (labeled_statement "LAB_0017e2f6:\n                    /* WARNING: Subroutine does not return */\n          FUN_0016da40();" statement_identifier : comment (expression_statement "FUN_0016da40();" (call_expression "FUN_0016da40()" identifier (argument_list "()" ( ))) ;)) })) (if_statement "if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }" if (parenthesized_expression "(*(char *)(lVar3 + 0x45e8) == '\0')" ( (binary_expression "*(char *)(lVar3 + 0x45e8) == '\0'" (pointer_expression "*(char *)(lVar3 + 0x45e8)" * (cast_expression "(char *)(lVar3 + 0x45e8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x45e8)" ( (binary_expression "lVar3 + 0x45e8" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }" { (expression_statement "uVar14 = 0xffffffe0;" (assignment_expression "uVar14 = 0xffffffe0" identifier = number_literal) ;) (expression_statement "iVar9 = 0x20;" (assignment_expression "iVar9 = 0x20" identifier = number_literal) ;) }) (else_clause "else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }" else (compound_statement "{\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }" { (expression_statement "iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);" (assignment_expression "iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f)" identifier = (binary_expression "1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f)" number_literal << (parenthesized_expression "((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f)" ( (binary_expression "(byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f" (binary_expression "(byte)*(undefined4 *)(lVar3 + 0x45ec)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(undefined4 *)(lVar3 + 0x45ec)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x45ec)" ( (binary_expression "lVar3 + 0x45ec" identifier + number_literal) )))) & number_literal) )))) ;) (expression_statement "uVar14 = -iVar9;" (assignment_expression "uVar14 = -iVar9" identifier = (unary_expression "-iVar9" - identifier)) ;) }))) (expression_statement "uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);" (assignment_expression "uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14)" identifier = (call_expression "(ulong)(iVar2 + -1 + iVar9 & uVar14)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar2 + -1 + iVar9 & uVar14)" ( (binary_expression "iVar2 + -1 + iVar9 & uVar14" (binary_expression "iVar2 + -1 + iVar9" (binary_expression "iVar2 + -1" identifier + number_literal) + identifier) & identifier) )))) ;) (if_statement "if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }" if (parenthesized_expression "((*(byte *)(param_1 + 0x20) & 1) != 0)" ( (binary_expression "(*(byte *)(param_1 + 0x20) & 1) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0x20) & 1)" ( (binary_expression "*(byte *)(param_1 + 0x20) & 1" (pointer_expression "*(byte *)(param_1 + 0x20)" * (cast_expression "(byte *)(param_1 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }" { (expression_statement "lVar3 = *(long *)(param_1 + 8);" (assignment_expression "lVar3 = *(long *)(param_1 + 8)" identifier = (pointer_expression "*(long *)(param_1 + 8)" * (cast_expression "(long *)(param_1 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "plVar20 = *(long **)(param_1 + 0x50);" (assignment_expression "plVar20 = *(long **)(param_1 + 0x50)" identifier = (pointer_expression "*(long **)(param_1 + 0x50)" * (cast_expression "(long **)(param_1 + 0x50)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) ;) (if_statement "if (plVar20 == (long *)0x0) {\n            return;\n          }" if (parenthesized_expression "(plVar20 == (long *)0x0)" ( (binary_expression "plVar20 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) (expression_statement "puVar22 = (undefined8 *)plVar20[1];" (assignment_expression "puVar22 = (undefined8 *)plVar20[1]" identifier = (cast_expression "(undefined8 *)plVar20[1]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar20[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar14 = *(uint *)(plVar20 + 2);" (assignment_expression "uVar14 = *(uint *)(plVar20 + 2)" identifier = (pointer_expression "*(uint *)(plVar20 + 2)" * (cast_expression "(uint *)(plVar20 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar20 + 2)" ( (binary_expression "plVar20 + 2" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = *(uint *)((long)puVar22 + 0x24);" (assignment_expression "uVar10 = *(uint *)((long)puVar22 + 0x24)" identifier = (pointer_expression "*(uint *)((long)puVar22 + 0x24)" * (cast_expression "(uint *)((long)puVar22 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar22 + 0x24)" ( (binary_expression "(long)puVar22 + 0x24" (cast_expression "(long)puVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (if_statement "if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }" if (parenthesized_expression "(uVar10 != 0xffffffff)" ( (binary_expression "uVar10 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }" { (expression_statement "local_70 = -1;" (assignment_expression "local_70 = -1" identifier = number_literal) ;) (do_statement "do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);" do (compound_statement "{\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            }" { (expression_statement "puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);" (assignment_expression "puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21)" identifier = (cast_expression "(uint *)(uVar14 + uVar13 + (long)puVar21)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar14 + uVar13 + (long)puVar21)" ( (binary_expression "uVar14 + uVar13 + (long)puVar21" (binary_expression "uVar14 + uVar13" identifier + identifier) + (cast_expression "(long)puVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "lVar4 = local_88;" (assignment_expression "lVar4 = local_88" identifier = identifier) ;) (if_statement "if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }" if (parenthesized_expression "((*(byte *)(puVar22 + 7) & 0xf) == 10)" ( (binary_expression "(*(byte *)(puVar22 + 7) & 0xf) == 10" (parenthesized_expression "(*(byte *)(puVar22 + 7) & 0xf)" ( (binary_expression "*(byte *)(puVar22 + 7) & 0xf" (pointer_expression "*(byte *)(puVar22 + 7)" * (cast_expression "(byte *)(puVar22 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 7)" ( (binary_expression "puVar22 + 7" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }" { (if_statement "if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }" if (parenthesized_expression "((*(byte *)((long)puVar22 + 0x3a) & 7) == 0)" ( (binary_expression "(*(byte *)((long)puVar22 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)((long)puVar22 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)puVar22 + 0x3a) & 7" (pointer_expression "*(byte *)((long)puVar22 + 0x3a)" * (cast_expression "(byte *)((long)puVar22 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar22 + 0x3a)" ( (binary_expression "(long)puVar22 + 0x3a" (cast_expression "(long)puVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }" { (if_statement "if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }" if (parenthesized_expression "((*(byte *)(puVar22[2] + 0x3c) & 1) == 0)" ( (binary_expression "(*(byte *)(puVar22[2] + 0x3c) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar22[2] + 0x3c) & 1)" ( (binary_expression "*(byte *)(puVar22[2] + 0x3c) & 1" (pointer_expression "*(byte *)(puVar22[2] + 0x3c)" * (cast_expression "(byte *)(puVar22[2] + 0x3c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22[2] + 0x3c)" ( (binary_expression "puVar22[2] + 0x3c" (subscript_expression "puVar22[2]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }" { (if_statement "if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;" if (parenthesized_expression "(*(int *)(puVar22 + 3) != 0)" ( (binary_expression "*(int *)(puVar22 + 3) != 0" (pointer_expression "*(int *)(puVar22 + 3)" * (cast_expression "(int *)(puVar22 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 3)" ( (binary_expression "puVar22 + 3" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_0017dff5;" goto statement_identifier ;)) (if_statement "if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }" if (parenthesized_expression "((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0)" ( (binary_expression "(*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((long)puVar22 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)((long)puVar22 + 0x3b) & 0x20" (pointer_expression "*(byte *)((long)puVar22 + 0x3b)" * (cast_expression "(byte *)((long)puVar22 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar22 + 0x3b)" ( (binary_expression "(long)puVar22 + 0x3b" (cast_expression "(long)puVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }" { (expression_statement "bVar1 = *(byte *)((long)puVar22 + 0x39);" (assignment_expression "bVar1 = *(byte *)((long)puVar22 + 0x39)" identifier = (pointer_expression "*(byte *)((long)puVar22 + 0x39)" * (cast_expression "(byte *)((long)puVar22 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar22 + 0x39)" ( (binary_expression "(long)puVar22 + 0x39" (cast_expression "(long)puVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (goto_statement "goto joined_r0x0017e066;" goto statement_identifier ;) })) })) }) (else_clause "else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }" else (if_statement "if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }" if (parenthesized_expression "((*(byte *)((long)puVar22 + 0x3a) & 7) != 4)" ( (binary_expression "(*(byte *)((long)puVar22 + 0x3a) & 7) != 4" (parenthesized_expression "(*(byte *)((long)puVar22 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)puVar22 + 0x3a) & 7" (pointer_expression "*(byte *)((long)puVar22 + 0x3a)" * (cast_expression "(byte *)((long)puVar22 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar22 + 0x3a)" ( (binary_expression "(long)puVar22 + 0x3a" (cast_expression "(long)puVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }" { (labeled_statement "LAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);" statement_identifier : (expression_statement "bVar1 = *(byte *)((long)puVar22 + 0x39);" (assignment_expression "bVar1 = *(byte *)((long)puVar22 + 0x39)" identifier = (pointer_expression "*(byte *)((long)puVar22 + 0x39)" * (cast_expression "(byte *)((long)puVar22 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar22 + 0x39)" ( (binary_expression "(long)puVar22 + 0x39" (cast_expression "(long)puVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;)) (labeled_statement "joined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }" statement_identifier : (if_statement "if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }" if (parenthesized_expression "(((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0))" ( (binary_expression "((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)" (parenthesized_expression "((bVar1 & 3) == 0)" ( (binary_expression "(bVar1 & 3) == 0" (parenthesized_expression "(bVar1 & 3)" ( (binary_expression "bVar1 & 3" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)" ( (binary_expression "(*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0" (parenthesized_expression "(*(byte *)((long)puVar22 + 0x3b) & 0x10)" ( (binary_expression "*(byte *)((long)puVar22 + 0x3b) & 0x10" (pointer_expression "*(byte *)((long)puVar22 + 0x3b)" * (cast_expression "(byte *)((long)puVar22 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar22 + 0x3b)" ( (binary_expression "(long)puVar22 + 0x3b" (cast_expression "(long)puVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }" { (expression_statement "lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);" (assignment_expression "lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar6 == 0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }" { (labeled_statement "LAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");" statement_identifier : comment (expression_statement "FUN_001e9890("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_001e9890("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) })) (if_statement "if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }" if (parenthesized_expression "(*(char *)(lVar6 + 0x2a61) != '\0')" ( (binary_expression "*(char *)(lVar6 + 0x2a61) != '\0'" (pointer_expression "*(char *)(lVar6 + 0x2a61)" * (cast_expression "(char *)(lVar6 + 0x2a61)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x2a61)" ( (binary_expression "lVar6 + 0x2a61" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }" { (expression_statement "cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);" (assignment_expression "cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59)" identifier = (call_expression "FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59)" identifier (argument_list "(lVar6 + 0x9120,*puVar22,0,&local_59)" ( (binary_expression "lVar6 + 0x9120" identifier + number_literal) , (pointer_expression "*puVar22" * identifier) , number_literal , (pointer_expression "&local_59" & identifier) )))) ;) (if_statement "if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }" if (parenthesized_expression "((cVar8 == '\0') || (local_59 != '\0'))" ( (binary_expression "(cVar8 == '\0') || (local_59 != '\0')" (parenthesized_expression "(cVar8 == '\0')" ( (binary_expression "cVar8 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(local_59 != '\0')" ( (binary_expression "local_59 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }" { (expression_statement "lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);" (assignment_expression "lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar6 == 0) goto LAB_0017e365;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0017e365;" goto statement_identifier ;)) (if_statement "if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;" if (parenthesized_expression "((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0'))))" ( (binary_expression "(*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))" (parenthesized_expression "(*(char *)(lVar6 + 0xd21) != '\0')" ( (binary_expression "*(char *)(lVar6 + 0xd21) != '\0'" (pointer_expression "*(char *)(lVar6 + 0xd21)" * (cast_expression "(char *)(lVar6 + 0xd21)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0xd21)" ( (binary_expression "lVar6 + 0xd21" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))" ( (parenthesized_expression "((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0'))" ( (binary_expression "(*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')" (binary_expression "(*(byte *)(puVar22 + 7) & 0xf) != 1" (parenthesized_expression "(*(byte *)(puVar22 + 7) & 0xf)" ( (binary_expression "*(byte *)(puVar22 + 7) & 0xf" (pointer_expression "*(byte *)(puVar22 + 7)" * (cast_expression "(byte *)(puVar22 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 7)" ( (binary_expression "puVar22 + 7" identifier + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "(*(char *)(lVar6 + 0xde9) != '\0')" ( (binary_expression "*(char *)(lVar6 + 0xde9) != '\0'" (pointer_expression "*(char *)(lVar6 + 0xde9)" * (cast_expression "(char *)(lVar6 + 0xde9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0xde9)" ( (binary_expression "lVar6 + 0xde9" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (goto_statement "goto LAB_0017e024;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0017def5;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_0017e024:\n                  lVar4 = local_70;" statement_identifier : (expression_statement "lVar4 = local_70;" (assignment_expression "lVar4 = local_70" identifier = identifier) ;)) (if_statement "if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }" if (parenthesized_expression "(local_70 == -1)" ( (binary_expression "local_70 == -1" identifier == number_literal) )) (compound_statement "{\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }" { (expression_statement "lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);" (assignment_expression "lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30)" identifier = (pointer_expression "*(long *)(*(long *)(param_1 + 0x38) + 0x30)" * (cast_expression "(long *)(*(long *)(param_1 + 0x38) + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + 0x30)" ( (binary_expression "*(long *)(param_1 + 0x38) + 0x30" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }" if (parenthesized_expression "(lVar4 == 0)" ( (binary_expression "lVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }" { (expression_statement "FUN_0016d920();" (call_expression "FUN_0016d920()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0017e2f6;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;" if (parenthesized_expression "((*(byte *)(lVar4 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar4 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar4 + 0x20) & 1" (pointer_expression "*(byte *)(lVar4 + 0x20)" * (cast_expression "(byte *)(lVar4 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x20)" ( (binary_expression "lVar4 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0017e2fb;" goto statement_identifier ;)) (expression_statement "lVar4 = *(long *)(lVar4 + 8);" (assignment_expression "lVar4 = *(long *)(lVar4 + 8)" identifier = (pointer_expression "*(long *)(lVar4 + 8)" * (cast_expression "(long *)(lVar4 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 8)" ( (binary_expression "lVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_70 = lVar4;" (assignment_expression "local_70 = lVar4" identifier = identifier) ;) })) })))) })) (labeled_statement "LAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);" statement_identifier : (expression_statement "uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);" (assignment_expression "uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13)" identifier = (binary_expression "((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13)" (parenthesized_expression "((ulong)uVar10 + lVar4)" ( (binary_expression "(ulong)uVar10 + lVar4" (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier) + identifier) )) - (parenthesized_expression "((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13)" ( (binary_expression "(ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13" (binary_expression "(ulong)*(uint *)(plVar20 + 2) + lVar3" (binary_expression "(ulong)*(uint *)(plVar20 + 2)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(plVar20 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar20 + 2)" ( (binary_expression "plVar20 + 2" identifier + number_literal) )))) + identifier) + identifier) )))) ;)) (if_statement "if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }" if (parenthesized_expression "((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0))" ( (binary_expression "(0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)" (parenthesized_expression "(0xffffffff < uVar18 + 0x80008000)" ( (binary_expression "0xffffffff < uVar18 + 0x80008000" number_literal < (binary_expression "uVar18 + 0x80008000" identifier + number_literal)) )) || (parenthesized_expression "((uVar18 & 3) != 0)" ( (binary_expression "(uVar18 & 3) != 0" (parenthesized_expression "(uVar18 & 3)" ( (binary_expression "uVar18 & 3" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }" { (expression_statement "FUN_002de920(local_58,plVar20[1]);" (call_expression "FUN_002de920(local_58,plVar20[1])" identifier (argument_list "(local_58,plVar20[1])" ( identifier , (subscript_expression "plVar20[1]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar7 = local_58[0];" (assignment_expression "puVar7 = local_58[0]" identifier = (subscript_expression "local_58[0]" identifier [ number_literal ])) ;) (if_statement "if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }" if (parenthesized_expression "((*(byte *)(plVar20[1] + 0x3a) & 7) != 0)" ( (binary_expression "(*(byte *)(plVar20[1] + 0x3a) & 7) != 0" (parenthesized_expression "(*(byte *)(plVar20[1] + 0x3a) & 7)" ( (binary_expression "*(byte *)(plVar20[1] + 0x3a) & 7" (pointer_expression "*(byte *)(plVar20[1] + 0x3a)" * (cast_expression "(byte *)(plVar20[1] + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar20[1] + 0x3a)" ( (binary_expression "plVar20[1] + 0x3a" (subscript_expression "plVar20[1]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }" { comment comment (expression_statement "FUN_001e9890("../../gold/symtab.h",0xa1,"object");" (call_expression "FUN_001e9890("../../gold/symtab.h",0xa1,"object")" identifier (argument_list "("../../gold/symtab.h",0xa1,"object")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""object"" " string_content ") ))) ;) })) (expression_statement "uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);" (assignment_expression "uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8)" identifier = (pointer_expression "*(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8)" * (cast_expression "(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(plVar20[1] + 0x10) + 8)" ( (binary_expression "*(long *)(plVar20[1] + 0x10) + 8" (pointer_expression "*(long *)(plVar20[1] + 0x10)" * (cast_expression "(long *)(plVar20[1] + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar20[1] + 0x10)" ( (binary_expression "plVar20[1] + 0x10" (subscript_expression "plVar20[1]" identifier [ number_literal ]) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar12 = gettext("%s: linkage table error against `%s\'");" (assignment_expression "uVar12 = gettext("%s: linkage table error against `%s\'")" identifier = (call_expression "gettext("%s: linkage table error against `%s\'")" identifier (argument_list "("%s: linkage table error against `%s\'")" ( (string_literal ""%s: linkage table error against `%s\'"" " string_content escape_sequence ") )))) ;) comment (expression_statement "FUN_001e14f0(uVar12,uVar5,puVar7);" (call_expression "FUN_001e14f0(uVar12,uVar5,puVar7)" identifier (argument_list "(uVar12,uVar5,puVar7)" ( identifier , identifier , identifier ))) ;) (if_statement "if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }" if (parenthesized_expression "(local_58[0] != local_48)" ( (binary_expression "local_58[0] != local_48" (subscript_expression "local_58[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n                  FUN_00338a40();\n                }" { (expression_statement "FUN_00338a40();" (call_expression "FUN_00338a40()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "uVar11 = (uint)uVar18 & 0xffff;" (assignment_expression "uVar11 = (uint)uVar18 & 0xffff" identifier = (binary_expression "(uint)uVar18 & 0xffff" (cast_expression "(uint)uVar18" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar14 = (uint)uVar18 + 0x8000 >> 0x10;" (assignment_expression "uVar14 = (uint)uVar18 + 0x8000 >> 0x10" identifier = (binary_expression "(uint)uVar18 + 0x8000 >> 0x10" (binary_expression "(uint)uVar18 + 0x8000" (cast_expression "(uint)uVar18" ( (type_descriptor "uint" type_identifier) ) identifier) + number_literal) >> number_literal)) ;) (expression_statement "uVar17 = uVar11 + 0xe98c0000;" (assignment_expression "uVar17 = uVar11 + 0xe98c0000" identifier = (binary_expression "uVar11 + 0xe98c0000" identifier + number_literal)) ;) (expression_statement "uVar10 = uVar14 + 0x3d8c0000;" (assignment_expression "uVar10 = uVar14 + 0x3d8c0000" identifier = (binary_expression "uVar14 + 0x3d8c0000" identifier + number_literal)) ;) (expression_statement "puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;" (assignment_expression "puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18" (subscript_expression "puVar19[1]" identifier [ number_literal ]) = (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8" (binary_expression "uVar17 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar17 & 0xff0000) >> 8" (parenthesized_expression "(uVar17 & 0xff0000)" ( (binary_expression "uVar17 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar17 & 0xff00) << 8" (parenthesized_expression "(uVar17 & 0xff00)" ( (binary_expression "uVar17 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal))) ;) (expression_statement "*puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;" (assignment_expression "*puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18" (pointer_expression "*puVar19" * identifier) = (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar14 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar19[2] = 0xa603897d;" (assignment_expression "puVar19[2] = 0xa603897d" (subscript_expression "puVar19[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar19[3] = 0x2004804e;" (assignment_expression "puVar19[3] = 0x2004804e" (subscript_expression "puVar19[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar20 = (long *)*plVar20;" (assignment_expression "plVar20 = (long *)*plVar20" identifier = (cast_expression "(long *)*plVar20" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar20" * identifier))) ;) (if_statement "if (plVar20 == (long *)0x0) {\n                return;\n              }" if (parenthesized_expression "(plVar20 == (long *)0x0)" ( (binary_expression "plVar20 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                return;\n              }" { (return_statement "return;" return ;) })) (expression_statement "puVar22 = (undefined8 *)plVar20[1];" (assignment_expression "puVar22 = (undefined8 *)plVar20[1]" identifier = (cast_expression "(undefined8 *)plVar20[1]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar20[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar14 = *(uint *)(plVar20 + 2);" (assignment_expression "uVar14 = *(uint *)(plVar20 + 2)" identifier = (pointer_expression "*(uint *)(plVar20 + 2)" * (cast_expression "(uint *)(plVar20 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar20 + 2)" ( (binary_expression "plVar20 + 2" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = *(uint *)((long)puVar22 + 0x24);" (assignment_expression "uVar10 = *(uint *)((long)puVar22 + 0x24)" identifier = (pointer_expression "*(uint *)((long)puVar22 + 0x24)" * (cast_expression "(uint *)((long)puVar22 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar22 + 0x24)" ( (binary_expression "(long)puVar22 + 0x24" (cast_expression "(long)puVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) }) while (parenthesized_expression "(uVar10 != 0xffffffff)" ( (binary_expression "uVar10 != 0xffffffff" identifier != number_literal) )) ;) })) comment (expression_statement "FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");" (call_expression "FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset")" identifier (argument_list "("../../gold/symtab.h",0x1ce,"plt_offset")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""plt_offset"" " string_content ") ))) ;) })) (labeled_statement "LAB_0017e2fb:\n                    /* WARNING: Subroutine does not return */\n        FUN_001e9890("../../gold/output.h",0xc5,"address");" statement_identifier : comment (expression_statement "FUN_001e9890("../../gold/output.h",0xc5,"address");" (call_expression "FUN_001e9890("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;)) })) (expression_statement "FUN_0016d940();" (call_expression "FUN_0016d940()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_0016e170();" (call_expression "FUN_0016e170()" identifier (argument_list "()" ( ))) ;) })) comment (expression_statement "FUN_001e9890("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_001e9890("../../gold/output.h",0xcf,"data_size")" identifier (argument_list "("../../gold/output.h",0xcf,"data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") ))) ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original prototype: void do_write(Output_data_glink<64,_true> * this, Output_file * of) */\n\nvoid __thiscall\nanon_unknown.dwarf_2cac9f::Output_data_glink<64,_true>::do_write\n          (Output_data_glink<64,_true> *this,Output_file *of)\n\n{\n  byte bVar1;\n  long lVar2;\n  General_options *pGVar3;\n  Output_data_plt_powerpc<64,_true> *pOVar4;\n  pointer ppVVar5;\n  undefined8 uVar6;\n  bool bVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  char *format;\n  ulong uVar11;\n  uint uVar12;\n  Output_file *this_1;\n  size_t in_RDX;\n  ulong *puVar13;\n  uint *puVar14;\n  size_t extraout_RDX;\n  uint uVar15;\n  ulong uVar16;\n  uint *puVar17;\n  Target_powerpc<64,_true> *this_00;\n  _Hash_node_base *p_Var18;\n  ulong *puVar19;\n  _Hash_node_base *p_Var20;\n  pointer local_88;\n  pointer local_70;\n  bool is_global;\n  undefined1 local_58 [40];\n  \n  bVar1 = this->field_0x20;\n  this_1 = (Output_file *)(ulong)bVar1;\n  if ((bVar1 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n  }\n  lVar2 = *(long *)&this->field_0x18;\n  if ((bVar1 & 2) != 0) {\n    this_00 = (Target_powerpc<64,_true> *)this;\n    if ((-1 < lVar2) && (*(long *)&this->field_0x10 + lVar2 <= of->file_size_)) {\n      puVar19 = (ulong *)(of->base_ + lVar2);\n      of = (Output_file *)this->targ_;\n      this_00 = (Target_powerpc<64,_true> *)((Target_powerpc<64,_true> *)of)->plt_;\n      if (this_00 != (Target_powerpc<64,_true> *)0x0) {\n        if (((ulong)this_00->got_ & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(pointer *)&this_00->field_0x8;\n        uVar9 = this->end_branch_table_;\n        if (uVar9 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar11 = (long)local_88 + (-0x10 - *(long *)&this->field_0x8);\n          *puVar19 = uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                     (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                     (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                     (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38;\n          if ((*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10 & 2) == 0) {\n            puVar13 = puVar19 + 6;\n            puVar19[1] = 0x5009f42a602887d;\n            puVar19[2] = 0xf0ff4be8a602687d;\n            puVar19[3] = 0x145a627da603887d;\n            puVar19[4] = 0x8004be800008be9;\n            puVar19[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar19 + 7) = 0x8006be9;\n            puVar13 = (ulong *)((long)puVar19 + 0x3c);\n            puVar19[1] = 0x5009f42a602087c;\n            puVar19[2] = 0x180041f8a602687d;\n            puVar19[3] = 0xa603087cf0ff4be8;\n            puVar19[4] = 0x145a627d50608b7d;\n            puVar19[5] = 0x8be9d0ff0c38;\n            puVar19[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar13 = 0x2004804e;\n          uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;\n          puVar17 = (uint *)((long)puVar13 + 4);\n          if (puVar17 !=\n              (uint *)((long)puVar19 + (-(ulong)((uVar9 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar17 < (uint *)((ulong)this->end_branch_table_ + (long)puVar19)) {\n            uVar12 = 0;\n            while( true ) {\n              puVar14 = puVar17;\n              if ((uVar9 & 2) == 0) {\n                if (uVar12 < 0x8000) {\n                  uVar9 = uVar12 + 0x38000000;\n                  puVar14 = puVar17 + 1;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar12 << 0x18;\n                }\n                else {\n                  puVar14 = puVar17 + 2;\n                  uVar9 = (uVar12 >> 0x10) + 0x3c000000;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             (uVar12 >> 0x10) << 0x18;\n                  uVar9 = (uVar12 & 0xffff) + 0x60000000;\n                  puVar17[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                               (uVar12 & 0xffff) << 0x18;\n                }\n              }\n              puVar17 = puVar14 + 1;\n              uVar12 = uVar12 + 1;\n              uVar9 = 8U - ((int)puVar14 - (int)puVar19) & 0x3fffffc;\n              uVar10 = uVar9 + 0x48000000;\n              *puVar14 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              if ((uint *)((ulong)this->end_branch_table_ + (long)puVar19) <= puVar17) break;\n              uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;\n            }\n          }\n          if (((ulong)this_00->got_ & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(pointer *)&this_00->field_0x8;\n          uVar9 = this->end_branch_table_;\n        }\n        pGVar3 = gold::parameters->options_;\n        if (pGVar3 == (General_options *)0x0) {\nLAB_0017e2f6:\n                    /* WARNING: Subroutine does not return */\n          param_plt_align<64>();\n        }\n        if ((pGVar3->plt_align_).user_set_via_option == false) {\n          uVar12 = 0xffffffe0;\n          iVar8 = 0x20;\n        }\n        else {\n          iVar8 = 1 << ((byte)(pGVar3->plt_align_).value & 0x1f);\n          uVar12 = -iVar8;\n        }\n        uVar11 = (ulong)((uVar9 - 1) + iVar8 & uVar12);\n        if ((this->field_0x20 & 1) != 0) {\n          lVar2 = *(long *)&this->field_0x8;\n          p_Var18 = (this->global_entry_stubs_)._M_h._M_before_begin._M_nxt;\n          if (p_Var18 == (_Hash_node_base *)0x0) {\n            return;\n          }\n          p_Var20 = p_Var18[1]._M_nxt;\n          uVar9 = *(uint *)&p_Var18[2]._M_nxt;\n          uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);\n          if (uVar12 != 0xffffffff) {\n            local_70 = (pointer)0xffffffffffffffff;\n            do {\n              puVar17 = (uint *)(uVar9 + uVar11 + (long)puVar19);\n              ppVVar5 = local_88;\n              if (((ulong)p_Var20[7]._M_nxt & 0xf) == 10) {\n                if (((ulong)p_Var20[7]._M_nxt & 0x70000) == 0) {\n                  if (((ulong)p_Var20[2]._M_nxt[7]._M_nxt & 0x100000000) == 0) {\n                    if (*(int *)&p_Var20[3]._M_nxt != 0) goto LAB_0017dff5;\n                    if (((ulong)p_Var20[7]._M_nxt & 0x20000000) == 0) {\n                      bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if (((ulong)p_Var20[7]._M_nxt & 0x70000) != 0x40000) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && (((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0)) {\n                    pGVar3 = gold::parameters->options_;\n                    if (pGVar3 == (General_options *)0x0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if ((pGVar3->shared_).value != false) {\n                      this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_;\n                      bVar7 = gold::Version_script_info::get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);\n                      if ((!bVar7) || (is_global != false)) {\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  ppVVar5 = local_70;\n                  if (local_70 == (pointer)0xffffffffffffffff) {\n                    pOVar4 = this->targ_->iplt_;\n                    if (pOVar4 == (Output_data_plt_powerpc<64,_true> *)0x0) {\n                      Target_powerpc<64,_true>::iplt_section(this_00);\n                      goto LAB_0017e2f6;\n                    }\n                    if (((pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1) == 0) goto LAB_0017e2fb;\n                    ppVVar5 = (pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_;\n                    local_70 = ppVVar5;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar16 = (long)ppVVar5 +\n                       ((ulong)uVar12 - ((ulong)*(uint *)&p_Var18[2]._M_nxt + lVar2 + uVar11));\n              if ((0xffffffff < uVar16 + 0x80008000) || ((uVar16 & 3) != 0)) {\n                gold::Symbol::demangled_name((string *)local_58,(Symbol *)p_Var18[1]._M_nxt);\n                uVar6 = local_58._0_8_;\n                if (((ulong)p_Var18[1]._M_nxt[7]._M_nxt & 0x70000) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  gold::do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n                }\n                p_Var20 = p_Var18[1]._M_nxt[2]._M_nxt[1]._M_nxt;\n                format = (char *)gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                gold::gold_error(format,p_Var20,uVar6);\n                this_00 = (Target_powerpc<64,_true> *)local_58._0_8_;\n                if ((Target_powerpc<64,_true> *)local_58._0_8_ !=\n                    (Target_powerpc<64,_true> *)(local_58 + 0x10)) {\n                  operator_delete((void *)local_58._0_8_);\n                }\n              }\n              uVar10 = (uint)uVar16 & 0xffff;\n              uVar9 = (uint)uVar16 + 0x8000 >> 0x10;\n              uVar15 = uVar10 + 0xe98c0000;\n              uVar12 = uVar9 + 0x3d8c0000;\n              puVar17[1] = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                           uVar10 << 0x18;\n              *puVar17 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              puVar17[2] = 0xa603897d;\n              puVar17[3] = 0x2004804e;\n              p_Var18 = p_Var18->_M_nxt;\n              if (p_Var18 == (_Hash_node_base *)0x0) {\n                return;\n              }\n              p_Var20 = p_Var18[1]._M_nxt;\n              uVar9 = *(uint *)&p_Var18[2]._M_nxt;\n              uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);\n            } while (uVar12 != 0xffffffff);\n          }\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }\n      Target_powerpc<64,_true>::plt_section((Target_powerpc<64,_true> *)0x0);\n      in_RDX = extraout_RDX;\n    }\n    gold::Output_file::get_output_view((Output_file *)this_00,(off_t)of,in_RDX,this_1);\n  }\n                    /* WARNING: Subroutine does not return */\n  gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n}\n\n" comment comment comment (declaration "void __thiscall\nanon_unknown.dwarf_2cac9f::Output_data_glink<64,_true>::do_write\n          (Output_data_glink<64,_true> *this,Output_file *of)\n\n{\n  byte bVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "anon_unknown.dwarf_2cac9f::" identifier . identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_true>::do_write\n          (Output_data_glink<64,_true> *this,Output_file *of)\n\n{\n  byte" identifier > : : (function_declarator "do_write\n          (Output_data_glink<64,_true> *this,Output_file *of)" identifier (parameter_list "(Output_data_glink<64,_true> *this,Output_file *of)" ( (parameter_declaration "Output_data_glink" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_true> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Output_file *of" type_identifier (pointer_declarator "*of" * identifier)) ))) { identifier) identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "General_options *pGVar3;" type_identifier (pointer_declarator "*pGVar3" * identifier) ;) (expression_statement "Output_data_plt_powerpc<64,_true> *pOVar4;" (update_expression "Output_data_plt_powerpc<64,_true> *pOVar4" (binary_expression "Output_data_plt_powerpc<64,_true> *pOVar4" (binary_expression "Output_data_plt_powerpc<64" identifier < number_literal) (ERROR ",_true" , identifier) > (pointer_expression "*pOVar4" * identifier)) --) ;) (declaration "pointer ppVVar5;" type_identifier identifier ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "ulong uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "Output_file *this_1;" type_identifier (pointer_declarator "*this_1" * identifier) ;) (declaration "size_t in_RDX;" primitive_type identifier ;) (declaration "ulong *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "uint *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "size_t extraout_RDX;" primitive_type identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "ulong uVar16;" type_identifier identifier ;) (declaration "uint *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (expression_statement "Target_powerpc<64,_true> *this_00;" (update_expression "Target_powerpc<64,_true> *this_00" (binary_expression "Target_powerpc<64,_true> *this_00" (binary_expression "Target_powerpc<64" identifier < number_literal) (ERROR ",_true" , identifier) > (pointer_expression "*this_00" * identifier)) --) ;) (declaration "_Hash_node_base *p_Var18;" type_identifier (pointer_declarator "*p_Var18" * identifier) ;) (declaration "ulong *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "_Hash_node_base *p_Var20;" type_identifier (pointer_declarator "*p_Var20" * identifier) ;) (declaration "pointer local_88;" type_identifier identifier ;) (declaration "pointer local_70;" type_identifier identifier ;) (declaration "bool is_global;" primitive_type identifier ;) (declaration "undefined1 local_58 [40];" type_identifier (array_declarator "local_58 [40]" identifier [ number_literal ]) ;) (expression_statement "bVar1 = this->field_0x20;" (assignment_expression "bVar1 = this->field_0x20" identifier = (field_expression "this->field_0x20" identifier -> field_identifier)) ;) (expression_statement "this_1 = (Output_file *)(ulong)bVar1;" (assignment_expression "this_1 = (Output_file *)(ulong)bVar1" identifier = (cast_expression "(Output_file *)(ulong)bVar1" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)bVar1" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (if_statement "if ((bVar1 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n  }" if (parenthesized_expression "((bVar1 & 4) == 0)" ( (binary_expression "(bVar1 & 4) == 0" (parenthesized_expression "(bVar1 & 4)" ( (binary_expression "bVar1 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n  }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0xe3,"offset");" (call_expression "do_gold_unreachable("../../gold/output.h",0xe3,"offset")" identifier (argument_list "("../../gold/output.h",0xe3,"offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") ))) ;)) })) (expression_statement "lVar2 = *(long *)&this->field_0x18;" (assignment_expression "lVar2 = *(long *)&this->field_0x18" identifier = (pointer_expression "*(long *)&this->field_0x18" * (cast_expression "(long *)&this->field_0x18" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0x18" & (field_expression "this->field_0x18" identifier -> field_identifier))))) ;) (if_statement "if ((bVar1 & 2) != 0) {\n    this_00 = (Target_powerpc<64,_true> *)this;\n    if ((-1 < lVar2) && (*(long *)&this->field_0x10 + lVar2 <= of->file_size_)) {\n      puVar19 = (ulong *)(of->base_ + lVar2);\n      of = (Output_file *)this->targ_;\n      this_00 = (Target_powerpc<64,_true> *)((Target_powerpc<64,_true> *)of)->plt_;\n      if (this_00 != (Target_powerpc<64,_true> *)0x0) {\n        if (((ulong)this_00->got_ & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(pointer *)&this_00->field_0x8;\n        uVar9 = this->end_branch_table_;\n        if (uVar9 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar11 = (long)local_88 + (-0x10 - *(long *)&this->field_0x8);\n          *puVar19 = uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                     (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                     (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                     (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38;\n          if ((*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10 & 2) == 0) {\n            puVar13 = puVar19 + 6;\n            puVar19[1] = 0x5009f42a602887d;\n            puVar19[2] = 0xf0ff4be8a602687d;\n            puVar19[3] = 0x145a627da603887d;\n            puVar19[4] = 0x8004be800008be9;\n            puVar19[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar19 + 7) = 0x8006be9;\n            puVar13 = (ulong *)((long)puVar19 + 0x3c);\n            puVar19[1] = 0x5009f42a602087c;\n            puVar19[2] = 0x180041f8a602687d;\n            puVar19[3] = 0xa603087cf0ff4be8;\n            puVar19[4] = 0x145a627d50608b7d;\n            puVar19[5] = 0x8be9d0ff0c38;\n            puVar19[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar13 = 0x2004804e;\n          uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;\n          puVar17 = (uint *)((long)puVar13 + 4);\n          if (puVar17 !=\n              (uint *)((long)puVar19 + (-(ulong)((uVar9 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar17 < (uint *)((ulong)this->end_branch_table_ + (long)puVar19)) {\n            uVar12 = 0;\n            while( true ) {\n              puVar14 = puVar17;\n              if ((uVar9 & 2) == 0) {\n                if (uVar12 < 0x8000) {\n                  uVar9 = uVar12 + 0x38000000;\n                  puVar14 = puVar17 + 1;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar12 << 0x18;\n                }\n                else {\n                  puVar14 = puVar17 + 2;\n                  uVar9 = (uVar12 >> 0x10) + 0x3c000000;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             (uVar12 >> 0x10) << 0x18;\n                  uVar9 = (uVar12 & 0xffff) + 0x60000000;\n                  puVar17[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                               (uVar12 & 0xffff) << 0x18;\n                }\n              }\n              puVar17 = puVar14 + 1;\n              uVar12 = uVar12 + 1;\n              uVar9 = 8U - ((int)puVar14 - (int)puVar19) & 0x3fffffc;\n              uVar10 = uVar9 + 0x48000000;\n              *puVar14 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              if ((uint *)((ulong)this->end_branch_table_ + (long)puVar19) <= puVar17) break;\n              uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;\n            }\n          }\n          if (((ulong)this_00->got_ & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(pointer *)&this_00->field_0x8;\n          uVar9 = this->end_branch_table_;\n        }\n        pGVar3 = gold::parameters->options_;\n        if (pGVar3 == (General_options *)0x0) {\nLAB_0017e2f6:\n                    /* WARNING: Subroutine does not return */\n          param_plt_align<64>();\n        }\n        if ((pGVar3->plt_align_).user_set_via_option == false) {\n          uVar12 = 0xffffffe0;\n          iVar8 = 0x20;\n        }\n        else {\n          iVar8 = 1 << ((byte)(pGVar3->plt_align_).value & 0x1f);\n          uVar12 = -iVar8;\n        }\n        uVar11 = (ulong)((uVar9 - 1) + iVar8 & uVar12);\n        if ((this->field_0x20 & 1) != 0) {\n          lVar2 = *(long *)&this->field_0x8;\n          p_Var18 = (this->global_entry_stubs_)._M_h._M_before_begin._M_nxt;\n          if (p_Var18 == (_Hash_node_base *)0x0) {\n            return;\n          }\n          p_Var20 = p_Var18[1]._M_nxt;\n          uVar9 = *(uint *)&p_Var18[2]._M_nxt;\n          uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);\n          if (uVar12 != 0xffffffff) {\n            local_70 = (pointer)0xffffffffffffffff;\n            do {\n              puVar17 = (uint *)(uVar9 + uVar11 + (long)puVar19);\n              ppVVar5 = local_88;\n              if (((ulong)p_Var20[7]._M_nxt & 0xf) == 10) {\n                if (((ulong)p_Var20[7]._M_nxt & 0x70000) == 0) {\n                  if (((ulong)p_Var20[2]._M_nxt[7]._M_nxt & 0x100000000) == 0) {\n                    if (*(int *)&p_Var20[3]._M_nxt != 0) goto LAB_0017dff5;\n                    if (((ulong)p_Var20[7]._M_nxt & 0x20000000) == 0) {\n                      bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if (((ulong)p_Var20[7]._M_nxt & 0x70000) != 0x40000) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && (((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0)) {\n                    pGVar3 = gold::parameters->options_;\n                    if (pGVar3 == (General_options *)0x0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if ((pGVar3->shared_).value != false) {\n                      this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_;\n                      bVar7 = gold::Version_script_info::get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);\n                      if ((!bVar7) || (is_global != false)) {\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  ppVVar5 = local_70;\n                  if (local_70 == (pointer)0xffffffffffffffff) {\n                    pOVar4 = this->targ_->iplt_;\n                    if (pOVar4 == (Output_data_plt_powerpc<64,_true> *)0x0) {\n                      Target_powerpc<64,_true>::iplt_section(this_00);\n                      goto LAB_0017e2f6;\n                    }\n                    if (((pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1) == 0) goto LAB_0017e2fb;\n                    ppVVar5 = (pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_;\n                    local_70 = ppVVar5;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar16 = (long)ppVVar5 +\n                       ((ulong)uVar12 - ((ulong)*(uint *)&p_Var18[2]._M_nxt + lVar2 + uVar11));\n              if ((0xffffffff < uVar16 + 0x80008000) || ((uVar16 & 3) != 0)) {\n                gold::Symbol::demangled_name((string *)local_58,(Symbol *)p_Var18[1]._M_nxt);\n                uVar6 = local_58._0_8_;\n                if (((ulong)p_Var18[1]._M_nxt[7]._M_nxt & 0x70000) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  gold::do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n                }\n                p_Var20 = p_Var18[1]._M_nxt[2]._M_nxt[1]._M_nxt;\n                format = (char *)gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                gold::gold_error(format,p_Var20,uVar6);\n                this_00 = (Target_powerpc<64,_true> *)local_58._0_8_;\n                if ((Target_powerpc<64,_true> *)local_58._0_8_ !=\n                    (Target_powerpc<64,_true> *)(local_58 + 0x10)) {\n                  operator_delete((void *)local_58._0_8_);\n                }\n              }\n              uVar10 = (uint)uVar16 & 0xffff;\n              uVar9 = (uint)uVar16 + 0x8000 >> 0x10;\n              uVar15 = uVar10 + 0xe98c0000;\n              uVar12 = uVar9 + 0x3d8c0000;\n              puVar17[1] = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                           uVar10 << 0x18;\n              *puVar17 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              puVar17[2] = 0xa603897d;\n              puVar17[3] = 0x2004804e;\n              p_Var18 = p_Var18->_M_nxt;\n              if (p_Var18 == (_Hash_node_base *)0x0) {\n                return;\n              }\n              p_Var20 = p_Var18[1]._M_nxt;\n              uVar9 = *(uint *)&p_Var18[2]._M_nxt;\n              uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);\n            } while (uVar12 != 0xffffffff);\n          }\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }\n      Target_powerpc<64,_true>::plt_section((Target_powerpc<64,_true> *)0x0);\n      in_RDX = extraout_RDX;\n    }\n    gold::Output_file::get_output_view((Output_file *)this_00,(off_t)of,in_RDX,this_1);\n  }" if (parenthesized_expression "((bVar1 & 2) != 0)" ( (binary_expression "(bVar1 & 2) != 0" (parenthesized_expression "(bVar1 & 2)" ( (binary_expression "bVar1 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    this_00 = (Target_powerpc<64,_true> *)this;\n    if ((-1 < lVar2) && (*(long *)&this->field_0x10 + lVar2 <= of->file_size_)) {\n      puVar19 = (ulong *)(of->base_ + lVar2);\n      of = (Output_file *)this->targ_;\n      this_00 = (Target_powerpc<64,_true> *)((Target_powerpc<64,_true> *)of)->plt_;\n      if (this_00 != (Target_powerpc<64,_true> *)0x0) {\n        if (((ulong)this_00->got_ & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(pointer *)&this_00->field_0x8;\n        uVar9 = this->end_branch_table_;\n        if (uVar9 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar11 = (long)local_88 + (-0x10 - *(long *)&this->field_0x8);\n          *puVar19 = uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                     (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                     (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                     (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38;\n          if ((*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10 & 2) == 0) {\n            puVar13 = puVar19 + 6;\n            puVar19[1] = 0x5009f42a602887d;\n            puVar19[2] = 0xf0ff4be8a602687d;\n            puVar19[3] = 0x145a627da603887d;\n            puVar19[4] = 0x8004be800008be9;\n            puVar19[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar19 + 7) = 0x8006be9;\n            puVar13 = (ulong *)((long)puVar19 + 0x3c);\n            puVar19[1] = 0x5009f42a602087c;\n            puVar19[2] = 0x180041f8a602687d;\n            puVar19[3] = 0xa603087cf0ff4be8;\n            puVar19[4] = 0x145a627d50608b7d;\n            puVar19[5] = 0x8be9d0ff0c38;\n            puVar19[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar13 = 0x2004804e;\n          uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;\n          puVar17 = (uint *)((long)puVar13 + 4);\n          if (puVar17 !=\n              (uint *)((long)puVar19 + (-(ulong)((uVar9 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar17 < (uint *)((ulong)this->end_branch_table_ + (long)puVar19)) {\n            uVar12 = 0;\n            while( true ) {\n              puVar14 = puVar17;\n              if ((uVar9 & 2) == 0) {\n                if (uVar12 < 0x8000) {\n                  uVar9 = uVar12 + 0x38000000;\n                  puVar14 = puVar17 + 1;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar12 << 0x18;\n                }\n                else {\n                  puVar14 = puVar17 + 2;\n                  uVar9 = (uVar12 >> 0x10) + 0x3c000000;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             (uVar12 >> 0x10) << 0x18;\n                  uVar9 = (uVar12 & 0xffff) + 0x60000000;\n                  puVar17[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                               (uVar12 & 0xffff) << 0x18;\n                }\n              }\n              puVar17 = puVar14 + 1;\n              uVar12 = uVar12 + 1;\n              uVar9 = 8U - ((int)puVar14 - (int)puVar19) & 0x3fffffc;\n              uVar10 = uVar9 + 0x48000000;\n              *puVar14 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              if ((uint *)((ulong)this->end_branch_table_ + (long)puVar19) <= puVar17) break;\n              uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;\n            }\n          }\n          if (((ulong)this_00->got_ & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(pointer *)&this_00->field_0x8;\n          uVar9 = this->end_branch_table_;\n        }\n        pGVar3 = gold::parameters->options_;\n        if (pGVar3 == (General_options *)0x0) {\nLAB_0017e2f6:\n                    /* WARNING: Subroutine does not return */\n          param_plt_align<64>();\n        }\n        if ((pGVar3->plt_align_).user_set_via_option == false) {\n          uVar12 = 0xffffffe0;\n          iVar8 = 0x20;\n        }\n        else {\n          iVar8 = 1 << ((byte)(pGVar3->plt_align_).value & 0x1f);\n          uVar12 = -iVar8;\n        }\n        uVar11 = (ulong)((uVar9 - 1) + iVar8 & uVar12);\n        if ((this->field_0x20 & 1) != 0) {\n          lVar2 = *(long *)&this->field_0x8;\n          p_Var18 = (this->global_entry_stubs_)._M_h._M_before_begin._M_nxt;\n          if (p_Var18 == (_Hash_node_base *)0x0) {\n            return;\n          }\n          p_Var20 = p_Var18[1]._M_nxt;\n          uVar9 = *(uint *)&p_Var18[2]._M_nxt;\n          uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);\n          if (uVar12 != 0xffffffff) {\n            local_70 = (pointer)0xffffffffffffffff;\n            do {\n              puVar17 = (uint *)(uVar9 + uVar11 + (long)puVar19);\n              ppVVar5 = local_88;\n              if (((ulong)p_Var20[7]._M_nxt & 0xf) == 10) {\n                if (((ulong)p_Var20[7]._M_nxt & 0x70000) == 0) {\n                  if (((ulong)p_Var20[2]._M_nxt[7]._M_nxt & 0x100000000) == 0) {\n                    if (*(int *)&p_Var20[3]._M_nxt != 0) goto LAB_0017dff5;\n                    if (((ulong)p_Var20[7]._M_nxt & 0x20000000) == 0) {\n                      bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if (((ulong)p_Var20[7]._M_nxt & 0x70000) != 0x40000) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && (((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0)) {\n                    pGVar3 = gold::parameters->options_;\n                    if (pGVar3 == (General_options *)0x0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if ((pGVar3->shared_).value != false) {\n                      this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_;\n                      bVar7 = gold::Version_script_info::get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);\n                      if ((!bVar7) || (is_global != false)) {\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  ppVVar5 = local_70;\n                  if (local_70 == (pointer)0xffffffffffffffff) {\n                    pOVar4 = this->targ_->iplt_;\n                    if (pOVar4 == (Output_data_plt_powerpc<64,_true> *)0x0) {\n                      Target_powerpc<64,_true>::iplt_section(this_00);\n                      goto LAB_0017e2f6;\n                    }\n                    if (((pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1) == 0) goto LAB_0017e2fb;\n                    ppVVar5 = (pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_;\n                    local_70 = ppVVar5;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar16 = (long)ppVVar5 +\n                       ((ulong)uVar12 - ((ulong)*(uint *)&p_Var18[2]._M_nxt + lVar2 + uVar11));\n              if ((0xffffffff < uVar16 + 0x80008000) || ((uVar16 & 3) != 0)) {\n                gold::Symbol::demangled_name((string *)local_58,(Symbol *)p_Var18[1]._M_nxt);\n                uVar6 = local_58._0_8_;\n                if (((ulong)p_Var18[1]._M_nxt[7]._M_nxt & 0x70000) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  gold::do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n                }\n                p_Var20 = p_Var18[1]._M_nxt[2]._M_nxt[1]._M_nxt;\n                format = (char *)gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                gold::gold_error(format,p_Var20,uVar6);\n                this_00 = (Target_powerpc<64,_true> *)local_58._0_8_;\n                if ((Target_powerpc<64,_true> *)local_58._0_8_ !=\n                    (Target_powerpc<64,_true> *)(local_58 + 0x10)) {\n                  operator_delete((void *)local_58._0_8_);\n                }\n              }\n              uVar10 = (uint)uVar16 & 0xffff;\n              uVar9 = (uint)uVar16 + 0x8000 >> 0x10;\n              uVar15 = uVar10 + 0xe98c0000;\n              uVar12 = uVar9 + 0x3d8c0000;\n              puVar17[1] = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                           uVar10 << 0x18;\n              *puVar17 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              puVar17[2] = 0xa603897d;\n              puVar17[3] = 0x2004804e;\n              p_Var18 = p_Var18->_M_nxt;\n              if (p_Var18 == (_Hash_node_base *)0x0) {\n                return;\n              }\n              p_Var20 = p_Var18[1]._M_nxt;\n              uVar9 = *(uint *)&p_Var18[2]._M_nxt;\n              uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);\n            } while (uVar12 != 0xffffffff);\n          }\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }\n      Target_powerpc<64,_true>::plt_section((Target_powerpc<64,_true> *)0x0);\n      in_RDX = extraout_RDX;\n    }\n    gold::Output_file::get_output_view((Output_file *)this_00,(off_t)of,in_RDX,this_1);\n  }" { (expression_statement "this_00 = (Target_powerpc<64,_true> *)this;" (assignment_expression "this_00 = (Target_powerpc<64,_true> *)this" identifier = (parenthesized_expression "(Target_powerpc<64,_true> *)this" ( (comma_expression "Target_powerpc<64,_true> *)this" (binary_expression "Target_powerpc<64" identifier < number_literal) , (binary_expression "_true> *)this" identifier > (pointer_expression "*)this" * (ERROR ")" )) identifier))) ))) ;) (if_statement "if ((-1 < lVar2) && (*(long *)&this->field_0x10 + lVar2 <= of->file_size_)) {\n      puVar19 = (ulong *)(of->base_ + lVar2);\n      of = (Output_file *)this->targ_;\n      this_00 = (Target_powerpc<64,_true> *)((Target_powerpc<64,_true> *)of)->plt_;\n      if (this_00 != (Target_powerpc<64,_true> *)0x0) {\n        if (((ulong)this_00->got_ & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(pointer *)&this_00->field_0x8;\n        uVar9 = this->end_branch_table_;\n        if (uVar9 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar11 = (long)local_88 + (-0x10 - *(long *)&this->field_0x8);\n          *puVar19 = uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                     (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                     (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                     (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38;\n          if ((*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10 & 2) == 0) {\n            puVar13 = puVar19 + 6;\n            puVar19[1] = 0x5009f42a602887d;\n            puVar19[2] = 0xf0ff4be8a602687d;\n            puVar19[3] = 0x145a627da603887d;\n            puVar19[4] = 0x8004be800008be9;\n            puVar19[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar19 + 7) = 0x8006be9;\n            puVar13 = (ulong *)((long)puVar19 + 0x3c);\n            puVar19[1] = 0x5009f42a602087c;\n            puVar19[2] = 0x180041f8a602687d;\n            puVar19[3] = 0xa603087cf0ff4be8;\n            puVar19[4] = 0x145a627d50608b7d;\n            puVar19[5] = 0x8be9d0ff0c38;\n            puVar19[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar13 = 0x2004804e;\n          uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;\n          puVar17 = (uint *)((long)puVar13 + 4);\n          if (puVar17 !=\n              (uint *)((long)puVar19 + (-(ulong)((uVar9 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar17 < (uint *)((ulong)this->end_branch_table_ + (long)puVar19)) {\n            uVar12 = 0;\n            while( true ) {\n              puVar14 = puVar17;\n              if ((uVar9 & 2) == 0) {\n                if (uVar12 < 0x8000) {\n                  uVar9 = uVar12 + 0x38000000;\n                  puVar14 = puVar17 + 1;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar12 << 0x18;\n                }\n                else {\n                  puVar14 = puVar17 + 2;\n                  uVar9 = (uVar12 >> 0x10) + 0x3c000000;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             (uVar12 >> 0x10) << 0x18;\n                  uVar9 = (uVar12 & 0xffff) + 0x60000000;\n                  puVar17[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                               (uVar12 & 0xffff) << 0x18;\n                }\n              }\n              puVar17 = puVar14 + 1;\n              uVar12 = uVar12 + 1;\n              uVar9 = 8U - ((int)puVar14 - (int)puVar19) & 0x3fffffc;\n              uVar10 = uVar9 + 0x48000000;\n              *puVar14 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              if ((uint *)((ulong)this->end_branch_table_ + (long)puVar19) <= puVar17) break;\n              uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;\n            }\n          }\n          if (((ulong)this_00->got_ & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(pointer *)&this_00->field_0x8;\n          uVar9 = this->end_branch_table_;\n        }\n        pGVar3 = gold::parameters->options_;\n        if (pGVar3 == (General_options *)0x0) {\nLAB_0017e2f6:\n                    /* WARNING: Subroutine does not return */\n          param_plt_align<64>();\n        }\n        if ((pGVar3->plt_align_).user_set_via_option == false) {\n          uVar12 = 0xffffffe0;\n          iVar8 = 0x20;\n        }\n        else {\n          iVar8 = 1 << ((byte)(pGVar3->plt_align_).value & 0x1f);\n          uVar12 = -iVar8;\n        }\n        uVar11 = (ulong)((uVar9 - 1) + iVar8 & uVar12);\n        if ((this->field_0x20 & 1) != 0) {\n          lVar2 = *(long *)&this->field_0x8;\n          p_Var18 = (this->global_entry_stubs_)._M_h._M_before_begin._M_nxt;\n          if (p_Var18 == (_Hash_node_base *)0x0) {\n            return;\n          }\n          p_Var20 = p_Var18[1]._M_nxt;\n          uVar9 = *(uint *)&p_Var18[2]._M_nxt;\n          uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);\n          if (uVar12 != 0xffffffff) {\n            local_70 = (pointer)0xffffffffffffffff;\n            do {\n              puVar17 = (uint *)(uVar9 + uVar11 + (long)puVar19);\n              ppVVar5 = local_88;\n              if (((ulong)p_Var20[7]._M_nxt & 0xf) == 10) {\n                if (((ulong)p_Var20[7]._M_nxt & 0x70000) == 0) {\n                  if (((ulong)p_Var20[2]._M_nxt[7]._M_nxt & 0x100000000) == 0) {\n                    if (*(int *)&p_Var20[3]._M_nxt != 0) goto LAB_0017dff5;\n                    if (((ulong)p_Var20[7]._M_nxt & 0x20000000) == 0) {\n                      bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if (((ulong)p_Var20[7]._M_nxt & 0x70000) != 0x40000) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && (((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0)) {\n                    pGVar3 = gold::parameters->options_;\n                    if (pGVar3 == (General_options *)0x0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if ((pGVar3->shared_).value != false) {\n                      this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_;\n                      bVar7 = gold::Version_script_info::get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);\n                      if ((!bVar7) || (is_global != false)) {\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  ppVVar5 = local_70;\n                  if (local_70 == (pointer)0xffffffffffffffff) {\n                    pOVar4 = this->targ_->iplt_;\n                    if (pOVar4 == (Output_data_plt_powerpc<64,_true> *)0x0) {\n                      Target_powerpc<64,_true>::iplt_section(this_00);\n                      goto LAB_0017e2f6;\n                    }\n                    if (((pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1) == 0) goto LAB_0017e2fb;\n                    ppVVar5 = (pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_;\n                    local_70 = ppVVar5;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar16 = (long)ppVVar5 +\n                       ((ulong)uVar12 - ((ulong)*(uint *)&p_Var18[2]._M_nxt + lVar2 + uVar11));\n              if ((0xffffffff < uVar16 + 0x80008000) || ((uVar16 & 3) != 0)) {\n                gold::Symbol::demangled_name((string *)local_58,(Symbol *)p_Var18[1]._M_nxt);\n                uVar6 = local_58._0_8_;\n                if (((ulong)p_Var18[1]._M_nxt[7]._M_nxt & 0x70000) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  gold::do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n                }\n                p_Var20 = p_Var18[1]._M_nxt[2]._M_nxt[1]._M_nxt;\n                format = (char *)gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                gold::gold_error(format,p_Var20,uVar6);\n                this_00 = (Target_powerpc<64,_true> *)local_58._0_8_;\n                if ((Target_powerpc<64,_true> *)local_58._0_8_ !=\n                    (Target_powerpc<64,_true> *)(local_58 + 0x10)) {\n                  operator_delete((void *)local_58._0_8_);\n                }\n              }\n              uVar10 = (uint)uVar16 & 0xffff;\n              uVar9 = (uint)uVar16 + 0x8000 >> 0x10;\n              uVar15 = uVar10 + 0xe98c0000;\n              uVar12 = uVar9 + 0x3d8c0000;\n              puVar17[1] = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                           uVar10 << 0x18;\n              *puVar17 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              puVar17[2] = 0xa603897d;\n              puVar17[3] = 0x2004804e;\n              p_Var18 = p_Var18->_M_nxt;\n              if (p_Var18 == (_Hash_node_base *)0x0) {\n                return;\n              }\n              p_Var20 = p_Var18[1]._M_nxt;\n              uVar9 = *(uint *)&p_Var18[2]._M_nxt;\n              uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);\n            } while (uVar12 != 0xffffffff);\n          }\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }\n      Target_powerpc<64,_true>::plt_section((Target_powerpc<64,_true> *)0x0);\n      in_RDX = extraout_RDX;\n    }" if (parenthesized_expression "((-1 < lVar2) && (*(long *)&this->field_0x10 + lVar2 <= of->file_size_))" ( (binary_expression "(-1 < lVar2) && (*(long *)&this->field_0x10 + lVar2 <= of->file_size_)" (parenthesized_expression "(-1 < lVar2)" ( (binary_expression "-1 < lVar2" number_literal < identifier) )) && (parenthesized_expression "(*(long *)&this->field_0x10 + lVar2 <= of->file_size_)" ( (binary_expression "*(long *)&this->field_0x10 + lVar2 <= of->file_size_" (binary_expression "*(long *)&this->field_0x10 + lVar2" (pointer_expression "*(long *)&this->field_0x10" * (cast_expression "(long *)&this->field_0x10" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0x10" & (field_expression "this->field_0x10" identifier -> field_identifier)))) + identifier) <= (field_expression "of->file_size_" identifier -> field_identifier)) ))) )) (compound_statement "{\n      puVar19 = (ulong *)(of->base_ + lVar2);\n      of = (Output_file *)this->targ_;\n      this_00 = (Target_powerpc<64,_true> *)((Target_powerpc<64,_true> *)of)->plt_;\n      if (this_00 != (Target_powerpc<64,_true> *)0x0) {\n        if (((ulong)this_00->got_ & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(pointer *)&this_00->field_0x8;\n        uVar9 = this->end_branch_table_;\n        if (uVar9 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar11 = (long)local_88 + (-0x10 - *(long *)&this->field_0x8);\n          *puVar19 = uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                     (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                     (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                     (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38;\n          if ((*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10 & 2) == 0) {\n            puVar13 = puVar19 + 6;\n            puVar19[1] = 0x5009f42a602887d;\n            puVar19[2] = 0xf0ff4be8a602687d;\n            puVar19[3] = 0x145a627da603887d;\n            puVar19[4] = 0x8004be800008be9;\n            puVar19[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar19 + 7) = 0x8006be9;\n            puVar13 = (ulong *)((long)puVar19 + 0x3c);\n            puVar19[1] = 0x5009f42a602087c;\n            puVar19[2] = 0x180041f8a602687d;\n            puVar19[3] = 0xa603087cf0ff4be8;\n            puVar19[4] = 0x145a627d50608b7d;\n            puVar19[5] = 0x8be9d0ff0c38;\n            puVar19[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar13 = 0x2004804e;\n          uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;\n          puVar17 = (uint *)((long)puVar13 + 4);\n          if (puVar17 !=\n              (uint *)((long)puVar19 + (-(ulong)((uVar9 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar17 < (uint *)((ulong)this->end_branch_table_ + (long)puVar19)) {\n            uVar12 = 0;\n            while( true ) {\n              puVar14 = puVar17;\n              if ((uVar9 & 2) == 0) {\n                if (uVar12 < 0x8000) {\n                  uVar9 = uVar12 + 0x38000000;\n                  puVar14 = puVar17 + 1;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar12 << 0x18;\n                }\n                else {\n                  puVar14 = puVar17 + 2;\n                  uVar9 = (uVar12 >> 0x10) + 0x3c000000;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             (uVar12 >> 0x10) << 0x18;\n                  uVar9 = (uVar12 & 0xffff) + 0x60000000;\n                  puVar17[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                               (uVar12 & 0xffff) << 0x18;\n                }\n              }\n              puVar17 = puVar14 + 1;\n              uVar12 = uVar12 + 1;\n              uVar9 = 8U - ((int)puVar14 - (int)puVar19) & 0x3fffffc;\n              uVar10 = uVar9 + 0x48000000;\n              *puVar14 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              if ((uint *)((ulong)this->end_branch_table_ + (long)puVar19) <= puVar17) break;\n              uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;\n            }\n          }\n          if (((ulong)this_00->got_ & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(pointer *)&this_00->field_0x8;\n          uVar9 = this->end_branch_table_;\n        }\n        pGVar3 = gold::parameters->options_;\n        if (pGVar3 == (General_options *)0x0) {\nLAB_0017e2f6:\n                    /* WARNING: Subroutine does not return */\n          param_plt_align<64>();\n        }\n        if ((pGVar3->plt_align_).user_set_via_option == false) {\n          uVar12 = 0xffffffe0;\n          iVar8 = 0x20;\n        }\n        else {\n          iVar8 = 1 << ((byte)(pGVar3->plt_align_).value & 0x1f);\n          uVar12 = -iVar8;\n        }\n        uVar11 = (ulong)((uVar9 - 1) + iVar8 & uVar12);\n        if ((this->field_0x20 & 1) != 0) {\n          lVar2 = *(long *)&this->field_0x8;\n          p_Var18 = (this->global_entry_stubs_)._M_h._M_before_begin._M_nxt;\n          if (p_Var18 == (_Hash_node_base *)0x0) {\n            return;\n          }\n          p_Var20 = p_Var18[1]._M_nxt;\n          uVar9 = *(uint *)&p_Var18[2]._M_nxt;\n          uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);\n          if (uVar12 != 0xffffffff) {\n            local_70 = (pointer)0xffffffffffffffff;\n            do {\n              puVar17 = (uint *)(uVar9 + uVar11 + (long)puVar19);\n              ppVVar5 = local_88;\n              if (((ulong)p_Var20[7]._M_nxt & 0xf) == 10) {\n                if (((ulong)p_Var20[7]._M_nxt & 0x70000) == 0) {\n                  if (((ulong)p_Var20[2]._M_nxt[7]._M_nxt & 0x100000000) == 0) {\n                    if (*(int *)&p_Var20[3]._M_nxt != 0) goto LAB_0017dff5;\n                    if (((ulong)p_Var20[7]._M_nxt & 0x20000000) == 0) {\n                      bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if (((ulong)p_Var20[7]._M_nxt & 0x70000) != 0x40000) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && (((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0)) {\n                    pGVar3 = gold::parameters->options_;\n                    if (pGVar3 == (General_options *)0x0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if ((pGVar3->shared_).value != false) {\n                      this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_;\n                      bVar7 = gold::Version_script_info::get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);\n                      if ((!bVar7) || (is_global != false)) {\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  ppVVar5 = local_70;\n                  if (local_70 == (pointer)0xffffffffffffffff) {\n                    pOVar4 = this->targ_->iplt_;\n                    if (pOVar4 == (Output_data_plt_powerpc<64,_true> *)0x0) {\n                      Target_powerpc<64,_true>::iplt_section(this_00);\n                      goto LAB_0017e2f6;\n                    }\n                    if (((pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1) == 0) goto LAB_0017e2fb;\n                    ppVVar5 = (pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_;\n                    local_70 = ppVVar5;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar16 = (long)ppVVar5 +\n                       ((ulong)uVar12 - ((ulong)*(uint *)&p_Var18[2]._M_nxt + lVar2 + uVar11));\n              if ((0xffffffff < uVar16 + 0x80008000) || ((uVar16 & 3) != 0)) {\n                gold::Symbol::demangled_name((string *)local_58,(Symbol *)p_Var18[1]._M_nxt);\n                uVar6 = local_58._0_8_;\n                if (((ulong)p_Var18[1]._M_nxt[7]._M_nxt & 0x70000) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  gold::do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n                }\n                p_Var20 = p_Var18[1]._M_nxt[2]._M_nxt[1]._M_nxt;\n                format = (char *)gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                gold::gold_error(format,p_Var20,uVar6);\n                this_00 = (Target_powerpc<64,_true> *)local_58._0_8_;\n                if ((Target_powerpc<64,_true> *)local_58._0_8_ !=\n                    (Target_powerpc<64,_true> *)(local_58 + 0x10)) {\n                  operator_delete((void *)local_58._0_8_);\n                }\n              }\n              uVar10 = (uint)uVar16 & 0xffff;\n              uVar9 = (uint)uVar16 + 0x8000 >> 0x10;\n              uVar15 = uVar10 + 0xe98c0000;\n              uVar12 = uVar9 + 0x3d8c0000;\n              puVar17[1] = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                           uVar10 << 0x18;\n              *puVar17 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              puVar17[2] = 0xa603897d;\n              puVar17[3] = 0x2004804e;\n              p_Var18 = p_Var18->_M_nxt;\n              if (p_Var18 == (_Hash_node_base *)0x0) {\n                return;\n              }\n              p_Var20 = p_Var18[1]._M_nxt;\n              uVar9 = *(uint *)&p_Var18[2]._M_nxt;\n              uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);\n            } while (uVar12 != 0xffffffff);\n          }\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }\n      Target_powerpc<64,_true>::plt_section((Target_powerpc<64,_true> *)0x0);\n      in_RDX = extraout_RDX;\n    }" { (expression_statement "puVar19 = (ulong *)(of->base_ + lVar2);" (assignment_expression "puVar19 = (ulong *)(of->base_ + lVar2)" identifier = (cast_expression "(ulong *)(of->base_ + lVar2)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(of->base_ + lVar2)" ( (binary_expression "of->base_ + lVar2" (field_expression "of->base_" identifier -> field_identifier) + identifier) )))) ;) (expression_statement "of = (Output_file *)this->targ_;" (assignment_expression "of = (Output_file *)this->targ_" identifier = (cast_expression "(Output_file *)this->targ_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "this->targ_" identifier -> field_identifier))) ;) (expression_statement "this_00 = (Target_powerpc<64,_true> *)((Target_powerpc<64,_true> *)of)->plt_;" (assignment_expression "this_00 = (Target_powerpc<64,_true> *)((Target_powerpc<64,_true> *)of)->plt_" identifier = (call_expression "(Target_powerpc<64,_true> *)((Target_powerpc<64,_true> *)of)->plt_" (parenthesized_expression "(Target_powerpc<64,_true> *)" ( (comma_expression "Target_powerpc<64,_true> *" (binary_expression "Target_powerpc<64" identifier < number_literal) , (binary_expression "_true> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "((Target_powerpc<64,_true> *)of)->plt_" ( (field_expression "(Target_powerpc<64,_true> *)of)->plt_" (parenthesized_expression "(Target_powerpc<64,_true> *)of)" ( (comma_expression "Target_powerpc<64,_true> *)of" (binary_expression "Target_powerpc<64" identifier < number_literal) , (binary_expression "_true> *)of" identifier > (pointer_expression "*)of" * (ERROR ")" )) identifier))) )) -> field_identifier) )))) ;) (if_statement "if (this_00 != (Target_powerpc<64,_true> *)0x0) {\n        if (((ulong)this_00->got_ & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(pointer *)&this_00->field_0x8;\n        uVar9 = this->end_branch_table_;\n        if (uVar9 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar11 = (long)local_88 + (-0x10 - *(long *)&this->field_0x8);\n          *puVar19 = uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                     (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                     (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                     (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38;\n          if ((*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10 & 2) == 0) {\n            puVar13 = puVar19 + 6;\n            puVar19[1] = 0x5009f42a602887d;\n            puVar19[2] = 0xf0ff4be8a602687d;\n            puVar19[3] = 0x145a627da603887d;\n            puVar19[4] = 0x8004be800008be9;\n            puVar19[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar19 + 7) = 0x8006be9;\n            puVar13 = (ulong *)((long)puVar19 + 0x3c);\n            puVar19[1] = 0x5009f42a602087c;\n            puVar19[2] = 0x180041f8a602687d;\n            puVar19[3] = 0xa603087cf0ff4be8;\n            puVar19[4] = 0x145a627d50608b7d;\n            puVar19[5] = 0x8be9d0ff0c38;\n            puVar19[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar13 = 0x2004804e;\n          uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;\n          puVar17 = (uint *)((long)puVar13 + 4);\n          if (puVar17 !=\n              (uint *)((long)puVar19 + (-(ulong)((uVar9 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar17 < (uint *)((ulong)this->end_branch_table_ + (long)puVar19)) {\n            uVar12 = 0;\n            while( true ) {\n              puVar14 = puVar17;\n              if ((uVar9 & 2) == 0) {\n                if (uVar12 < 0x8000) {\n                  uVar9 = uVar12 + 0x38000000;\n                  puVar14 = puVar17 + 1;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar12 << 0x18;\n                }\n                else {\n                  puVar14 = puVar17 + 2;\n                  uVar9 = (uVar12 >> 0x10) + 0x3c000000;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             (uVar12 >> 0x10) << 0x18;\n                  uVar9 = (uVar12 & 0xffff) + 0x60000000;\n                  puVar17[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                               (uVar12 & 0xffff) << 0x18;\n                }\n              }\n              puVar17 = puVar14 + 1;\n              uVar12 = uVar12 + 1;\n              uVar9 = 8U - ((int)puVar14 - (int)puVar19) & 0x3fffffc;\n              uVar10 = uVar9 + 0x48000000;\n              *puVar14 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              if ((uint *)((ulong)this->end_branch_table_ + (long)puVar19) <= puVar17) break;\n              uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;\n            }\n          }\n          if (((ulong)this_00->got_ & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(pointer *)&this_00->field_0x8;\n          uVar9 = this->end_branch_table_;\n        }\n        pGVar3 = gold::parameters->options_;\n        if (pGVar3 == (General_options *)0x0) {\nLAB_0017e2f6:\n                    /* WARNING: Subroutine does not return */\n          param_plt_align<64>();\n        }\n        if ((pGVar3->plt_align_).user_set_via_option == false) {\n          uVar12 = 0xffffffe0;\n          iVar8 = 0x20;\n        }\n        else {\n          iVar8 = 1 << ((byte)(pGVar3->plt_align_).value & 0x1f);\n          uVar12 = -iVar8;\n        }\n        uVar11 = (ulong)((uVar9 - 1) + iVar8 & uVar12);\n        if ((this->field_0x20 & 1) != 0) {\n          lVar2 = *(long *)&this->field_0x8;\n          p_Var18 = (this->global_entry_stubs_)._M_h._M_before_begin._M_nxt;\n          if (p_Var18 == (_Hash_node_base *)0x0) {\n            return;\n          }\n          p_Var20 = p_Var18[1]._M_nxt;\n          uVar9 = *(uint *)&p_Var18[2]._M_nxt;\n          uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);\n          if (uVar12 != 0xffffffff) {\n            local_70 = (pointer)0xffffffffffffffff;\n            do {\n              puVar17 = (uint *)(uVar9 + uVar11 + (long)puVar19);\n              ppVVar5 = local_88;\n              if (((ulong)p_Var20[7]._M_nxt & 0xf) == 10) {\n                if (((ulong)p_Var20[7]._M_nxt & 0x70000) == 0) {\n                  if (((ulong)p_Var20[2]._M_nxt[7]._M_nxt & 0x100000000) == 0) {\n                    if (*(int *)&p_Var20[3]._M_nxt != 0) goto LAB_0017dff5;\n                    if (((ulong)p_Var20[7]._M_nxt & 0x20000000) == 0) {\n                      bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if (((ulong)p_Var20[7]._M_nxt & 0x70000) != 0x40000) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && (((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0)) {\n                    pGVar3 = gold::parameters->options_;\n                    if (pGVar3 == (General_options *)0x0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if ((pGVar3->shared_).value != false) {\n                      this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_;\n                      bVar7 = gold::Version_script_info::get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);\n                      if ((!bVar7) || (is_global != false)) {\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  ppVVar5 = local_70;\n                  if (local_70 == (pointer)0xffffffffffffffff) {\n                    pOVar4 = this->targ_->iplt_;\n                    if (pOVar4 == (Output_data_plt_powerpc<64,_true> *)0x0) {\n                      Target_powerpc<64,_true>::iplt_section(this_00);\n                      goto LAB_0017e2f6;\n                    }\n                    if (((pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1) == 0) goto LAB_0017e2fb;\n                    ppVVar5 = (pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_;\n                    local_70 = ppVVar5;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar16 = (long)ppVVar5 +\n                       ((ulong)uVar12 - ((ulong)*(uint *)&p_Var18[2]._M_nxt + lVar2 + uVar11));\n              if ((0xffffffff < uVar16 + 0x80008000) || ((uVar16 & 3) != 0)) {\n                gold::Symbol::demangled_name((string *)local_58,(Symbol *)p_Var18[1]._M_nxt);\n                uVar6 = local_58._0_8_;\n                if (((ulong)p_Var18[1]._M_nxt[7]._M_nxt & 0x70000) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  gold::do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n                }\n                p_Var20 = p_Var18[1]._M_nxt[2]._M_nxt[1]._M_nxt;\n                format = (char *)gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                gold::gold_error(format,p_Var20,uVar6);\n                this_00 = (Target_powerpc<64,_true> *)local_58._0_8_;\n                if ((Target_powerpc<64,_true> *)local_58._0_8_ !=\n                    (Target_powerpc<64,_true> *)(local_58 + 0x10)) {\n                  operator_delete((void *)local_58._0_8_);\n                }\n              }\n              uVar10 = (uint)uVar16 & 0xffff;\n              uVar9 = (uint)uVar16 + 0x8000 >> 0x10;\n              uVar15 = uVar10 + 0xe98c0000;\n              uVar12 = uVar9 + 0x3d8c0000;\n              puVar17[1] = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                           uVar10 << 0x18;\n              *puVar17 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              puVar17[2] = 0xa603897d;\n              puVar17[3] = 0x2004804e;\n              p_Var18 = p_Var18->_M_nxt;\n              if (p_Var18 == (_Hash_node_base *)0x0) {\n                return;\n              }\n              p_Var20 = p_Var18[1]._M_nxt;\n              uVar9 = *(uint *)&p_Var18[2]._M_nxt;\n              uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);\n            } while (uVar12 != 0xffffffff);\n          }\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }" if (parenthesized_expression "(this_00 != (Target_powerpc<64,_true> *)0x0)" ( (binary_expression "this_00 != (Target_powerpc<64,_true> *)0x0)" identifier != (parenthesized_expression "(Target_powerpc<64,_true> *)0x0)" ( (comma_expression "Target_powerpc<64,_true> *)0x0" (binary_expression "Target_powerpc<64" identifier < number_literal) , (binary_expression "_true> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n        if (((ulong)this_00->got_ & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(pointer *)&this_00->field_0x8;\n        uVar9 = this->end_branch_table_;\n        if (uVar9 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar11 = (long)local_88 + (-0x10 - *(long *)&this->field_0x8);\n          *puVar19 = uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                     (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                     (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                     (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38;\n          if ((*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10 & 2) == 0) {\n            puVar13 = puVar19 + 6;\n            puVar19[1] = 0x5009f42a602887d;\n            puVar19[2] = 0xf0ff4be8a602687d;\n            puVar19[3] = 0x145a627da603887d;\n            puVar19[4] = 0x8004be800008be9;\n            puVar19[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar19 + 7) = 0x8006be9;\n            puVar13 = (ulong *)((long)puVar19 + 0x3c);\n            puVar19[1] = 0x5009f42a602087c;\n            puVar19[2] = 0x180041f8a602687d;\n            puVar19[3] = 0xa603087cf0ff4be8;\n            puVar19[4] = 0x145a627d50608b7d;\n            puVar19[5] = 0x8be9d0ff0c38;\n            puVar19[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar13 = 0x2004804e;\n          uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;\n          puVar17 = (uint *)((long)puVar13 + 4);\n          if (puVar17 !=\n              (uint *)((long)puVar19 + (-(ulong)((uVar9 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar17 < (uint *)((ulong)this->end_branch_table_ + (long)puVar19)) {\n            uVar12 = 0;\n            while( true ) {\n              puVar14 = puVar17;\n              if ((uVar9 & 2) == 0) {\n                if (uVar12 < 0x8000) {\n                  uVar9 = uVar12 + 0x38000000;\n                  puVar14 = puVar17 + 1;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar12 << 0x18;\n                }\n                else {\n                  puVar14 = puVar17 + 2;\n                  uVar9 = (uVar12 >> 0x10) + 0x3c000000;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             (uVar12 >> 0x10) << 0x18;\n                  uVar9 = (uVar12 & 0xffff) + 0x60000000;\n                  puVar17[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                               (uVar12 & 0xffff) << 0x18;\n                }\n              }\n              puVar17 = puVar14 + 1;\n              uVar12 = uVar12 + 1;\n              uVar9 = 8U - ((int)puVar14 - (int)puVar19) & 0x3fffffc;\n              uVar10 = uVar9 + 0x48000000;\n              *puVar14 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              if ((uint *)((ulong)this->end_branch_table_ + (long)puVar19) <= puVar17) break;\n              uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;\n            }\n          }\n          if (((ulong)this_00->got_ & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(pointer *)&this_00->field_0x8;\n          uVar9 = this->end_branch_table_;\n        }\n        pGVar3 = gold::parameters->options_;\n        if (pGVar3 == (General_options *)0x0) {\nLAB_0017e2f6:\n                    /* WARNING: Subroutine does not return */\n          param_plt_align<64>();\n        }\n        if ((pGVar3->plt_align_).user_set_via_option == false) {\n          uVar12 = 0xffffffe0;\n          iVar8 = 0x20;\n        }\n        else {\n          iVar8 = 1 << ((byte)(pGVar3->plt_align_).value & 0x1f);\n          uVar12 = -iVar8;\n        }\n        uVar11 = (ulong)((uVar9 - 1) + iVar8 & uVar12);\n        if ((this->field_0x20 & 1) != 0) {\n          lVar2 = *(long *)&this->field_0x8;\n          p_Var18 = (this->global_entry_stubs_)._M_h._M_before_begin._M_nxt;\n          if (p_Var18 == (_Hash_node_base *)0x0) {\n            return;\n          }\n          p_Var20 = p_Var18[1]._M_nxt;\n          uVar9 = *(uint *)&p_Var18[2]._M_nxt;\n          uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);\n          if (uVar12 != 0xffffffff) {\n            local_70 = (pointer)0xffffffffffffffff;\n            do {\n              puVar17 = (uint *)(uVar9 + uVar11 + (long)puVar19);\n              ppVVar5 = local_88;\n              if (((ulong)p_Var20[7]._M_nxt & 0xf) == 10) {\n                if (((ulong)p_Var20[7]._M_nxt & 0x70000) == 0) {\n                  if (((ulong)p_Var20[2]._M_nxt[7]._M_nxt & 0x100000000) == 0) {\n                    if (*(int *)&p_Var20[3]._M_nxt != 0) goto LAB_0017dff5;\n                    if (((ulong)p_Var20[7]._M_nxt & 0x20000000) == 0) {\n                      bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if (((ulong)p_Var20[7]._M_nxt & 0x70000) != 0x40000) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && (((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0)) {\n                    pGVar3 = gold::parameters->options_;\n                    if (pGVar3 == (General_options *)0x0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if ((pGVar3->shared_).value != false) {\n                      this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_;\n                      bVar7 = gold::Version_script_info::get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);\n                      if ((!bVar7) || (is_global != false)) {\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  ppVVar5 = local_70;\n                  if (local_70 == (pointer)0xffffffffffffffff) {\n                    pOVar4 = this->targ_->iplt_;\n                    if (pOVar4 == (Output_data_plt_powerpc<64,_true> *)0x0) {\n                      Target_powerpc<64,_true>::iplt_section(this_00);\n                      goto LAB_0017e2f6;\n                    }\n                    if (((pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1) == 0) goto LAB_0017e2fb;\n                    ppVVar5 = (pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_;\n                    local_70 = ppVVar5;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar16 = (long)ppVVar5 +\n                       ((ulong)uVar12 - ((ulong)*(uint *)&p_Var18[2]._M_nxt + lVar2 + uVar11));\n              if ((0xffffffff < uVar16 + 0x80008000) || ((uVar16 & 3) != 0)) {\n                gold::Symbol::demangled_name((string *)local_58,(Symbol *)p_Var18[1]._M_nxt);\n                uVar6 = local_58._0_8_;\n                if (((ulong)p_Var18[1]._M_nxt[7]._M_nxt & 0x70000) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  gold::do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n                }\n                p_Var20 = p_Var18[1]._M_nxt[2]._M_nxt[1]._M_nxt;\n                format = (char *)gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                gold::gold_error(format,p_Var20,uVar6);\n                this_00 = (Target_powerpc<64,_true> *)local_58._0_8_;\n                if ((Target_powerpc<64,_true> *)local_58._0_8_ !=\n                    (Target_powerpc<64,_true> *)(local_58 + 0x10)) {\n                  operator_delete((void *)local_58._0_8_);\n                }\n              }\n              uVar10 = (uint)uVar16 & 0xffff;\n              uVar9 = (uint)uVar16 + 0x8000 >> 0x10;\n              uVar15 = uVar10 + 0xe98c0000;\n              uVar12 = uVar9 + 0x3d8c0000;\n              puVar17[1] = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                           uVar10 << 0x18;\n              *puVar17 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              puVar17[2] = 0xa603897d;\n              puVar17[3] = 0x2004804e;\n              p_Var18 = p_Var18->_M_nxt;\n              if (p_Var18 == (_Hash_node_base *)0x0) {\n                return;\n              }\n              p_Var20 = p_Var18[1]._M_nxt;\n              uVar9 = *(uint *)&p_Var18[2]._M_nxt;\n              uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);\n            } while (uVar12 != 0xffffffff);\n          }\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }" { (if_statement "if (((ulong)this_00->got_ & 1) == 0) goto LAB_0017e2fb;" if (parenthesized_expression "(((ulong)this_00->got_ & 1) == 0)" ( (binary_expression "((ulong)this_00->got_ & 1) == 0" (parenthesized_expression "((ulong)this_00->got_ & 1)" ( (binary_expression "(ulong)this_00->got_ & 1" (cast_expression "(ulong)this_00->got_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "this_00->got_" identifier -> field_identifier)) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0017e2fb;" goto statement_identifier ;)) (expression_statement "local_88 = *(pointer *)&this_00->field_0x8;" (assignment_expression "local_88 = *(pointer *)&this_00->field_0x8" identifier = (pointer_expression "*(pointer *)&this_00->field_0x8" * (cast_expression "(pointer *)&this_00->field_0x8" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this_00->field_0x8" & (field_expression "this_00->field_0x8" identifier -> field_identifier))))) ;) (expression_statement "uVar9 = this->end_branch_table_;" (assignment_expression "uVar9 = this->end_branch_table_" identifier = (field_expression "this->end_branch_table_" identifier -> field_identifier)) ;) (if_statement "if (uVar9 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar11 = (long)local_88 + (-0x10 - *(long *)&this->field_0x8);\n          *puVar19 = uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                     (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                     (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                     (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38;\n          if ((*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10 & 2) == 0) {\n            puVar13 = puVar19 + 6;\n            puVar19[1] = 0x5009f42a602887d;\n            puVar19[2] = 0xf0ff4be8a602687d;\n            puVar19[3] = 0x145a627da603887d;\n            puVar19[4] = 0x8004be800008be9;\n            puVar19[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar19 + 7) = 0x8006be9;\n            puVar13 = (ulong *)((long)puVar19 + 0x3c);\n            puVar19[1] = 0x5009f42a602087c;\n            puVar19[2] = 0x180041f8a602687d;\n            puVar19[3] = 0xa603087cf0ff4be8;\n            puVar19[4] = 0x145a627d50608b7d;\n            puVar19[5] = 0x8be9d0ff0c38;\n            puVar19[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar13 = 0x2004804e;\n          uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;\n          puVar17 = (uint *)((long)puVar13 + 4);\n          if (puVar17 !=\n              (uint *)((long)puVar19 + (-(ulong)((uVar9 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar17 < (uint *)((ulong)this->end_branch_table_ + (long)puVar19)) {\n            uVar12 = 0;\n            while( true ) {\n              puVar14 = puVar17;\n              if ((uVar9 & 2) == 0) {\n                if (uVar12 < 0x8000) {\n                  uVar9 = uVar12 + 0x38000000;\n                  puVar14 = puVar17 + 1;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar12 << 0x18;\n                }\n                else {\n                  puVar14 = puVar17 + 2;\n                  uVar9 = (uVar12 >> 0x10) + 0x3c000000;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             (uVar12 >> 0x10) << 0x18;\n                  uVar9 = (uVar12 & 0xffff) + 0x60000000;\n                  puVar17[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                               (uVar12 & 0xffff) << 0x18;\n                }\n              }\n              puVar17 = puVar14 + 1;\n              uVar12 = uVar12 + 1;\n              uVar9 = 8U - ((int)puVar14 - (int)puVar19) & 0x3fffffc;\n              uVar10 = uVar9 + 0x48000000;\n              *puVar14 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              if ((uint *)((ulong)this->end_branch_table_ + (long)puVar19) <= puVar17) break;\n              uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;\n            }\n          }\n          if (((ulong)this_00->got_ & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(pointer *)&this_00->field_0x8;\n          uVar9 = this->end_branch_table_;\n        }" if (parenthesized_expression "(uVar9 != 0)" ( (binary_expression "uVar9 != 0" identifier != number_literal) )) (compound_statement "{\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar11 = (long)local_88 + (-0x10 - *(long *)&this->field_0x8);\n          *puVar19 = uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                     (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                     (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                     (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38;\n          if ((*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10 & 2) == 0) {\n            puVar13 = puVar19 + 6;\n            puVar19[1] = 0x5009f42a602887d;\n            puVar19[2] = 0xf0ff4be8a602687d;\n            puVar19[3] = 0x145a627da603887d;\n            puVar19[4] = 0x8004be800008be9;\n            puVar19[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar19 + 7) = 0x8006be9;\n            puVar13 = (ulong *)((long)puVar19 + 0x3c);\n            puVar19[1] = 0x5009f42a602087c;\n            puVar19[2] = 0x180041f8a602687d;\n            puVar19[3] = 0xa603087cf0ff4be8;\n            puVar19[4] = 0x145a627d50608b7d;\n            puVar19[5] = 0x8be9d0ff0c38;\n            puVar19[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar13 = 0x2004804e;\n          uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;\n          puVar17 = (uint *)((long)puVar13 + 4);\n          if (puVar17 !=\n              (uint *)((long)puVar19 + (-(ulong)((uVar9 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar17 < (uint *)((ulong)this->end_branch_table_ + (long)puVar19)) {\n            uVar12 = 0;\n            while( true ) {\n              puVar14 = puVar17;\n              if ((uVar9 & 2) == 0) {\n                if (uVar12 < 0x8000) {\n                  uVar9 = uVar12 + 0x38000000;\n                  puVar14 = puVar17 + 1;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar12 << 0x18;\n                }\n                else {\n                  puVar14 = puVar17 + 2;\n                  uVar9 = (uVar12 >> 0x10) + 0x3c000000;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             (uVar12 >> 0x10) << 0x18;\n                  uVar9 = (uVar12 & 0xffff) + 0x60000000;\n                  puVar17[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                               (uVar12 & 0xffff) << 0x18;\n                }\n              }\n              puVar17 = puVar14 + 1;\n              uVar12 = uVar12 + 1;\n              uVar9 = 8U - ((int)puVar14 - (int)puVar19) & 0x3fffffc;\n              uVar10 = uVar9 + 0x48000000;\n              *puVar14 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              if ((uint *)((ulong)this->end_branch_table_ + (long)puVar19) <= puVar17) break;\n              uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;\n            }\n          }\n          if (((ulong)this_00->got_ & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(pointer *)&this_00->field_0x8;\n          uVar9 = this->end_branch_table_;\n        }" { (if_statement "if ((bVar1 & 1) == 0) goto LAB_0017e2fb;" if (parenthesized_expression "((bVar1 & 1) == 0)" ( (binary_expression "(bVar1 & 1) == 0" (parenthesized_expression "(bVar1 & 1)" ( (binary_expression "bVar1 & 1" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0017e2fb;" goto statement_identifier ;)) (expression_statement "uVar11 = (long)local_88 + (-0x10 - *(long *)&this->field_0x8);" (assignment_expression "uVar11 = (long)local_88 + (-0x10 - *(long *)&this->field_0x8)" identifier = (binary_expression "(long)local_88 + (-0x10 - *(long *)&this->field_0x8)" (cast_expression "(long)local_88" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "(-0x10 - *(long *)&this->field_0x8)" ( (binary_expression "-0x10 - *(long *)&this->field_0x8" number_literal - (pointer_expression "*(long *)&this->field_0x8" * (cast_expression "(long *)&this->field_0x8" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0x8" & (field_expression "this->field_0x8" identifier -> field_identifier))))) )))) ;) (expression_statement "*puVar19 = uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                     (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                     (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                     (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38;" (assignment_expression "*puVar19 = uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                     (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                     (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                     (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38" (pointer_expression "*puVar19" * identifier) = (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                     (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                     (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                     (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                     (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                     (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                     (uVar11 & 0xff00) << 0x28" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                     (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                     (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                     (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                     (uVar11 & 0xff000000) << 8" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                     (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                     (uVar11 & 0xff0000000000) >> 0x18" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28" (binary_expression "uVar11 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar11 & 0xff000000000000)" ( (binary_expression "uVar11 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar11 & 0xff0000000000)" ( (binary_expression "uVar11 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00000000) >> 8" (parenthesized_expression "(uVar11 & 0xff00000000)" ( (binary_expression "uVar11 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff000000) << 8" (parenthesized_expression "(uVar11 & 0xff000000)" ( (binary_expression "uVar11 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar11 & 0xff0000) << 0x18" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar11 & 0xff00) << 0x28" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x38" identifier << number_literal))) ;) (if_statement "if ((*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10 & 2) == 0) {\n            puVar13 = puVar19 + 6;\n            puVar19[1] = 0x5009f42a602887d;\n            puVar19[2] = 0xf0ff4be8a602687d;\n            puVar19[3] = 0x145a627da603887d;\n            puVar19[4] = 0x8004be800008be9;\n            puVar19[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar19 + 7) = 0x8006be9;\n            puVar13 = (ulong *)((long)puVar19 + 0x3c);\n            puVar19[1] = 0x5009f42a602087c;\n            puVar19[2] = 0x180041f8a602687d;\n            puVar19[3] = 0xa603087cf0ff4be8;\n            puVar19[4] = 0x145a627d50608b7d;\n            puVar19[5] = 0x8be9d0ff0c38;\n            puVar19[6] = 0xa603897d82f00078;\n          }" if (parenthesized_expression "((*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10 & 2) == 0)" ( (parenthesized_expression "(*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10 & 2) == 0)" ( (binary_expression "*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10 & 2) == 0" (pointer_expression "*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10 & 2)" * (cast_expression "(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10 & 2)" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((Target_powerpc<64,_true> *)of)->field_0x10 & 2)" & (parenthesized_expression "((Target_powerpc<64,_true> *)of)->field_0x10 & 2)" ( (binary_expression "(Target_powerpc<64,_true> *)of)->field_0x10 & 2" (field_expression "(Target_powerpc<64,_true> *)of)->field_0x10" (parenthesized_expression "(Target_powerpc<64,_true> *)of)" ( (comma_expression "Target_powerpc<64,_true> *)of" (binary_expression "Target_powerpc<64" identifier < number_literal) , (binary_expression "_true> *)of" identifier > (pointer_expression "*)of" * (ERROR ")" )) identifier))) )) -> field_identifier) & number_literal) ))))) == number_literal) )) )) (compound_statement "{\n            puVar13 = puVar19 + 6;\n            puVar19[1] = 0x5009f42a602887d;\n            puVar19[2] = 0xf0ff4be8a602687d;\n            puVar19[3] = 0x145a627da603887d;\n            puVar19[4] = 0x8004be800008be9;\n            puVar19[5] = 0x10006be9a603897d;\n          }" { (expression_statement "puVar13 = puVar19 + 6;" (assignment_expression "puVar13 = puVar19 + 6" identifier = (binary_expression "puVar19 + 6" identifier + number_literal)) ;) (expression_statement "puVar19[1] = 0x5009f42a602887d;" (assignment_expression "puVar19[1] = 0x5009f42a602887d" (subscript_expression "puVar19[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar19[2] = 0xf0ff4be8a602687d;" (assignment_expression "puVar19[2] = 0xf0ff4be8a602687d" (subscript_expression "puVar19[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar19[3] = 0x145a627da603887d;" (assignment_expression "puVar19[3] = 0x145a627da603887d" (subscript_expression "puVar19[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar19[4] = 0x8004be800008be9;" (assignment_expression "puVar19[4] = 0x8004be800008be9" (subscript_expression "puVar19[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar19[5] = 0x10006be9a603897d;" (assignment_expression "puVar19[5] = 0x10006be9a603897d" (subscript_expression "puVar19[5]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n            *(undefined4 *)(puVar19 + 7) = 0x8006be9;\n            puVar13 = (ulong *)((long)puVar19 + 0x3c);\n            puVar19[1] = 0x5009f42a602087c;\n            puVar19[2] = 0x180041f8a602687d;\n            puVar19[3] = 0xa603087cf0ff4be8;\n            puVar19[4] = 0x145a627d50608b7d;\n            puVar19[5] = 0x8be9d0ff0c38;\n            puVar19[6] = 0xa603897d82f00078;\n          }" else (compound_statement "{\n            *(undefined4 *)(puVar19 + 7) = 0x8006be9;\n            puVar13 = (ulong *)((long)puVar19 + 0x3c);\n            puVar19[1] = 0x5009f42a602087c;\n            puVar19[2] = 0x180041f8a602687d;\n            puVar19[3] = 0xa603087cf0ff4be8;\n            puVar19[4] = 0x145a627d50608b7d;\n            puVar19[5] = 0x8be9d0ff0c38;\n            puVar19[6] = 0xa603897d82f00078;\n          }" { (expression_statement "*(undefined4 *)(puVar19 + 7) = 0x8006be9;" (assignment_expression "*(undefined4 *)(puVar19 + 7) = 0x8006be9" (pointer_expression "*(undefined4 *)(puVar19 + 7)" * (cast_expression "(undefined4 *)(puVar19 + 7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 7)" ( (binary_expression "puVar19 + 7" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar13 = (ulong *)((long)puVar19 + 0x3c);" (assignment_expression "puVar13 = (ulong *)((long)puVar19 + 0x3c)" identifier = (cast_expression "(ulong *)((long)puVar19 + 0x3c)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + 0x3c)" ( (binary_expression "(long)puVar19 + 0x3c" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (expression_statement "puVar19[1] = 0x5009f42a602087c;" (assignment_expression "puVar19[1] = 0x5009f42a602087c" (subscript_expression "puVar19[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar19[2] = 0x180041f8a602687d;" (assignment_expression "puVar19[2] = 0x180041f8a602687d" (subscript_expression "puVar19[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar19[3] = 0xa603087cf0ff4be8;" (assignment_expression "puVar19[3] = 0xa603087cf0ff4be8" (subscript_expression "puVar19[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar19[4] = 0x145a627d50608b7d;" (assignment_expression "puVar19[4] = 0x145a627d50608b7d" (subscript_expression "puVar19[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar19[5] = 0x8be9d0ff0c38;" (assignment_expression "puVar19[5] = 0x8be9d0ff0c38" (subscript_expression "puVar19[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar19[6] = 0xa603897d82f00078;" (assignment_expression "puVar19[6] = 0xa603897d82f00078" (subscript_expression "puVar19[6]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "*(undefined4 *)puVar13 = 0x2004804e;" (assignment_expression "*(undefined4 *)puVar13 = 0x2004804e" (pointer_expression "*(undefined4 *)puVar13" * (cast_expression "(undefined4 *)puVar13" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;" (assignment_expression "uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10" identifier = (binary_expression "(uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((Target_powerpc<64,_true> *)of)->field_0x10" & (parenthesized_expression "((Target_powerpc<64,_true> *)of)->field_0x10" ( (field_expression "(Target_powerpc<64,_true> *)of)->field_0x10" (parenthesized_expression "(Target_powerpc<64,_true> *)of)" ( (comma_expression "Target_powerpc<64,_true> *)of" (binary_expression "Target_powerpc<64" identifier < number_literal) , (binary_expression "_true> *)of" identifier > (pointer_expression "*)of" * (ERROR ")" )) identifier))) )) -> field_identifier) )))))) ;) (expression_statement "puVar17 = (uint *)((long)puVar13 + 4);" (assignment_expression "puVar17 = (uint *)((long)puVar13 + 4)" identifier = (cast_expression "(uint *)((long)puVar13 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar13 + 4)" ( (binary_expression "(long)puVar13 + 4" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (if_statement "if (puVar17 !=\n              (uint *)((long)puVar19 + (-(ulong)((uVar9 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x16c2,"do_write");\n          }" if (parenthesized_expression "(puVar17 !=\n              (uint *)((long)puVar19 + (-(ulong)((uVar9 & 2) == 0) & 0xfffffffffffffff4) + 0x40))" ( (binary_expression "puVar17 !=\n              (uint *)((long)puVar19 + (-(ulong)((uVar9 & 2) == 0) & 0xfffffffffffffff4) + 0x40)" identifier != (cast_expression "(uint *)((long)puVar19 + (-(ulong)((uVar9 & 2) == 0) & 0xfffffffffffffff4) + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar19 + (-(ulong)((uVar9 & 2) == 0) & 0xfffffffffffffff4) + 0x40)" ( (binary_expression "(long)puVar19 + (-(ulong)((uVar9 & 2) == 0) & 0xfffffffffffffff4) + 0x40" (binary_expression "(long)puVar19 + (-(ulong)((uVar9 & 2) == 0) & 0xfffffffffffffff4)" (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "(-(ulong)((uVar9 & 2) == 0) & 0xfffffffffffffff4)" ( (binary_expression "-(ulong)((uVar9 & 2) == 0) & 0xfffffffffffffff4" (unary_expression "-(ulong)((uVar9 & 2) == 0)" - (call_expression "(ulong)((uVar9 & 2) == 0)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uVar9 & 2) == 0)" ( (binary_expression "(uVar9 & 2) == 0" (parenthesized_expression "(uVar9 & 2)" ( (binary_expression "uVar9 & 2" identifier & number_literal) )) == number_literal) )))) & number_literal) ))) + number_literal) )))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x16c2,"do_write");\n          }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/powerpc.cc",0x16c2,"do_write");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/powerpc.cc",0x16c2,"do_write");" (call_expression "do_gold_unreachable("../../gold/powerpc.cc",0x16c2,"do_write")" identifier (argument_list "("../../gold/powerpc.cc",0x16c2,"do_write")" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") ))) ;)) })) (if_statement "if (puVar17 < (uint *)((ulong)this->end_branch_table_ + (long)puVar19)) {\n            uVar12 = 0;\n            while( true ) {\n              puVar14 = puVar17;\n              if ((uVar9 & 2) == 0) {\n                if (uVar12 < 0x8000) {\n                  uVar9 = uVar12 + 0x38000000;\n                  puVar14 = puVar17 + 1;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar12 << 0x18;\n                }\n                else {\n                  puVar14 = puVar17 + 2;\n                  uVar9 = (uVar12 >> 0x10) + 0x3c000000;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             (uVar12 >> 0x10) << 0x18;\n                  uVar9 = (uVar12 & 0xffff) + 0x60000000;\n                  puVar17[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                               (uVar12 & 0xffff) << 0x18;\n                }\n              }\n              puVar17 = puVar14 + 1;\n              uVar12 = uVar12 + 1;\n              uVar9 = 8U - ((int)puVar14 - (int)puVar19) & 0x3fffffc;\n              uVar10 = uVar9 + 0x48000000;\n              *puVar14 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              if ((uint *)((ulong)this->end_branch_table_ + (long)puVar19) <= puVar17) break;\n              uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;\n            }\n          }" if (parenthesized_expression "(puVar17 < (uint *)((ulong)this->end_branch_table_ + (long)puVar19))" ( (binary_expression "puVar17 < (uint *)((ulong)this->end_branch_table_ + (long)puVar19)" identifier < (cast_expression "(uint *)((ulong)this->end_branch_table_ + (long)puVar19)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)this->end_branch_table_ + (long)puVar19)" ( (binary_expression "(ulong)this->end_branch_table_ + (long)puVar19" (cast_expression "(ulong)this->end_branch_table_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "this->end_branch_table_" identifier -> field_identifier)) + (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) )) (compound_statement "{\n            uVar12 = 0;\n            while( true ) {\n              puVar14 = puVar17;\n              if ((uVar9 & 2) == 0) {\n                if (uVar12 < 0x8000) {\n                  uVar9 = uVar12 + 0x38000000;\n                  puVar14 = puVar17 + 1;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar12 << 0x18;\n                }\n                else {\n                  puVar14 = puVar17 + 2;\n                  uVar9 = (uVar12 >> 0x10) + 0x3c000000;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             (uVar12 >> 0x10) << 0x18;\n                  uVar9 = (uVar12 & 0xffff) + 0x60000000;\n                  puVar17[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                               (uVar12 & 0xffff) << 0x18;\n                }\n              }\n              puVar17 = puVar14 + 1;\n              uVar12 = uVar12 + 1;\n              uVar9 = 8U - ((int)puVar14 - (int)puVar19) & 0x3fffffc;\n              uVar10 = uVar9 + 0x48000000;\n              *puVar14 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              if ((uint *)((ulong)this->end_branch_table_ + (long)puVar19) <= puVar17) break;\n              uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;\n            }\n          }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n              puVar14 = puVar17;\n              if ((uVar9 & 2) == 0) {\n                if (uVar12 < 0x8000) {\n                  uVar9 = uVar12 + 0x38000000;\n                  puVar14 = puVar17 + 1;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar12 << 0x18;\n                }\n                else {\n                  puVar14 = puVar17 + 2;\n                  uVar9 = (uVar12 >> 0x10) + 0x3c000000;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             (uVar12 >> 0x10) << 0x18;\n                  uVar9 = (uVar12 & 0xffff) + 0x60000000;\n                  puVar17[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                               (uVar12 & 0xffff) << 0x18;\n                }\n              }\n              puVar17 = puVar14 + 1;\n              uVar12 = uVar12 + 1;\n              uVar9 = 8U - ((int)puVar14 - (int)puVar19) & 0x3fffffc;\n              uVar10 = uVar9 + 0x48000000;\n              *puVar14 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              if ((uint *)((ulong)this->end_branch_table_ + (long)puVar19) <= puVar17) break;\n              uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              puVar14 = puVar17;\n              if ((uVar9 & 2) == 0) {\n                if (uVar12 < 0x8000) {\n                  uVar9 = uVar12 + 0x38000000;\n                  puVar14 = puVar17 + 1;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar12 << 0x18;\n                }\n                else {\n                  puVar14 = puVar17 + 2;\n                  uVar9 = (uVar12 >> 0x10) + 0x3c000000;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             (uVar12 >> 0x10) << 0x18;\n                  uVar9 = (uVar12 & 0xffff) + 0x60000000;\n                  puVar17[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                               (uVar12 & 0xffff) << 0x18;\n                }\n              }\n              puVar17 = puVar14 + 1;\n              uVar12 = uVar12 + 1;\n              uVar9 = 8U - ((int)puVar14 - (int)puVar19) & 0x3fffffc;\n              uVar10 = uVar9 + 0x48000000;\n              *puVar14 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              if ((uint *)((ulong)this->end_branch_table_ + (long)puVar19) <= puVar17) break;\n              uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;\n            }" { (expression_statement "puVar14 = puVar17;" (assignment_expression "puVar14 = puVar17" identifier = identifier) ;) (if_statement "if ((uVar9 & 2) == 0) {\n                if (uVar12 < 0x8000) {\n                  uVar9 = uVar12 + 0x38000000;\n                  puVar14 = puVar17 + 1;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar12 << 0x18;\n                }\n                else {\n                  puVar14 = puVar17 + 2;\n                  uVar9 = (uVar12 >> 0x10) + 0x3c000000;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             (uVar12 >> 0x10) << 0x18;\n                  uVar9 = (uVar12 & 0xffff) + 0x60000000;\n                  puVar17[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                               (uVar12 & 0xffff) << 0x18;\n                }\n              }" if (parenthesized_expression "((uVar9 & 2) == 0)" ( (binary_expression "(uVar9 & 2) == 0" (parenthesized_expression "(uVar9 & 2)" ( (binary_expression "uVar9 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                if (uVar12 < 0x8000) {\n                  uVar9 = uVar12 + 0x38000000;\n                  puVar14 = puVar17 + 1;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar12 << 0x18;\n                }\n                else {\n                  puVar14 = puVar17 + 2;\n                  uVar9 = (uVar12 >> 0x10) + 0x3c000000;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             (uVar12 >> 0x10) << 0x18;\n                  uVar9 = (uVar12 & 0xffff) + 0x60000000;\n                  puVar17[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                               (uVar12 & 0xffff) << 0x18;\n                }\n              }" { (if_statement "if (uVar12 < 0x8000) {\n                  uVar9 = uVar12 + 0x38000000;\n                  puVar14 = puVar17 + 1;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar12 << 0x18;\n                }\n                else {\n                  puVar14 = puVar17 + 2;\n                  uVar9 = (uVar12 >> 0x10) + 0x3c000000;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             (uVar12 >> 0x10) << 0x18;\n                  uVar9 = (uVar12 & 0xffff) + 0x60000000;\n                  puVar17[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                               (uVar12 & 0xffff) << 0x18;\n                }" if (parenthesized_expression "(uVar12 < 0x8000)" ( (binary_expression "uVar12 < 0x8000" identifier < number_literal) )) (compound_statement "{\n                  uVar9 = uVar12 + 0x38000000;\n                  puVar14 = puVar17 + 1;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar12 << 0x18;\n                }" { (expression_statement "uVar9 = uVar12 + 0x38000000;" (assignment_expression "uVar9 = uVar12 + 0x38000000" identifier = (binary_expression "uVar12 + 0x38000000" identifier + number_literal)) ;) (expression_statement "puVar14 = puVar17 + 1;" (assignment_expression "puVar14 = puVar17 + 1" identifier = (binary_expression "puVar17 + 1" identifier + number_literal)) ;) (expression_statement "*puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar12 << 0x18;" (assignment_expression "*puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar12 << 0x18" (pointer_expression "*puVar17" * identifier) = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             uVar12 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar12 << 0x18" identifier << number_literal))) ;) }) (else_clause "else {\n                  puVar14 = puVar17 + 2;\n                  uVar9 = (uVar12 >> 0x10) + 0x3c000000;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             (uVar12 >> 0x10) << 0x18;\n                  uVar9 = (uVar12 & 0xffff) + 0x60000000;\n                  puVar17[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                               (uVar12 & 0xffff) << 0x18;\n                }" else (compound_statement "{\n                  puVar14 = puVar17 + 2;\n                  uVar9 = (uVar12 >> 0x10) + 0x3c000000;\n                  *puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             (uVar12 >> 0x10) << 0x18;\n                  uVar9 = (uVar12 & 0xffff) + 0x60000000;\n                  puVar17[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                               (uVar12 & 0xffff) << 0x18;\n                }" { (expression_statement "puVar14 = puVar17 + 2;" (assignment_expression "puVar14 = puVar17 + 2" identifier = (binary_expression "puVar17 + 2" identifier + number_literal)) ;) (expression_statement "uVar9 = (uVar12 >> 0x10) + 0x3c000000;" (assignment_expression "uVar9 = (uVar12 >> 0x10) + 0x3c000000" identifier = (binary_expression "(uVar12 >> 0x10) + 0x3c000000" (parenthesized_expression "(uVar12 >> 0x10)" ( (binary_expression "uVar12 >> 0x10" identifier >> number_literal) )) + number_literal)) ;) (expression_statement "*puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             (uVar12 >> 0x10) << 0x18;" (assignment_expression "*puVar17 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             (uVar12 >> 0x10) << 0x18" (pointer_expression "*puVar17" * identifier) = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                             (uVar12 >> 0x10) << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar12 >> 0x10) << 0x18" (parenthesized_expression "(uVar12 >> 0x10)" ( (binary_expression "uVar12 >> 0x10" identifier >> number_literal) )) << number_literal))) ;) (expression_statement "uVar9 = (uVar12 & 0xffff) + 0x60000000;" (assignment_expression "uVar9 = (uVar12 & 0xffff) + 0x60000000" identifier = (binary_expression "(uVar12 & 0xffff) + 0x60000000" (parenthesized_expression "(uVar12 & 0xffff)" ( (binary_expression "uVar12 & 0xffff" identifier & number_literal) )) + number_literal)) ;) (expression_statement "puVar17[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                               (uVar12 & 0xffff) << 0x18;" (assignment_expression "puVar17[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                               (uVar12 & 0xffff) << 0x18" (subscript_expression "puVar17[1]" identifier [ number_literal ]) = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                               (uVar12 & 0xffff) << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar12 & 0xffff) << 0x18" (parenthesized_expression "(uVar12 & 0xffff)" ( (binary_expression "uVar12 & 0xffff" identifier & number_literal) )) << number_literal))) ;) }))) })) (expression_statement "puVar17 = puVar14 + 1;" (assignment_expression "puVar17 = puVar14 + 1" identifier = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) (expression_statement "uVar12 = uVar12 + 1;" (assignment_expression "uVar12 = uVar12 + 1" identifier = (binary_expression "uVar12 + 1" identifier + number_literal)) ;) (expression_statement "uVar9 = 8U - ((int)puVar14 - (int)puVar19) & 0x3fffffc;" (assignment_expression "uVar9 = 8U - ((int)puVar14 - (int)puVar19) & 0x3fffffc" identifier = (binary_expression "8U - ((int)puVar14 - (int)puVar19) & 0x3fffffc" (binary_expression "8U - ((int)puVar14 - (int)puVar19)" number_literal - (parenthesized_expression "((int)puVar14 - (int)puVar19)" ( (binary_expression "(int)puVar14 - (int)puVar19" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ))) & number_literal)) ;) (expression_statement "uVar10 = uVar9 + 0x48000000;" (assignment_expression "uVar10 = uVar9 + 0x48000000" identifier = (binary_expression "uVar9 + 0x48000000" identifier + number_literal)) ;) (expression_statement "*puVar14 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar9 << 0x18;" (assignment_expression "*puVar14 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar9 << 0x18" (pointer_expression "*puVar14" * identifier) = (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar9 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (if_statement "if ((uint *)((ulong)this->end_branch_table_ + (long)puVar19) <= puVar17) break;" if (parenthesized_expression "((uint *)((ulong)this->end_branch_table_ + (long)puVar19) <= puVar17)" ( (binary_expression "(uint *)((ulong)this->end_branch_table_ + (long)puVar19) <= puVar17" (cast_expression "(uint *)((ulong)this->end_branch_table_ + (long)puVar19)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)this->end_branch_table_ + (long)puVar19)" ( (binary_expression "(ulong)this->end_branch_table_ + (long)puVar19" (cast_expression "(ulong)this->end_branch_table_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "this->end_branch_table_" identifier -> field_identifier)) + (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) <= identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10;" (assignment_expression "uVar9 = (uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10" identifier = (binary_expression "(uint)*(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(off_t *)&((Target_powerpc<64,_true> *)of)->field_0x10" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((Target_powerpc<64,_true> *)of)->field_0x10" & (parenthesized_expression "((Target_powerpc<64,_true> *)of)->field_0x10" ( (field_expression "(Target_powerpc<64,_true> *)of)->field_0x10" (parenthesized_expression "(Target_powerpc<64,_true> *)of)" ( (comma_expression "Target_powerpc<64,_true> *)of" (binary_expression "Target_powerpc<64" identifier < number_literal) , (binary_expression "_true> *)of" identifier > (pointer_expression "*)of" * (ERROR ")" )) identifier))) )) -> field_identifier) )))))) ;) })) })) (if_statement "if (((ulong)this_00->got_ & 1) == 0) goto LAB_0017e2fb;" if (parenthesized_expression "(((ulong)this_00->got_ & 1) == 0)" ( (binary_expression "((ulong)this_00->got_ & 1) == 0" (parenthesized_expression "((ulong)this_00->got_ & 1)" ( (binary_expression "(ulong)this_00->got_ & 1" (cast_expression "(ulong)this_00->got_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "this_00->got_" identifier -> field_identifier)) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0017e2fb;" goto statement_identifier ;)) (expression_statement "local_88 = *(pointer *)&this_00->field_0x8;" (assignment_expression "local_88 = *(pointer *)&this_00->field_0x8" identifier = (pointer_expression "*(pointer *)&this_00->field_0x8" * (cast_expression "(pointer *)&this_00->field_0x8" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this_00->field_0x8" & (field_expression "this_00->field_0x8" identifier -> field_identifier))))) ;) (expression_statement "uVar9 = this->end_branch_table_;" (assignment_expression "uVar9 = this->end_branch_table_" identifier = (field_expression "this->end_branch_table_" identifier -> field_identifier)) ;) })) (expression_statement "pGVar3 = gold::parameters->options_;" (field_expression "pGVar3 = gold::parameters->options_" (assignment_expression "pGVar3 = gold" identifier = identifier) (ERROR "::parameters" : : identifier) -> field_identifier) ;) (if_statement "if (pGVar3 == (General_options *)0x0) {\nLAB_0017e2f6:\n                    /* WARNING: Subroutine does not return */\n          param_plt_align<64>();\n        }" if (parenthesized_expression "(pGVar3 == (General_options *)0x0)" ( (binary_expression "pGVar3 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0017e2f6:\n                    /* WARNING: Subroutine does not return */\n          param_plt_align<64>();\n        }" { (labeled_statement "LAB_0017e2f6:\n                    /* WARNING: Subroutine does not return */\n          param_plt_align<64>();" statement_identifier : comment (expression_statement "param_plt_align<64>();" (binary_expression "param_plt_align<64>()" (binary_expression "param_plt_align<64" identifier < number_literal) > (parenthesized_expression "()" ( identifier ))) ;)) })) (if_statement "if ((pGVar3->plt_align_).user_set_via_option == false) {\n          uVar12 = 0xffffffe0;\n          iVar8 = 0x20;\n        }\n        else {\n          iVar8 = 1 << ((byte)(pGVar3->plt_align_).value & 0x1f);\n          uVar12 = -iVar8;\n        }" if (parenthesized_expression "((pGVar3->plt_align_).user_set_via_option == false)" ( (binary_expression "(pGVar3->plt_align_).user_set_via_option == false" (field_expression "(pGVar3->plt_align_).user_set_via_option" (parenthesized_expression "(pGVar3->plt_align_)" ( (field_expression "pGVar3->plt_align_" identifier -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n          uVar12 = 0xffffffe0;\n          iVar8 = 0x20;\n        }" { (expression_statement "uVar12 = 0xffffffe0;" (assignment_expression "uVar12 = 0xffffffe0" identifier = number_literal) ;) (expression_statement "iVar8 = 0x20;" (assignment_expression "iVar8 = 0x20" identifier = number_literal) ;) }) (else_clause "else {\n          iVar8 = 1 << ((byte)(pGVar3->plt_align_).value & 0x1f);\n          uVar12 = -iVar8;\n        }" else (compound_statement "{\n          iVar8 = 1 << ((byte)(pGVar3->plt_align_).value & 0x1f);\n          uVar12 = -iVar8;\n        }" { (expression_statement "iVar8 = 1 << ((byte)(pGVar3->plt_align_).value & 0x1f);" (assignment_expression "iVar8 = 1 << ((byte)(pGVar3->plt_align_).value & 0x1f)" identifier = (binary_expression "1 << ((byte)(pGVar3->plt_align_).value & 0x1f)" number_literal << (parenthesized_expression "((byte)(pGVar3->plt_align_).value & 0x1f)" ( (binary_expression "(byte)(pGVar3->plt_align_).value & 0x1f" (field_expression "(byte)(pGVar3->plt_align_).value" (call_expression "(byte)(pGVar3->plt_align_)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pGVar3->plt_align_)" ( (field_expression "pGVar3->plt_align_" identifier -> field_identifier) ))) . field_identifier) & number_literal) )))) ;) (expression_statement "uVar12 = -iVar8;" (assignment_expression "uVar12 = -iVar8" identifier = (unary_expression "-iVar8" - identifier)) ;) }))) (expression_statement "uVar11 = (ulong)((uVar9 - 1) + iVar8 & uVar12);" (assignment_expression "uVar11 = (ulong)((uVar9 - 1) + iVar8 & uVar12)" identifier = (call_expression "(ulong)((uVar9 - 1) + iVar8 & uVar12)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uVar9 - 1) + iVar8 & uVar12)" ( (binary_expression "(uVar9 - 1) + iVar8 & uVar12" (binary_expression "(uVar9 - 1) + iVar8" (parenthesized_expression "(uVar9 - 1)" ( (binary_expression "uVar9 - 1" identifier - number_literal) )) + identifier) & identifier) )))) ;) (if_statement "if ((this->field_0x20 & 1) != 0) {\n          lVar2 = *(long *)&this->field_0x8;\n          p_Var18 = (this->global_entry_stubs_)._M_h._M_before_begin._M_nxt;\n          if (p_Var18 == (_Hash_node_base *)0x0) {\n            return;\n          }\n          p_Var20 = p_Var18[1]._M_nxt;\n          uVar9 = *(uint *)&p_Var18[2]._M_nxt;\n          uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);\n          if (uVar12 != 0xffffffff) {\n            local_70 = (pointer)0xffffffffffffffff;\n            do {\n              puVar17 = (uint *)(uVar9 + uVar11 + (long)puVar19);\n              ppVVar5 = local_88;\n              if (((ulong)p_Var20[7]._M_nxt & 0xf) == 10) {\n                if (((ulong)p_Var20[7]._M_nxt & 0x70000) == 0) {\n                  if (((ulong)p_Var20[2]._M_nxt[7]._M_nxt & 0x100000000) == 0) {\n                    if (*(int *)&p_Var20[3]._M_nxt != 0) goto LAB_0017dff5;\n                    if (((ulong)p_Var20[7]._M_nxt & 0x20000000) == 0) {\n                      bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if (((ulong)p_Var20[7]._M_nxt & 0x70000) != 0x40000) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && (((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0)) {\n                    pGVar3 = gold::parameters->options_;\n                    if (pGVar3 == (General_options *)0x0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if ((pGVar3->shared_).value != false) {\n                      this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_;\n                      bVar7 = gold::Version_script_info::get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);\n                      if ((!bVar7) || (is_global != false)) {\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  ppVVar5 = local_70;\n                  if (local_70 == (pointer)0xffffffffffffffff) {\n                    pOVar4 = this->targ_->iplt_;\n                    if (pOVar4 == (Output_data_plt_powerpc<64,_true> *)0x0) {\n                      Target_powerpc<64,_true>::iplt_section(this_00);\n                      goto LAB_0017e2f6;\n                    }\n                    if (((pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1) == 0) goto LAB_0017e2fb;\n                    ppVVar5 = (pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_;\n                    local_70 = ppVVar5;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar16 = (long)ppVVar5 +\n                       ((ulong)uVar12 - ((ulong)*(uint *)&p_Var18[2]._M_nxt + lVar2 + uVar11));\n              if ((0xffffffff < uVar16 + 0x80008000) || ((uVar16 & 3) != 0)) {\n                gold::Symbol::demangled_name((string *)local_58,(Symbol *)p_Var18[1]._M_nxt);\n                uVar6 = local_58._0_8_;\n                if (((ulong)p_Var18[1]._M_nxt[7]._M_nxt & 0x70000) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  gold::do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n                }\n                p_Var20 = p_Var18[1]._M_nxt[2]._M_nxt[1]._M_nxt;\n                format = (char *)gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                gold::gold_error(format,p_Var20,uVar6);\n                this_00 = (Target_powerpc<64,_true> *)local_58._0_8_;\n                if ((Target_powerpc<64,_true> *)local_58._0_8_ !=\n                    (Target_powerpc<64,_true> *)(local_58 + 0x10)) {\n                  operator_delete((void *)local_58._0_8_);\n                }\n              }\n              uVar10 = (uint)uVar16 & 0xffff;\n              uVar9 = (uint)uVar16 + 0x8000 >> 0x10;\n              uVar15 = uVar10 + 0xe98c0000;\n              uVar12 = uVar9 + 0x3d8c0000;\n              puVar17[1] = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                           uVar10 << 0x18;\n              *puVar17 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              puVar17[2] = 0xa603897d;\n              puVar17[3] = 0x2004804e;\n              p_Var18 = p_Var18->_M_nxt;\n              if (p_Var18 == (_Hash_node_base *)0x0) {\n                return;\n              }\n              p_Var20 = p_Var18[1]._M_nxt;\n              uVar9 = *(uint *)&p_Var18[2]._M_nxt;\n              uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);\n            } while (uVar12 != 0xffffffff);\n          }\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");\n        }" if (parenthesized_expression "((this->field_0x20 & 1) != 0)" ( (binary_expression "(this->field_0x20 & 1) != 0" (parenthesized_expression "(this->field_0x20 & 1)" ( (binary_expression "this->field_0x20 & 1" (field_expression "this->field_0x20" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          lVar2 = *(long *)&this->field_0x8;\n          p_Var18 = (this->global_entry_stubs_)._M_h._M_before_begin._M_nxt;\n          if (p_Var18 == (_Hash_node_base *)0x0) {\n            return;\n          }\n          p_Var20 = p_Var18[1]._M_nxt;\n          uVar9 = *(uint *)&p_Var18[2]._M_nxt;\n          uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);\n          if (uVar12 != 0xffffffff) {\n            local_70 = (pointer)0xffffffffffffffff;\n            do {\n              puVar17 = (uint *)(uVar9 + uVar11 + (long)puVar19);\n              ppVVar5 = local_88;\n              if (((ulong)p_Var20[7]._M_nxt & 0xf) == 10) {\n                if (((ulong)p_Var20[7]._M_nxt & 0x70000) == 0) {\n                  if (((ulong)p_Var20[2]._M_nxt[7]._M_nxt & 0x100000000) == 0) {\n                    if (*(int *)&p_Var20[3]._M_nxt != 0) goto LAB_0017dff5;\n                    if (((ulong)p_Var20[7]._M_nxt & 0x20000000) == 0) {\n                      bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if (((ulong)p_Var20[7]._M_nxt & 0x70000) != 0x40000) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && (((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0)) {\n                    pGVar3 = gold::parameters->options_;\n                    if (pGVar3 == (General_options *)0x0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if ((pGVar3->shared_).value != false) {\n                      this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_;\n                      bVar7 = gold::Version_script_info::get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);\n                      if ((!bVar7) || (is_global != false)) {\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  ppVVar5 = local_70;\n                  if (local_70 == (pointer)0xffffffffffffffff) {\n                    pOVar4 = this->targ_->iplt_;\n                    if (pOVar4 == (Output_data_plt_powerpc<64,_true> *)0x0) {\n                      Target_powerpc<64,_true>::iplt_section(this_00);\n                      goto LAB_0017e2f6;\n                    }\n                    if (((pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1) == 0) goto LAB_0017e2fb;\n                    ppVVar5 = (pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_;\n                    local_70 = ppVVar5;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar16 = (long)ppVVar5 +\n                       ((ulong)uVar12 - ((ulong)*(uint *)&p_Var18[2]._M_nxt + lVar2 + uVar11));\n              if ((0xffffffff < uVar16 + 0x80008000) || ((uVar16 & 3) != 0)) {\n                gold::Symbol::demangled_name((string *)local_58,(Symbol *)p_Var18[1]._M_nxt);\n                uVar6 = local_58._0_8_;\n                if (((ulong)p_Var18[1]._M_nxt[7]._M_nxt & 0x70000) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  gold::do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n                }\n                p_Var20 = p_Var18[1]._M_nxt[2]._M_nxt[1]._M_nxt;\n                format = (char *)gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                gold::gold_error(format,p_Var20,uVar6);\n                this_00 = (Target_powerpc<64,_true> *)local_58._0_8_;\n                if ((Target_powerpc<64,_true> *)local_58._0_8_ !=\n                    (Target_powerpc<64,_true> *)(local_58 + 0x10)) {\n                  operator_delete((void *)local_58._0_8_);\n                }\n              }\n              uVar10 = (uint)uVar16 & 0xffff;\n              uVar9 = (uint)uVar16 + 0x8000 >> 0x10;\n              uVar15 = uVar10 + 0xe98c0000;\n              uVar12 = uVar9 + 0x3d8c0000;\n              puVar17[1] = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                           uVar10 << 0x18;\n              *puVar17 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              puVar17[2] = 0xa603897d;\n              puVar17[3] = 0x2004804e;\n              p_Var18 = p_Var18->_M_nxt;\n              if (p_Var18 == (_Hash_node_base *)0x0) {\n                return;\n              }\n              p_Var20 = p_Var18[1]._M_nxt;\n              uVar9 = *(uint *)&p_Var18[2]._M_nxt;\n              uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);\n            } while (uVar12 != 0xffffffff);\n          }\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");\n        }" { (expression_statement "lVar2 = *(long *)&this->field_0x8;" (assignment_expression "lVar2 = *(long *)&this->field_0x8" identifier = (pointer_expression "*(long *)&this->field_0x8" * (cast_expression "(long *)&this->field_0x8" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0x8" & (field_expression "this->field_0x8" identifier -> field_identifier))))) ;) (expression_statement "p_Var18 = (this->global_entry_stubs_)._M_h._M_before_begin._M_nxt;" (assignment_expression "p_Var18 = (this->global_entry_stubs_)._M_h._M_before_begin._M_nxt" identifier = (field_expression "(this->global_entry_stubs_)._M_h._M_before_begin._M_nxt" (field_expression "(this->global_entry_stubs_)._M_h._M_before_begin" (field_expression "(this->global_entry_stubs_)._M_h" (parenthesized_expression "(this->global_entry_stubs_)" ( (field_expression "this->global_entry_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (p_Var18 == (_Hash_node_base *)0x0) {\n            return;\n          }" if (parenthesized_expression "(p_Var18 == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var18 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) (expression_statement "p_Var20 = p_Var18[1]._M_nxt;" (assignment_expression "p_Var20 = p_Var18[1]._M_nxt" identifier = (field_expression "p_Var18[1]._M_nxt" (subscript_expression "p_Var18[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar9 = *(uint *)&p_Var18[2]._M_nxt;" (assignment_expression "uVar9 = *(uint *)&p_Var18[2]._M_nxt" identifier = (pointer_expression "*(uint *)&p_Var18[2]._M_nxt" * (cast_expression "(uint *)&p_Var18[2]._M_nxt" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var18[2]._M_nxt" & (field_expression "p_Var18[2]._M_nxt" (subscript_expression "p_Var18[2]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);" (assignment_expression "uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4)" identifier = (pointer_expression "*(uint *)((long)&p_Var20[4]._M_nxt + 4)" * (cast_expression "(uint *)((long)&p_Var20[4]._M_nxt + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&p_Var20[4]._M_nxt + 4)" ( (binary_expression "(long)&p_Var20[4]._M_nxt + 4" (cast_expression "(long)&p_Var20[4]._M_nxt" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var20[4]._M_nxt" & (field_expression "p_Var20[4]._M_nxt" (subscript_expression "p_Var20[4]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ;) (if_statement "if (uVar12 != 0xffffffff) {\n            local_70 = (pointer)0xffffffffffffffff;\n            do {\n              puVar17 = (uint *)(uVar9 + uVar11 + (long)puVar19);\n              ppVVar5 = local_88;\n              if (((ulong)p_Var20[7]._M_nxt & 0xf) == 10) {\n                if (((ulong)p_Var20[7]._M_nxt & 0x70000) == 0) {\n                  if (((ulong)p_Var20[2]._M_nxt[7]._M_nxt & 0x100000000) == 0) {\n                    if (*(int *)&p_Var20[3]._M_nxt != 0) goto LAB_0017dff5;\n                    if (((ulong)p_Var20[7]._M_nxt & 0x20000000) == 0) {\n                      bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if (((ulong)p_Var20[7]._M_nxt & 0x70000) != 0x40000) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && (((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0)) {\n                    pGVar3 = gold::parameters->options_;\n                    if (pGVar3 == (General_options *)0x0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if ((pGVar3->shared_).value != false) {\n                      this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_;\n                      bVar7 = gold::Version_script_info::get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);\n                      if ((!bVar7) || (is_global != false)) {\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  ppVVar5 = local_70;\n                  if (local_70 == (pointer)0xffffffffffffffff) {\n                    pOVar4 = this->targ_->iplt_;\n                    if (pOVar4 == (Output_data_plt_powerpc<64,_true> *)0x0) {\n                      Target_powerpc<64,_true>::iplt_section(this_00);\n                      goto LAB_0017e2f6;\n                    }\n                    if (((pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1) == 0) goto LAB_0017e2fb;\n                    ppVVar5 = (pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_;\n                    local_70 = ppVVar5;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar16 = (long)ppVVar5 +\n                       ((ulong)uVar12 - ((ulong)*(uint *)&p_Var18[2]._M_nxt + lVar2 + uVar11));\n              if ((0xffffffff < uVar16 + 0x80008000) || ((uVar16 & 3) != 0)) {\n                gold::Symbol::demangled_name((string *)local_58,(Symbol *)p_Var18[1]._M_nxt);\n                uVar6 = local_58._0_8_;\n                if (((ulong)p_Var18[1]._M_nxt[7]._M_nxt & 0x70000) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  gold::do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n                }\n                p_Var20 = p_Var18[1]._M_nxt[2]._M_nxt[1]._M_nxt;\n                format = (char *)gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                gold::gold_error(format,p_Var20,uVar6);\n                this_00 = (Target_powerpc<64,_true> *)local_58._0_8_;\n                if ((Target_powerpc<64,_true> *)local_58._0_8_ !=\n                    (Target_powerpc<64,_true> *)(local_58 + 0x10)) {\n                  operator_delete((void *)local_58._0_8_);\n                }\n              }\n              uVar10 = (uint)uVar16 & 0xffff;\n              uVar9 = (uint)uVar16 + 0x8000 >> 0x10;\n              uVar15 = uVar10 + 0xe98c0000;\n              uVar12 = uVar9 + 0x3d8c0000;\n              puVar17[1] = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                           uVar10 << 0x18;\n              *puVar17 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              puVar17[2] = 0xa603897d;\n              puVar17[3] = 0x2004804e;\n              p_Var18 = p_Var18->_M_nxt;\n              if (p_Var18 == (_Hash_node_base *)0x0) {\n                return;\n              }\n              p_Var20 = p_Var18[1]._M_nxt;\n              uVar9 = *(uint *)&p_Var18[2]._M_nxt;\n              uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);\n            } while (uVar12 != 0xffffffff);\n          }" if (parenthesized_expression "(uVar12 != 0xffffffff)" ( (binary_expression "uVar12 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n            local_70 = (pointer)0xffffffffffffffff;\n            do {\n              puVar17 = (uint *)(uVar9 + uVar11 + (long)puVar19);\n              ppVVar5 = local_88;\n              if (((ulong)p_Var20[7]._M_nxt & 0xf) == 10) {\n                if (((ulong)p_Var20[7]._M_nxt & 0x70000) == 0) {\n                  if (((ulong)p_Var20[2]._M_nxt[7]._M_nxt & 0x100000000) == 0) {\n                    if (*(int *)&p_Var20[3]._M_nxt != 0) goto LAB_0017dff5;\n                    if (((ulong)p_Var20[7]._M_nxt & 0x20000000) == 0) {\n                      bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if (((ulong)p_Var20[7]._M_nxt & 0x70000) != 0x40000) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && (((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0)) {\n                    pGVar3 = gold::parameters->options_;\n                    if (pGVar3 == (General_options *)0x0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if ((pGVar3->shared_).value != false) {\n                      this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_;\n                      bVar7 = gold::Version_script_info::get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);\n                      if ((!bVar7) || (is_global != false)) {\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  ppVVar5 = local_70;\n                  if (local_70 == (pointer)0xffffffffffffffff) {\n                    pOVar4 = this->targ_->iplt_;\n                    if (pOVar4 == (Output_data_plt_powerpc<64,_true> *)0x0) {\n                      Target_powerpc<64,_true>::iplt_section(this_00);\n                      goto LAB_0017e2f6;\n                    }\n                    if (((pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1) == 0) goto LAB_0017e2fb;\n                    ppVVar5 = (pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_;\n                    local_70 = ppVVar5;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar16 = (long)ppVVar5 +\n                       ((ulong)uVar12 - ((ulong)*(uint *)&p_Var18[2]._M_nxt + lVar2 + uVar11));\n              if ((0xffffffff < uVar16 + 0x80008000) || ((uVar16 & 3) != 0)) {\n                gold::Symbol::demangled_name((string *)local_58,(Symbol *)p_Var18[1]._M_nxt);\n                uVar6 = local_58._0_8_;\n                if (((ulong)p_Var18[1]._M_nxt[7]._M_nxt & 0x70000) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  gold::do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n                }\n                p_Var20 = p_Var18[1]._M_nxt[2]._M_nxt[1]._M_nxt;\n                format = (char *)gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                gold::gold_error(format,p_Var20,uVar6);\n                this_00 = (Target_powerpc<64,_true> *)local_58._0_8_;\n                if ((Target_powerpc<64,_true> *)local_58._0_8_ !=\n                    (Target_powerpc<64,_true> *)(local_58 + 0x10)) {\n                  operator_delete((void *)local_58._0_8_);\n                }\n              }\n              uVar10 = (uint)uVar16 & 0xffff;\n              uVar9 = (uint)uVar16 + 0x8000 >> 0x10;\n              uVar15 = uVar10 + 0xe98c0000;\n              uVar12 = uVar9 + 0x3d8c0000;\n              puVar17[1] = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                           uVar10 << 0x18;\n              *puVar17 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              puVar17[2] = 0xa603897d;\n              puVar17[3] = 0x2004804e;\n              p_Var18 = p_Var18->_M_nxt;\n              if (p_Var18 == (_Hash_node_base *)0x0) {\n                return;\n              }\n              p_Var20 = p_Var18[1]._M_nxt;\n              uVar9 = *(uint *)&p_Var18[2]._M_nxt;\n              uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);\n            } while (uVar12 != 0xffffffff);\n          }" { (expression_statement "local_70 = (pointer)0xffffffffffffffff;" (assignment_expression "local_70 = (pointer)0xffffffffffffffff" identifier = (cast_expression "(pointer)0xffffffffffffffff" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (do_statement "do {\n              puVar17 = (uint *)(uVar9 + uVar11 + (long)puVar19);\n              ppVVar5 = local_88;\n              if (((ulong)p_Var20[7]._M_nxt & 0xf) == 10) {\n                if (((ulong)p_Var20[7]._M_nxt & 0x70000) == 0) {\n                  if (((ulong)p_Var20[2]._M_nxt[7]._M_nxt & 0x100000000) == 0) {\n                    if (*(int *)&p_Var20[3]._M_nxt != 0) goto LAB_0017dff5;\n                    if (((ulong)p_Var20[7]._M_nxt & 0x20000000) == 0) {\n                      bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if (((ulong)p_Var20[7]._M_nxt & 0x70000) != 0x40000) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && (((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0)) {\n                    pGVar3 = gold::parameters->options_;\n                    if (pGVar3 == (General_options *)0x0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if ((pGVar3->shared_).value != false) {\n                      this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_;\n                      bVar7 = gold::Version_script_info::get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);\n                      if ((!bVar7) || (is_global != false)) {\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  ppVVar5 = local_70;\n                  if (local_70 == (pointer)0xffffffffffffffff) {\n                    pOVar4 = this->targ_->iplt_;\n                    if (pOVar4 == (Output_data_plt_powerpc<64,_true> *)0x0) {\n                      Target_powerpc<64,_true>::iplt_section(this_00);\n                      goto LAB_0017e2f6;\n                    }\n                    if (((pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1) == 0) goto LAB_0017e2fb;\n                    ppVVar5 = (pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_;\n                    local_70 = ppVVar5;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar16 = (long)ppVVar5 +\n                       ((ulong)uVar12 - ((ulong)*(uint *)&p_Var18[2]._M_nxt + lVar2 + uVar11));\n              if ((0xffffffff < uVar16 + 0x80008000) || ((uVar16 & 3) != 0)) {\n                gold::Symbol::demangled_name((string *)local_58,(Symbol *)p_Var18[1]._M_nxt);\n                uVar6 = local_58._0_8_;\n                if (((ulong)p_Var18[1]._M_nxt[7]._M_nxt & 0x70000) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  gold::do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n                }\n                p_Var20 = p_Var18[1]._M_nxt[2]._M_nxt[1]._M_nxt;\n                format = (char *)gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                gold::gold_error(format,p_Var20,uVar6);\n                this_00 = (Target_powerpc<64,_true> *)local_58._0_8_;\n                if ((Target_powerpc<64,_true> *)local_58._0_8_ !=\n                    (Target_powerpc<64,_true> *)(local_58 + 0x10)) {\n                  operator_delete((void *)local_58._0_8_);\n                }\n              }\n              uVar10 = (uint)uVar16 & 0xffff;\n              uVar9 = (uint)uVar16 + 0x8000 >> 0x10;\n              uVar15 = uVar10 + 0xe98c0000;\n              uVar12 = uVar9 + 0x3d8c0000;\n              puVar17[1] = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                           uVar10 << 0x18;\n              *puVar17 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              puVar17[2] = 0xa603897d;\n              puVar17[3] = 0x2004804e;\n              p_Var18 = p_Var18->_M_nxt;\n              if (p_Var18 == (_Hash_node_base *)0x0) {\n                return;\n              }\n              p_Var20 = p_Var18[1]._M_nxt;\n              uVar9 = *(uint *)&p_Var18[2]._M_nxt;\n              uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);\n            } while (uVar12 != 0xffffffff);" do (compound_statement "{\n              puVar17 = (uint *)(uVar9 + uVar11 + (long)puVar19);\n              ppVVar5 = local_88;\n              if (((ulong)p_Var20[7]._M_nxt & 0xf) == 10) {\n                if (((ulong)p_Var20[7]._M_nxt & 0x70000) == 0) {\n                  if (((ulong)p_Var20[2]._M_nxt[7]._M_nxt & 0x100000000) == 0) {\n                    if (*(int *)&p_Var20[3]._M_nxt != 0) goto LAB_0017dff5;\n                    if (((ulong)p_Var20[7]._M_nxt & 0x20000000) == 0) {\n                      bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if (((ulong)p_Var20[7]._M_nxt & 0x70000) != 0x40000) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && (((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0)) {\n                    pGVar3 = gold::parameters->options_;\n                    if (pGVar3 == (General_options *)0x0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if ((pGVar3->shared_).value != false) {\n                      this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_;\n                      bVar7 = gold::Version_script_info::get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);\n                      if ((!bVar7) || (is_global != false)) {\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  ppVVar5 = local_70;\n                  if (local_70 == (pointer)0xffffffffffffffff) {\n                    pOVar4 = this->targ_->iplt_;\n                    if (pOVar4 == (Output_data_plt_powerpc<64,_true> *)0x0) {\n                      Target_powerpc<64,_true>::iplt_section(this_00);\n                      goto LAB_0017e2f6;\n                    }\n                    if (((pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1) == 0) goto LAB_0017e2fb;\n                    ppVVar5 = (pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_;\n                    local_70 = ppVVar5;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar16 = (long)ppVVar5 +\n                       ((ulong)uVar12 - ((ulong)*(uint *)&p_Var18[2]._M_nxt + lVar2 + uVar11));\n              if ((0xffffffff < uVar16 + 0x80008000) || ((uVar16 & 3) != 0)) {\n                gold::Symbol::demangled_name((string *)local_58,(Symbol *)p_Var18[1]._M_nxt);\n                uVar6 = local_58._0_8_;\n                if (((ulong)p_Var18[1]._M_nxt[7]._M_nxt & 0x70000) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  gold::do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n                }\n                p_Var20 = p_Var18[1]._M_nxt[2]._M_nxt[1]._M_nxt;\n                format = (char *)gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                gold::gold_error(format,p_Var20,uVar6);\n                this_00 = (Target_powerpc<64,_true> *)local_58._0_8_;\n                if ((Target_powerpc<64,_true> *)local_58._0_8_ !=\n                    (Target_powerpc<64,_true> *)(local_58 + 0x10)) {\n                  operator_delete((void *)local_58._0_8_);\n                }\n              }\n              uVar10 = (uint)uVar16 & 0xffff;\n              uVar9 = (uint)uVar16 + 0x8000 >> 0x10;\n              uVar15 = uVar10 + 0xe98c0000;\n              uVar12 = uVar9 + 0x3d8c0000;\n              puVar17[1] = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                           uVar10 << 0x18;\n              *puVar17 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                         uVar9 << 0x18;\n              puVar17[2] = 0xa603897d;\n              puVar17[3] = 0x2004804e;\n              p_Var18 = p_Var18->_M_nxt;\n              if (p_Var18 == (_Hash_node_base *)0x0) {\n                return;\n              }\n              p_Var20 = p_Var18[1]._M_nxt;\n              uVar9 = *(uint *)&p_Var18[2]._M_nxt;\n              uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);\n            }" { (expression_statement "puVar17 = (uint *)(uVar9 + uVar11 + (long)puVar19);" (assignment_expression "puVar17 = (uint *)(uVar9 + uVar11 + (long)puVar19)" identifier = (cast_expression "(uint *)(uVar9 + uVar11 + (long)puVar19)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar9 + uVar11 + (long)puVar19)" ( (binary_expression "uVar9 + uVar11 + (long)puVar19" (binary_expression "uVar9 + uVar11" identifier + identifier) + (cast_expression "(long)puVar19" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "ppVVar5 = local_88;" (assignment_expression "ppVVar5 = local_88" identifier = identifier) ;) (if_statement "if (((ulong)p_Var20[7]._M_nxt & 0xf) == 10) {\n                if (((ulong)p_Var20[7]._M_nxt & 0x70000) == 0) {\n                  if (((ulong)p_Var20[2]._M_nxt[7]._M_nxt & 0x100000000) == 0) {\n                    if (*(int *)&p_Var20[3]._M_nxt != 0) goto LAB_0017dff5;\n                    if (((ulong)p_Var20[7]._M_nxt & 0x20000000) == 0) {\n                      bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if (((ulong)p_Var20[7]._M_nxt & 0x70000) != 0x40000) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && (((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0)) {\n                    pGVar3 = gold::parameters->options_;\n                    if (pGVar3 == (General_options *)0x0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if ((pGVar3->shared_).value != false) {\n                      this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_;\n                      bVar7 = gold::Version_script_info::get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);\n                      if ((!bVar7) || (is_global != false)) {\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  ppVVar5 = local_70;\n                  if (local_70 == (pointer)0xffffffffffffffff) {\n                    pOVar4 = this->targ_->iplt_;\n                    if (pOVar4 == (Output_data_plt_powerpc<64,_true> *)0x0) {\n                      Target_powerpc<64,_true>::iplt_section(this_00);\n                      goto LAB_0017e2f6;\n                    }\n                    if (((pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1) == 0) goto LAB_0017e2fb;\n                    ppVVar5 = (pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_;\n                    local_70 = ppVVar5;\n                  }\n                }\n              }" if (parenthesized_expression "(((ulong)p_Var20[7]._M_nxt & 0xf) == 10)" ( (binary_expression "((ulong)p_Var20[7]._M_nxt & 0xf) == 10" (parenthesized_expression "((ulong)p_Var20[7]._M_nxt & 0xf)" ( (binary_expression "(ulong)p_Var20[7]._M_nxt & 0xf" (cast_expression "(ulong)p_Var20[7]._M_nxt" ( (type_descriptor "ulong" type_identifier) ) (field_expression "p_Var20[7]._M_nxt" (subscript_expression "p_Var20[7]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n                if (((ulong)p_Var20[7]._M_nxt & 0x70000) == 0) {\n                  if (((ulong)p_Var20[2]._M_nxt[7]._M_nxt & 0x100000000) == 0) {\n                    if (*(int *)&p_Var20[3]._M_nxt != 0) goto LAB_0017dff5;\n                    if (((ulong)p_Var20[7]._M_nxt & 0x20000000) == 0) {\n                      bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if (((ulong)p_Var20[7]._M_nxt & 0x70000) != 0x40000) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && (((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0)) {\n                    pGVar3 = gold::parameters->options_;\n                    if (pGVar3 == (General_options *)0x0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if ((pGVar3->shared_).value != false) {\n                      this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_;\n                      bVar7 = gold::Version_script_info::get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);\n                      if ((!bVar7) || (is_global != false)) {\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  ppVVar5 = local_70;\n                  if (local_70 == (pointer)0xffffffffffffffff) {\n                    pOVar4 = this->targ_->iplt_;\n                    if (pOVar4 == (Output_data_plt_powerpc<64,_true> *)0x0) {\n                      Target_powerpc<64,_true>::iplt_section(this_00);\n                      goto LAB_0017e2f6;\n                    }\n                    if (((pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1) == 0) goto LAB_0017e2fb;\n                    ppVVar5 = (pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_;\n                    local_70 = ppVVar5;\n                  }\n                }\n              }" { (if_statement "if (((ulong)p_Var20[7]._M_nxt & 0x70000) == 0) {\n                  if (((ulong)p_Var20[2]._M_nxt[7]._M_nxt & 0x100000000) == 0) {\n                    if (*(int *)&p_Var20[3]._M_nxt != 0) goto LAB_0017dff5;\n                    if (((ulong)p_Var20[7]._M_nxt & 0x20000000) == 0) {\n                      bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if (((ulong)p_Var20[7]._M_nxt & 0x70000) != 0x40000) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && (((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0)) {\n                    pGVar3 = gold::parameters->options_;\n                    if (pGVar3 == (General_options *)0x0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if ((pGVar3->shared_).value != false) {\n                      this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_;\n                      bVar7 = gold::Version_script_info::get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);\n                      if ((!bVar7) || (is_global != false)) {\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  ppVVar5 = local_70;\n                  if (local_70 == (pointer)0xffffffffffffffff) {\n                    pOVar4 = this->targ_->iplt_;\n                    if (pOVar4 == (Output_data_plt_powerpc<64,_true> *)0x0) {\n                      Target_powerpc<64,_true>::iplt_section(this_00);\n                      goto LAB_0017e2f6;\n                    }\n                    if (((pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1) == 0) goto LAB_0017e2fb;\n                    ppVVar5 = (pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_;\n                    local_70 = ppVVar5;\n                  }\n                }" if (parenthesized_expression "(((ulong)p_Var20[7]._M_nxt & 0x70000) == 0)" ( (binary_expression "((ulong)p_Var20[7]._M_nxt & 0x70000) == 0" (parenthesized_expression "((ulong)p_Var20[7]._M_nxt & 0x70000)" ( (binary_expression "(ulong)p_Var20[7]._M_nxt & 0x70000" (cast_expression "(ulong)p_Var20[7]._M_nxt" ( (type_descriptor "ulong" type_identifier) ) (field_expression "p_Var20[7]._M_nxt" (subscript_expression "p_Var20[7]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n                  if (((ulong)p_Var20[2]._M_nxt[7]._M_nxt & 0x100000000) == 0) {\n                    if (*(int *)&p_Var20[3]._M_nxt != 0) goto LAB_0017dff5;\n                    if (((ulong)p_Var20[7]._M_nxt & 0x20000000) == 0) {\n                      bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }" { (if_statement "if (((ulong)p_Var20[2]._M_nxt[7]._M_nxt & 0x100000000) == 0) {\n                    if (*(int *)&p_Var20[3]._M_nxt != 0) goto LAB_0017dff5;\n                    if (((ulong)p_Var20[7]._M_nxt & 0x20000000) == 0) {\n                      bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\n                      goto joined_r0x0017e066;\n                    }\n                  }" if (parenthesized_expression "(((ulong)p_Var20[2]._M_nxt[7]._M_nxt & 0x100000000) == 0)" ( (binary_expression "((ulong)p_Var20[2]._M_nxt[7]._M_nxt & 0x100000000) == 0" (parenthesized_expression "((ulong)p_Var20[2]._M_nxt[7]._M_nxt & 0x100000000)" ( (binary_expression "(ulong)p_Var20[2]._M_nxt[7]._M_nxt & 0x100000000" (cast_expression "(ulong)p_Var20[2]._M_nxt[7]._M_nxt" ( (type_descriptor "ulong" type_identifier) ) (field_expression "p_Var20[2]._M_nxt[7]._M_nxt" (subscript_expression "p_Var20[2]._M_nxt[7]" (field_expression "p_Var20[2]._M_nxt" (subscript_expression "p_Var20[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n                    if (*(int *)&p_Var20[3]._M_nxt != 0) goto LAB_0017dff5;\n                    if (((ulong)p_Var20[7]._M_nxt & 0x20000000) == 0) {\n                      bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\n                      goto joined_r0x0017e066;\n                    }\n                  }" { (if_statement "if (*(int *)&p_Var20[3]._M_nxt != 0) goto LAB_0017dff5;" if (parenthesized_expression "(*(int *)&p_Var20[3]._M_nxt != 0)" ( (binary_expression "*(int *)&p_Var20[3]._M_nxt != 0" (pointer_expression "*(int *)&p_Var20[3]._M_nxt" * (cast_expression "(int *)&p_Var20[3]._M_nxt" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var20[3]._M_nxt" & (field_expression "p_Var20[3]._M_nxt" (subscript_expression "p_Var20[3]" identifier [ number_literal ]) . field_identifier)))) != number_literal) )) (goto_statement "goto LAB_0017dff5;" goto statement_identifier ;)) (if_statement "if (((ulong)p_Var20[7]._M_nxt & 0x20000000) == 0) {\n                      bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\n                      goto joined_r0x0017e066;\n                    }" if (parenthesized_expression "(((ulong)p_Var20[7]._M_nxt & 0x20000000) == 0)" ( (binary_expression "((ulong)p_Var20[7]._M_nxt & 0x20000000) == 0" (parenthesized_expression "((ulong)p_Var20[7]._M_nxt & 0x20000000)" ( (binary_expression "(ulong)p_Var20[7]._M_nxt & 0x20000000" (cast_expression "(ulong)p_Var20[7]._M_nxt" ( (type_descriptor "ulong" type_identifier) ) (field_expression "p_Var20[7]._M_nxt" (subscript_expression "p_Var20[7]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n                      bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\n                      goto joined_r0x0017e066;\n                    }" { (expression_statement "bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);" (assignment_expression "bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1)" identifier = (pointer_expression "*(byte *)((long)&p_Var20[7]._M_nxt + 1)" * (cast_expression "(byte *)((long)&p_Var20[7]._M_nxt + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&p_Var20[7]._M_nxt + 1)" ( (binary_expression "(long)&p_Var20[7]._M_nxt + 1" (cast_expression "(long)&p_Var20[7]._M_nxt" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var20[7]._M_nxt" & (field_expression "p_Var20[7]._M_nxt" (subscript_expression "p_Var20[7]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ;) (goto_statement "goto joined_r0x0017e066;" goto statement_identifier ;) })) })) }) (else_clause "else if (((ulong)p_Var20[7]._M_nxt & 0x70000) != 0x40000) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && (((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0)) {\n                    pGVar3 = gold::parameters->options_;\n                    if (pGVar3 == (General_options *)0x0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if ((pGVar3->shared_).value != false) {\n                      this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_;\n                      bVar7 = gold::Version_script_info::get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);\n                      if ((!bVar7) || (is_global != false)) {\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  ppVVar5 = local_70;\n                  if (local_70 == (pointer)0xffffffffffffffff) {\n                    pOVar4 = this->targ_->iplt_;\n                    if (pOVar4 == (Output_data_plt_powerpc<64,_true> *)0x0) {\n                      Target_powerpc<64,_true>::iplt_section(this_00);\n                      goto LAB_0017e2f6;\n                    }\n                    if (((pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1) == 0) goto LAB_0017e2fb;\n                    ppVVar5 = (pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_;\n                    local_70 = ppVVar5;\n                  }\n                }" else (if_statement "if (((ulong)p_Var20[7]._M_nxt & 0x70000) != 0x40000) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && (((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0)) {\n                    pGVar3 = gold::parameters->options_;\n                    if (pGVar3 == (General_options *)0x0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if ((pGVar3->shared_).value != false) {\n                      this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_;\n                      bVar7 = gold::Version_script_info::get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);\n                      if ((!bVar7) || (is_global != false)) {\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  ppVVar5 = local_70;\n                  if (local_70 == (pointer)0xffffffffffffffff) {\n                    pOVar4 = this->targ_->iplt_;\n                    if (pOVar4 == (Output_data_plt_powerpc<64,_true> *)0x0) {\n                      Target_powerpc<64,_true>::iplt_section(this_00);\n                      goto LAB_0017e2f6;\n                    }\n                    if (((pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1) == 0) goto LAB_0017e2fb;\n                    ppVVar5 = (pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_;\n                    local_70 = ppVVar5;\n                  }\n                }" if (parenthesized_expression "(((ulong)p_Var20[7]._M_nxt & 0x70000) != 0x40000)" ( (binary_expression "((ulong)p_Var20[7]._M_nxt & 0x70000) != 0x40000" (parenthesized_expression "((ulong)p_Var20[7]._M_nxt & 0x70000)" ( (binary_expression "(ulong)p_Var20[7]._M_nxt & 0x70000" (cast_expression "(ulong)p_Var20[7]._M_nxt" ( (type_descriptor "ulong" type_identifier) ) (field_expression "p_Var20[7]._M_nxt" (subscript_expression "p_Var20[7]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && (((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0)) {\n                    pGVar3 = gold::parameters->options_;\n                    if (pGVar3 == (General_options *)0x0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if ((pGVar3->shared_).value != false) {\n                      this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_;\n                      bVar7 = gold::Version_script_info::get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);\n                      if ((!bVar7) || (is_global != false)) {\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  ppVVar5 = local_70;\n                  if (local_70 == (pointer)0xffffffffffffffff) {\n                    pOVar4 = this->targ_->iplt_;\n                    if (pOVar4 == (Output_data_plt_powerpc<64,_true> *)0x0) {\n                      Target_powerpc<64,_true>::iplt_section(this_00);\n                      goto LAB_0017e2f6;\n                    }\n                    if (((pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1) == 0) goto LAB_0017e2fb;\n                    ppVVar5 = (pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_;\n                    local_70 = ppVVar5;\n                  }\n                }" { (labeled_statement "LAB_0017dff5:\n                  bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);" statement_identifier : (expression_statement "bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1);" (assignment_expression "bVar1 = *(byte *)((long)&p_Var20[7]._M_nxt + 1)" identifier = (pointer_expression "*(byte *)((long)&p_Var20[7]._M_nxt + 1)" * (cast_expression "(byte *)((long)&p_Var20[7]._M_nxt + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&p_Var20[7]._M_nxt + 1)" ( (binary_expression "(long)&p_Var20[7]._M_nxt + 1" (cast_expression "(long)&p_Var20[7]._M_nxt" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var20[7]._M_nxt" & (field_expression "p_Var20[7]._M_nxt" (subscript_expression "p_Var20[7]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ;)) (labeled_statement "joined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && (((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0)) {\n                    pGVar3 = gold::parameters->options_;\n                    if (pGVar3 == (General_options *)0x0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if ((pGVar3->shared_).value != false) {\n                      this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_;\n                      bVar7 = gold::Version_script_info::get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);\n                      if ((!bVar7) || (is_global != false)) {\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }" statement_identifier : (if_statement "if (((bVar1 & 3) == 0) && (((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0)) {\n                    pGVar3 = gold::parameters->options_;\n                    if (pGVar3 == (General_options *)0x0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if ((pGVar3->shared_).value != false) {\n                      this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_;\n                      bVar7 = gold::Version_script_info::get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);\n                      if ((!bVar7) || (is_global != false)) {\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }" if (parenthesized_expression "(((bVar1 & 3) == 0) && (((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0))" ( (binary_expression "((bVar1 & 3) == 0) && (((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0)" (parenthesized_expression "((bVar1 & 3) == 0)" ( (binary_expression "(bVar1 & 3) == 0" (parenthesized_expression "(bVar1 & 3)" ( (binary_expression "bVar1 & 3" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0)" ( (binary_expression "((ulong)p_Var20[7]._M_nxt & 0x10000000) == 0" (parenthesized_expression "((ulong)p_Var20[7]._M_nxt & 0x10000000)" ( (binary_expression "(ulong)p_Var20[7]._M_nxt & 0x10000000" (cast_expression "(ulong)p_Var20[7]._M_nxt" ( (type_descriptor "ulong" type_identifier) ) (field_expression "p_Var20[7]._M_nxt" (subscript_expression "p_Var20[7]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n                    pGVar3 = gold::parameters->options_;\n                    if (pGVar3 == (General_options *)0x0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if ((pGVar3->shared_).value != false) {\n                      this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_;\n                      bVar7 = gold::Version_script_info::get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);\n                      if ((!bVar7) || (is_global != false)) {\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }" { (expression_statement "pGVar3 = gold::parameters->options_;" (field_expression "pGVar3 = gold::parameters->options_" (assignment_expression "pGVar3 = gold" identifier = identifier) (ERROR "::parameters" : : identifier) -> field_identifier) ;) (if_statement "if (pGVar3 == (General_options *)0x0) {\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }" if (parenthesized_expression "(pGVar3 == (General_options *)0x0)" ( (binary_expression "pGVar3 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }" { (labeled_statement "LAB_0017e365:\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;))) })) (if_statement "if ((pGVar3->shared_).value != false) {\n                      this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_;\n                      bVar7 = gold::Version_script_info::get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);\n                      if ((!bVar7) || (is_global != false)) {\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }" if (parenthesized_expression "((pGVar3->shared_).value != false)" ( (binary_expression "(pGVar3->shared_).value != false" (field_expression "(pGVar3->shared_).value" (parenthesized_expression "(pGVar3->shared_)" ( (field_expression "pGVar3->shared_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n                      this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_;\n                      bVar7 = gold::Version_script_info::get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);\n                      if ((!bVar7) || (is_global != false)) {\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }" { (expression_statement "this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_;" (assignment_expression "this_00 = (Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_" identifier = (binary_expression "(Target_powerpc<64,_true> *)\n                                &(pGVar3->dynamic_list_).version_script_info_" (parenthesized_expression "(Target_powerpc<64,_true> *)" ( (comma_expression "Target_powerpc<64,_true> *" (binary_expression "Target_powerpc<64" identifier < number_literal) , (binary_expression "_true> *" identifier > (pointer_expression "*" * identifier))) )) & (field_expression "(pGVar3->dynamic_list_).version_script_info_" (parenthesized_expression "(pGVar3->dynamic_list_)" ( (field_expression "pGVar3->dynamic_list_" identifier -> field_identifier) )) . field_identifier))) ;) (ERROR "bVar7 = gold::" (assignment_expression "bVar7 = gold" identifier = identifier) : :) (labeled_statement "Version_script_info::get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);" statement_identifier : (ERROR ":" :) (expression_statement "get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global);" (call_expression "get_symbol_version\n                                        ((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global)" identifier (argument_list "((Version_script_info *)this_00,(char *)p_Var20->_M_nxt,\n                                         (string *)0x0,&is_global)" ( (cast_expression "(Version_script_info *)this_00" ( (type_descriptor "Version_script_info *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)p_Var20->_M_nxt" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var20->_M_nxt" identifier -> field_identifier)) , (cast_expression "(string *)0x0" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (pointer_expression "&is_global" & identifier) ))) ;)) (if_statement "if ((!bVar7) || (is_global != false)) {\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }" if (parenthesized_expression "((!bVar7) || (is_global != false))" ( (binary_expression "(!bVar7) || (is_global != false)" (parenthesized_expression "(!bVar7)" ( (unary_expression "!bVar7" ! identifier) )) || (parenthesized_expression "(is_global != false)" ( (binary_expression "is_global != false" identifier != false) ))) )) (compound_statement "{\n                        pGVar3 = gold::parameters->options_;\n                        if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;\n                        if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;\n                      }" { (expression_statement "pGVar3 = gold::parameters->options_;" (field_expression "pGVar3 = gold::parameters->options_" (assignment_expression "pGVar3 = gold" identifier = identifier) (ERROR "::parameters" : : identifier) -> field_identifier) ;) (if_statement "if (pGVar3 == (General_options *)0x0) goto LAB_0017e365;" if (parenthesized_expression "(pGVar3 == (General_options *)0x0)" ( (binary_expression "pGVar3 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0017e365;" goto statement_identifier ;)) (if_statement "if (((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;" if (parenthesized_expression "(((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false))))" ( (binary_expression "((pGVar3->Bsymbolic_).value != false) ||\n                           ((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))" (parenthesized_expression "((pGVar3->Bsymbolic_).value != false)" ( (binary_expression "(pGVar3->Bsymbolic_).value != false" (field_expression "(pGVar3->Bsymbolic_).value" (parenthesized_expression "(pGVar3->Bsymbolic_)" ( (field_expression "pGVar3->Bsymbolic_" identifier -> field_identifier) )) . field_identifier) != false) )) || (parenthesized_expression "((((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)))" ( (parenthesized_expression "(((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false))" ( (binary_expression "((ulong)p_Var20[7]._M_nxt & 0xf) != 1 &&\n                            ((pGVar3->Bsymbolic_functions_).value != false)" (binary_expression "((ulong)p_Var20[7]._M_nxt & 0xf) != 1" (parenthesized_expression "((ulong)p_Var20[7]._M_nxt & 0xf)" ( (binary_expression "(ulong)p_Var20[7]._M_nxt & 0xf" (cast_expression "(ulong)p_Var20[7]._M_nxt" ( (type_descriptor "ulong" type_identifier) ) (field_expression "p_Var20[7]._M_nxt" (subscript_expression "p_Var20[7]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) != number_literal) && (parenthesized_expression "((pGVar3->Bsymbolic_functions_).value != false)" ( (binary_expression "(pGVar3->Bsymbolic_functions_).value != false" (field_expression "(pGVar3->Bsymbolic_functions_).value" (parenthesized_expression "(pGVar3->Bsymbolic_functions_)" ( (field_expression "pGVar3->Bsymbolic_functions_" identifier -> field_identifier) )) . field_identifier) != false) ))) )) ))) )) (goto_statement "goto LAB_0017e024;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0017def5;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_0017e024:\n                  ppVVar5 = local_70;" statement_identifier : (expression_statement "ppVVar5 = local_70;" (assignment_expression "ppVVar5 = local_70" identifier = identifier) ;)) (if_statement "if (local_70 == (pointer)0xffffffffffffffff) {\n                    pOVar4 = this->targ_->iplt_;\n                    if (pOVar4 == (Output_data_plt_powerpc<64,_true> *)0x0) {\n                      Target_powerpc<64,_true>::iplt_section(this_00);\n                      goto LAB_0017e2f6;\n                    }\n                    if (((pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1) == 0) goto LAB_0017e2fb;\n                    ppVVar5 = (pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_;\n                    local_70 = ppVVar5;\n                  }" if (parenthesized_expression "(local_70 == (pointer)0xffffffffffffffff)" ( (binary_expression "local_70 == (pointer)0xffffffffffffffff" identifier == (cast_expression "(pointer)0xffffffffffffffff" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n                    pOVar4 = this->targ_->iplt_;\n                    if (pOVar4 == (Output_data_plt_powerpc<64,_true> *)0x0) {\n                      Target_powerpc<64,_true>::iplt_section(this_00);\n                      goto LAB_0017e2f6;\n                    }\n                    if (((pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1) == 0) goto LAB_0017e2fb;\n                    ppVVar5 = (pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_;\n                    local_70 = ppVVar5;\n                  }" { (expression_statement "pOVar4 = this->targ_->iplt_;" (assignment_expression "pOVar4 = this->targ_->iplt_" identifier = (field_expression "this->targ_->iplt_" (field_expression "this->targ_" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if (pOVar4 == (Output_data_plt_powerpc<64,_true> *)0x0) {\n                      Target_powerpc<64,_true>::iplt_section(this_00);\n                      goto LAB_0017e2f6;\n                    }" if (parenthesized_expression "(pOVar4 == (Output_data_plt_powerpc<64,_true> *)0x0)" ( (binary_expression "pOVar4 == (Output_data_plt_powerpc<64,_true> *)0x0)" identifier == (parenthesized_expression "(Output_data_plt_powerpc<64,_true> *)0x0)" ( (comma_expression "Output_data_plt_powerpc<64,_true> *)0x0" (binary_expression "Output_data_plt_powerpc<64" identifier < number_literal) , (binary_expression "_true> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n                      Target_powerpc<64,_true>::iplt_section(this_00);\n                      goto LAB_0017e2f6;\n                    }" { (expression_statement "Target_powerpc<64,_true>::iplt_section(this_00);" (comma_expression "Target_powerpc<64,_true>::iplt_section(this_00)" (binary_expression "Target_powerpc<64" identifier < number_literal) , (binary_expression "_true>::iplt_section(this_00)" identifier > (ERROR "::" : :) (call_expression "iplt_section(this_00)" identifier (argument_list "(this_00)" ( identifier ))))) ;) (goto_statement "goto LAB_0017e2f6;" goto statement_identifier ;) })) (if_statement "if (((pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1) == 0) goto LAB_0017e2fb;" if (parenthesized_expression "(((pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1) == 0)" ( (binary_expression "((pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1) == 0" (parenthesized_expression "((pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1)" ( (binary_expression "(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20 & 1" (field_expression "(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.field_0x20" (field_expression "(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data" (field_expression "(pOVar4->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar4->super_Output_section_data_build)" ( (field_expression "pOVar4->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0017e2fb;" goto statement_identifier ;)) (expression_statement "ppVVar5 = (pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_;" (assignment_expression "ppVVar5 = (pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_" identifier = (field_expression "(pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_" (field_expression "(pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data" (field_expression "(pointer)(pOVar4->super_Output_section_data_build).\n                                       super_Output_section_data" (call_expression "(pointer)(pOVar4->super_Output_section_data_build)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "(pOVar4->super_Output_section_data_build)" ( (field_expression "pOVar4->super_Output_section_data_build" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "local_70 = ppVVar5;" (assignment_expression "local_70 = ppVVar5" identifier = identifier) ;) })) })))) })) (labeled_statement "LAB_0017def5:\n              uVar16 = (long)ppVVar5 +\n                       ((ulong)uVar12 - ((ulong)*(uint *)&p_Var18[2]._M_nxt + lVar2 + uVar11));" statement_identifier : (expression_statement "uVar16 = (long)ppVVar5 +\n                       ((ulong)uVar12 - ((ulong)*(uint *)&p_Var18[2]._M_nxt + lVar2 + uVar11));" (assignment_expression "uVar16 = (long)ppVVar5 +\n                       ((ulong)uVar12 - ((ulong)*(uint *)&p_Var18[2]._M_nxt + lVar2 + uVar11))" identifier = (binary_expression "(long)ppVVar5 +\n                       ((ulong)uVar12 - ((ulong)*(uint *)&p_Var18[2]._M_nxt + lVar2 + uVar11))" (cast_expression "(long)ppVVar5" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((ulong)uVar12 - ((ulong)*(uint *)&p_Var18[2]._M_nxt + lVar2 + uVar11))" ( (binary_expression "(ulong)uVar12 - ((ulong)*(uint *)&p_Var18[2]._M_nxt + lVar2 + uVar11)" (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier) - (parenthesized_expression "((ulong)*(uint *)&p_Var18[2]._M_nxt + lVar2 + uVar11)" ( (binary_expression "(ulong)*(uint *)&p_Var18[2]._M_nxt + lVar2 + uVar11" (binary_expression "(ulong)*(uint *)&p_Var18[2]._M_nxt + lVar2" (binary_expression "(ulong)*(uint *)&p_Var18[2]._M_nxt" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)&p_Var18[2]._M_nxt" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var18[2]._M_nxt" & (field_expression "p_Var18[2]._M_nxt" (subscript_expression "p_Var18[2]" identifier [ number_literal ]) . field_identifier)))) + identifier) + identifier) ))) )))) ;)) (if_statement "if ((0xffffffff < uVar16 + 0x80008000) || ((uVar16 & 3) != 0)) {\n                gold::Symbol::demangled_name((string *)local_58,(Symbol *)p_Var18[1]._M_nxt);\n                uVar6 = local_58._0_8_;\n                if (((ulong)p_Var18[1]._M_nxt[7]._M_nxt & 0x70000) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  gold::do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n                }\n                p_Var20 = p_Var18[1]._M_nxt[2]._M_nxt[1]._M_nxt;\n                format = (char *)gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                gold::gold_error(format,p_Var20,uVar6);\n                this_00 = (Target_powerpc<64,_true> *)local_58._0_8_;\n                if ((Target_powerpc<64,_true> *)local_58._0_8_ !=\n                    (Target_powerpc<64,_true> *)(local_58 + 0x10)) {\n                  operator_delete((void *)local_58._0_8_);\n                }\n              }" if (parenthesized_expression "((0xffffffff < uVar16 + 0x80008000) || ((uVar16 & 3) != 0))" ( (binary_expression "(0xffffffff < uVar16 + 0x80008000) || ((uVar16 & 3) != 0)" (parenthesized_expression "(0xffffffff < uVar16 + 0x80008000)" ( (binary_expression "0xffffffff < uVar16 + 0x80008000" number_literal < (binary_expression "uVar16 + 0x80008000" identifier + number_literal)) )) || (parenthesized_expression "((uVar16 & 3) != 0)" ( (binary_expression "(uVar16 & 3) != 0" (parenthesized_expression "(uVar16 & 3)" ( (binary_expression "uVar16 & 3" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                gold::Symbol::demangled_name((string *)local_58,(Symbol *)p_Var18[1]._M_nxt);\n                uVar6 = local_58._0_8_;\n                if (((ulong)p_Var18[1]._M_nxt[7]._M_nxt & 0x70000) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  gold::do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n                }\n                p_Var20 = p_Var18[1]._M_nxt[2]._M_nxt[1]._M_nxt;\n                format = (char *)gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */\n                gold::gold_error(format,p_Var20,uVar6);\n                this_00 = (Target_powerpc<64,_true> *)local_58._0_8_;\n                if ((Target_powerpc<64,_true> *)local_58._0_8_ !=\n                    (Target_powerpc<64,_true> *)(local_58 + 0x10)) {\n                  operator_delete((void *)local_58._0_8_);\n                }\n              }" { (labeled_statement "gold::Symbol::demangled_name((string *)local_58,(Symbol *)p_Var18[1]._M_nxt);" statement_identifier : (ERROR ":" :) (labeled_statement "Symbol::demangled_name((string *)local_58,(Symbol *)p_Var18[1]._M_nxt);" statement_identifier : (ERROR ":" :) (expression_statement "demangled_name((string *)local_58,(Symbol *)p_Var18[1]._M_nxt);" (call_expression "demangled_name((string *)local_58,(Symbol *)p_Var18[1]._M_nxt)" identifier (argument_list "((string *)local_58,(Symbol *)p_Var18[1]._M_nxt)" ( (cast_expression "(string *)local_58" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(Symbol *)p_Var18[1]._M_nxt" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var18[1]._M_nxt" (subscript_expression "p_Var18[1]" identifier [ number_literal ]) . field_identifier)) ))) ;))) (expression_statement "uVar6 = local_58._0_8_;" (assignment_expression "uVar6 = local_58._0_8_" identifier = (field_expression "local_58._0_8_" identifier . field_identifier)) ;) (if_statement "if (((ulong)p_Var18[1]._M_nxt[7]._M_nxt & 0x70000) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  gold::do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n                }" if (parenthesized_expression "(((ulong)p_Var18[1]._M_nxt[7]._M_nxt & 0x70000) != 0)" ( (binary_expression "((ulong)p_Var18[1]._M_nxt[7]._M_nxt & 0x70000) != 0" (parenthesized_expression "((ulong)p_Var18[1]._M_nxt[7]._M_nxt & 0x70000)" ( (binary_expression "(ulong)p_Var18[1]._M_nxt[7]._M_nxt & 0x70000" (cast_expression "(ulong)p_Var18[1]._M_nxt[7]._M_nxt" ( (type_descriptor "ulong" type_identifier) ) (field_expression "p_Var18[1]._M_nxt[7]._M_nxt" (subscript_expression "p_Var18[1]._M_nxt[7]" (field_expression "p_Var18[1]._M_nxt" (subscript_expression "p_Var18[1]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */\n                  gold::do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n                }" { comment comment (labeled_statement "gold::do_gold_unreachable("../../gold/symtab.h",0xa1,"object");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/symtab.h",0xa1,"object");" (call_expression "do_gold_unreachable("../../gold/symtab.h",0xa1,"object")" identifier (argument_list "("../../gold/symtab.h",0xa1,"object")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""object"" " string_content ") ))) ;)) })) (expression_statement "p_Var20 = p_Var18[1]._M_nxt[2]._M_nxt[1]._M_nxt;" (assignment_expression "p_Var20 = p_Var18[1]._M_nxt[2]._M_nxt[1]._M_nxt" identifier = (field_expression "p_Var18[1]._M_nxt[2]._M_nxt[1]._M_nxt" (subscript_expression "p_Var18[1]._M_nxt[2]._M_nxt[1]" (field_expression "p_Var18[1]._M_nxt[2]._M_nxt" (subscript_expression "p_Var18[1]._M_nxt[2]" (field_expression "p_Var18[1]._M_nxt" (subscript_expression "p_Var18[1]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier)) ;) (expression_statement "format = (char *)gettext("%s: linkage table error against `%s\'");" (assignment_expression "format = (char *)gettext("%s: linkage table error against `%s\'")" identifier = (cast_expression "(char *)gettext("%s: linkage table error against `%s\'")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("%s: linkage table error against `%s\'")" identifier (argument_list "("%s: linkage table error against `%s\'")" ( (string_literal ""%s: linkage table error against `%s\'"" " string_content escape_sequence ") ))))) ;) comment (labeled_statement "gold::gold_error(format,p_Var20,uVar6);" statement_identifier : (ERROR ":" :) (expression_statement "gold_error(format,p_Var20,uVar6);" (call_expression "gold_error(format,p_Var20,uVar6)" identifier (argument_list "(format,p_Var20,uVar6)" ( identifier , identifier , identifier ))) ;)) (expression_statement "this_00 = (Target_powerpc<64,_true> *)local_58._0_8_;" (assignment_expression "this_00 = (Target_powerpc<64,_true> *)local_58._0_8_" identifier = (parenthesized_expression "(Target_powerpc<64,_true> *)local_58._0_8_" ( (comma_expression "Target_powerpc<64,_true> *)local_58._0_8_" (binary_expression "Target_powerpc<64" identifier < number_literal) , (binary_expression "_true> *)local_58._0_8_" identifier > (pointer_expression "*)local_58._0_8_" * (ERROR ")" )) (field_expression "local_58._0_8_" identifier . field_identifier)))) ))) ;) (if_statement "if ((Target_powerpc<64,_true> *)local_58._0_8_ !=\n                    (Target_powerpc<64,_true> *)(local_58 + 0x10)) {\n                  operator_delete((void *)local_58._0_8_);\n                }" if (parenthesized_expression "((Target_powerpc<64,_true> *)local_58._0_8_ !=\n                    (Target_powerpc<64,_true> *)(local_58 + 0x10))" ( (parenthesized_expression "(Target_powerpc<64,_true> *)local_58._0_8_ !=\n                    (Target_powerpc<64,_true> *)(local_58 + 0x10))" ( (comma_expression "Target_powerpc<64,_true> *)local_58._0_8_ !=\n                    (Target_powerpc<64,_true> *)(local_58 + 0x10)" (binary_expression "Target_powerpc<64" identifier < number_literal) , (binary_expression "_true> *)local_58._0_8_ !=\n                    (Target_powerpc<64,_true> *)(local_58 + 0x10)" (binary_expression "_true> *)local_58._0_8_" identifier > (pointer_expression "*)local_58._0_8_" * (ERROR ")" )) (field_expression "local_58._0_8_" identifier . field_identifier))) != (call_expression "(Target_powerpc<64,_true> *)(local_58 + 0x10)" (parenthesized_expression "(Target_powerpc<64,_true> *)" ( (comma_expression "Target_powerpc<64,_true> *" (binary_expression "Target_powerpc<64" identifier < number_literal) , (binary_expression "_true> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(local_58 + 0x10)" ( (binary_expression "local_58 + 0x10" identifier + number_literal) ))))) )) )) (compound_statement "{\n                  operator_delete((void *)local_58._0_8_);\n                }" { (expression_statement "operator_delete((void *)local_58._0_8_);" (call_expression "operator_delete((void *)local_58._0_8_)" identifier (argument_list "((void *)local_58._0_8_)" ( (cast_expression "(void *)local_58._0_8_" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "local_58._0_8_" identifier . field_identifier)) ))) ;) })) })) (expression_statement "uVar10 = (uint)uVar16 & 0xffff;" (assignment_expression "uVar10 = (uint)uVar16 & 0xffff" identifier = (binary_expression "(uint)uVar16 & 0xffff" (cast_expression "(uint)uVar16" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar9 = (uint)uVar16 + 0x8000 >> 0x10;" (assignment_expression "uVar9 = (uint)uVar16 + 0x8000 >> 0x10" identifier = (binary_expression "(uint)uVar16 + 0x8000 >> 0x10" (binary_expression "(uint)uVar16 + 0x8000" (cast_expression "(uint)uVar16" ( (type_descriptor "uint" type_identifier) ) identifier) + number_literal) >> number_literal)) ;) (expression_statement "uVar15 = uVar10 + 0xe98c0000;" (assignment_expression "uVar15 = uVar10 + 0xe98c0000" identifier = (binary_expression "uVar10 + 0xe98c0000" identifier + number_literal)) ;) (expression_statement "uVar12 = uVar9 + 0x3d8c0000;" (assignment_expression "uVar12 = uVar9 + 0x3d8c0000" identifier = (binary_expression "uVar9 + 0x3d8c0000" identifier + number_literal)) ;) (expression_statement "puVar17[1] = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                           uVar10 << 0x18;" (assignment_expression "puVar17[1] = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                           uVar10 << 0x18" (subscript_expression "puVar17[1]" identifier [ number_literal ]) = (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                           uVar10 << 0x18" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8" (binary_expression "uVar15 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar15 & 0xff0000) >> 8" (parenthesized_expression "(uVar15 & 0xff0000)" ( (binary_expression "uVar15 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff00) << 8" (parenthesized_expression "(uVar15 & 0xff00)" ( (binary_expression "uVar15 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal))) ;) (expression_statement "*puVar17 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                         uVar9 << 0x18;" (assignment_expression "*puVar17 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                         uVar9 << 0x18" (pointer_expression "*puVar17" * identifier) = (binary_expression "uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                         uVar9 << 0x18" (binary_expression "uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8" (binary_expression "uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8" (binary_expression "uVar12 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar12 & 0xff0000) >> 8" (parenthesized_expression "(uVar12 & 0xff0000)" ( (binary_expression "uVar12 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar12 & 0xff00) << 8" (parenthesized_expression "(uVar12 & 0xff00)" ( (binary_expression "uVar12 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar17[2] = 0xa603897d;" (assignment_expression "puVar17[2] = 0xa603897d" (subscript_expression "puVar17[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[3] = 0x2004804e;" (assignment_expression "puVar17[3] = 0x2004804e" (subscript_expression "puVar17[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "p_Var18 = p_Var18->_M_nxt;" (assignment_expression "p_Var18 = p_Var18->_M_nxt" identifier = (field_expression "p_Var18->_M_nxt" identifier -> field_identifier)) ;) (if_statement "if (p_Var18 == (_Hash_node_base *)0x0) {\n                return;\n              }" if (parenthesized_expression "(p_Var18 == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var18 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                return;\n              }" { (return_statement "return;" return ;) })) (expression_statement "p_Var20 = p_Var18[1]._M_nxt;" (assignment_expression "p_Var20 = p_Var18[1]._M_nxt" identifier = (field_expression "p_Var18[1]._M_nxt" (subscript_expression "p_Var18[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar9 = *(uint *)&p_Var18[2]._M_nxt;" (assignment_expression "uVar9 = *(uint *)&p_Var18[2]._M_nxt" identifier = (pointer_expression "*(uint *)&p_Var18[2]._M_nxt" * (cast_expression "(uint *)&p_Var18[2]._M_nxt" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var18[2]._M_nxt" & (field_expression "p_Var18[2]._M_nxt" (subscript_expression "p_Var18[2]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4);" (assignment_expression "uVar12 = *(uint *)((long)&p_Var20[4]._M_nxt + 4)" identifier = (pointer_expression "*(uint *)((long)&p_Var20[4]._M_nxt + 4)" * (cast_expression "(uint *)((long)&p_Var20[4]._M_nxt + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&p_Var20[4]._M_nxt + 4)" ( (binary_expression "(long)&p_Var20[4]._M_nxt + 4" (cast_expression "(long)&p_Var20[4]._M_nxt" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var20[4]._M_nxt" & (field_expression "p_Var20[4]._M_nxt" (subscript_expression "p_Var20[4]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ;) }) while (parenthesized_expression "(uVar12 != 0xffffffff)" ( (binary_expression "uVar12 != 0xffffffff" identifier != number_literal) )) ;) })) comment (labeled_statement "gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");" (call_expression "do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset")" identifier (argument_list "("../../gold/symtab.h",0x1ce,"plt_offset")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""plt_offset"" " string_content ") ))) ;)) })) (labeled_statement "LAB_0017e2fb:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0xc5,"address");" (call_expression "do_gold_unreachable("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;))) })) (expression_statement "Target_powerpc<64,_true>::plt_section((Target_powerpc<64,_true> *)0x0);" (comma_expression "Target_powerpc<64,_true>::plt_section((Target_powerpc<64,_true> *)0x0)" (binary_expression "Target_powerpc<64" identifier < number_literal) , (binary_expression "_true>::plt_section((Target_powerpc<64,_true> *)0x0)" identifier > (ERROR "::" : :) (call_expression "plt_section((Target_powerpc<64,_true> *)0x0)" identifier (argument_list "((Target_powerpc<64,_true> *)0x0)" ( (parenthesized_expression "(Target_powerpc<64,_true> *)0x0)" ( (comma_expression "Target_powerpc<64,_true> *)0x0" (binary_expression "Target_powerpc<64" identifier < number_literal) , (binary_expression "_true> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) )) ))))) ;) (expression_statement "in_RDX = extraout_RDX;" (assignment_expression "in_RDX = extraout_RDX" identifier = identifier) ;) })) (labeled_statement "gold::Output_file::get_output_view((Output_file *)this_00,(off_t)of,in_RDX,this_1);" statement_identifier : (ERROR ":" :) (labeled_statement "Output_file::get_output_view((Output_file *)this_00,(off_t)of,in_RDX,this_1);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view((Output_file *)this_00,(off_t)of,in_RDX,this_1);" (call_expression "get_output_view((Output_file *)this_00,(off_t)of,in_RDX,this_1)" identifier (argument_list "((Output_file *)this_00,(off_t)of,in_RDX,this_1)" ( (cast_expression "(Output_file *)this_00" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(off_t)of" ( (type_descriptor "off_t" type_identifier) ) identifier) , identifier , identifier ))) ;))) })) comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0xcf,"data_size");" (call_expression "do_gold_unreachable("../../gold/output.h",0xcf,"data_size")" identifier (argument_list "("../../gold/output.h",0xcf,"data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") ))) ;)) (ERROR "}" }))
(translation_unit "void FUN_0017ddd0(long param_1,long param_2)\n\n{\n  byte bVar1;\n  int iVar2;\n  long lVar3;\n  long lVar4;\n  undefined8 uVar5;\n  long lVar6;\n  undefined1 *puVar7;\n  char cVar8;\n  int iVar9;\n  uint uVar10;\n  uint uVar11;\n  undefined8 uVar12;\n  ulong uVar13;\n  uint uVar14;\n  ulong *puVar15;\n  uint *puVar16;\n  uint uVar17;\n  ulong uVar18;\n  uint *puVar19;\n  long *plVar20;\n  ulong *puVar21;\n  undefined8 *puVar22;\n  long local_88;\n  long local_70;\n  char local_59;\n  undefined1 *local_58 [2];\n  undefined1 local_48 [24];\n  \n  bVar1 = *(byte *)(param_1 + 0x20);\n  if ((bVar1 & 4) == 0) {\n                    \n    FUN_001e9890("../../gold/output.h",0xe3,"offset");\n  }\n  lVar3 = *(long *)(param_1 + 0x18);\n  if ((bVar1 & 2) != 0) {\n    if ((-1 < lVar3) && (*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10))) {\n      puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18));\n      lVar3 = *(long *)(param_1 + 0x38);\n      lVar4 = *(long *)(lVar3 + 0x28);\n      if (lVar4 != 0) {\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    \n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    \n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    \n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    \n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }\n      FUN_0016d940();\n    }\n    FUN_0016e170();\n  }\n                    \n  FUN_001e9890("../../gold/output.h",0xcf,"data_size");\n}\n\n" (function_definition "void FUN_0017ddd0(long param_1,long param_2)\n\n{\n  byte bVar1;\n  int iVar2;\n  long lVar3;\n  long lVar4;\n  undefined8 uVar5;\n  long lVar6;\n  undefined1 *puVar7;\n  char cVar8;\n  int iVar9;\n  uint uVar10;\n  uint uVar11;\n  undefined8 uVar12;\n  ulong uVar13;\n  uint uVar14;\n  ulong *puVar15;\n  uint *puVar16;\n  uint uVar17;\n  ulong uVar18;\n  uint *puVar19;\n  long *plVar20;\n  ulong *puVar21;\n  undefined8 *puVar22;\n  long local_88;\n  long local_70;\n  char local_59;\n  undefined1 *local_58 [2];\n  undefined1 local_48 [24];\n  \n  bVar1 = *(byte *)(param_1 + 0x20);\n  if ((bVar1 & 4) == 0) {\n                    \n    FUN_001e9890("../../gold/output.h",0xe3,"offset");\n  }\n  lVar3 = *(long *)(param_1 + 0x18);\n  if ((bVar1 & 2) != 0) {\n    if ((-1 < lVar3) && (*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10))) {\n      puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18));\n      lVar3 = *(long *)(param_1 + 0x38);\n      lVar4 = *(long *)(lVar3 + 0x28);\n      if (lVar4 != 0) {\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    \n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    \n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    \n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    \n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }\n      FUN_0016d940();\n    }\n    FUN_0016e170();\n  }\n                    \n  FUN_001e9890("../../gold/output.h",0xcf,"data_size");\n}" primitive_type (function_declarator "FUN_0017ddd0(long param_1,long param_2)" identifier (parameter_list "(long param_1,long param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  long lVar3;\n  long lVar4;\n  undefined8 uVar5;\n  long lVar6;\n  undefined1 *puVar7;\n  char cVar8;\n  int iVar9;\n  uint uVar10;\n  uint uVar11;\n  undefined8 uVar12;\n  ulong uVar13;\n  uint uVar14;\n  ulong *puVar15;\n  uint *puVar16;\n  uint uVar17;\n  ulong uVar18;\n  uint *puVar19;\n  long *plVar20;\n  ulong *puVar21;\n  undefined8 *puVar22;\n  long local_88;\n  long local_70;\n  char local_59;\n  undefined1 *local_58 [2];\n  undefined1 local_48 [24];\n  \n  bVar1 = *(byte *)(param_1 + 0x20);\n  if ((bVar1 & 4) == 0) {\n                    \n    FUN_001e9890("../../gold/output.h",0xe3,"offset");\n  }\n  lVar3 = *(long *)(param_1 + 0x18);\n  if ((bVar1 & 2) != 0) {\n    if ((-1 < lVar3) && (*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10))) {\n      puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18));\n      lVar3 = *(long *)(param_1 + 0x38);\n      lVar4 = *(long *)(lVar3 + 0x28);\n      if (lVar4 != 0) {\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    \n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    \n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    \n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    \n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }\n      FUN_0016d940();\n    }\n    FUN_0016e170();\n  }\n                    \n  FUN_001e9890("../../gold/output.h",0xcf,"data_size");\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "char cVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "undefined8 uVar12;" type_identifier identifier ;) (declaration "ulong uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "ulong *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "uint *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "ulong uVar18;" type_identifier identifier ;) (declaration "uint *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "long *plVar20;" (sized_type_specifier "long" long) (pointer_declarator "*plVar20" * identifier) ;) (declaration "ulong *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined8 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "long local_88;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_70;" (sized_type_specifier "long" long) identifier ;) (declaration "char local_59;" primitive_type identifier ;) (declaration "undefined1 *local_58 [2];" type_identifier (pointer_declarator "*local_58 [2]" * (array_declarator "local_58 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_48 [24];" type_identifier (array_declarator "local_48 [24]" identifier [ number_literal ]) ;) (expression_statement "bVar1 = *(byte *)(param_1 + 0x20);" (assignment_expression "bVar1 = *(byte *)(param_1 + 0x20)" identifier = (pointer_expression "*(byte *)(param_1 + 0x20)" * (cast_expression "(byte *)(param_1 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if ((bVar1 & 4) == 0) {\n                    \n    FUN_001e9890("../../gold/output.h",0xe3,"offset");\n  }" if (parenthesized_expression "((bVar1 & 4) == 0)" ( (binary_expression "(bVar1 & 4) == 0" (parenthesized_expression "(bVar1 & 4)" ( (binary_expression "bVar1 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n    FUN_001e9890("../../gold/output.h",0xe3,"offset");\n  }" { (expression_statement "FUN_001e9890("../../gold/output.h",0xe3,"offset");" (call_expression "FUN_001e9890("../../gold/output.h",0xe3,"offset")" identifier (argument_list "("../../gold/output.h",0xe3,"offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") ))) ;) })) (expression_statement "lVar3 = *(long *)(param_1 + 0x18);" (assignment_expression "lVar3 = *(long *)(param_1 + 0x18)" identifier = (pointer_expression "*(long *)(param_1 + 0x18)" * (cast_expression "(long *)(param_1 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if ((bVar1 & 2) != 0) {\n    if ((-1 < lVar3) && (*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10))) {\n      puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18));\n      lVar3 = *(long *)(param_1 + 0x38);\n      lVar4 = *(long *)(lVar3 + 0x28);\n      if (lVar4 != 0) {\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    \n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    \n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    \n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    \n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }\n      FUN_0016d940();\n    }\n    FUN_0016e170();\n  }" if (parenthesized_expression "((bVar1 & 2) != 0)" ( (binary_expression "(bVar1 & 2) != 0" (parenthesized_expression "(bVar1 & 2)" ( (binary_expression "bVar1 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    if ((-1 < lVar3) && (*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10))) {\n      puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18));\n      lVar3 = *(long *)(param_1 + 0x38);\n      lVar4 = *(long *)(lVar3 + 0x28);\n      if (lVar4 != 0) {\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    \n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    \n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    \n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    \n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }\n      FUN_0016d940();\n    }\n    FUN_0016e170();\n  }" { (if_statement "if ((-1 < lVar3) && (*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10))) {\n      puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18));\n      lVar3 = *(long *)(param_1 + 0x38);\n      lVar4 = *(long *)(lVar3 + 0x28);\n      if (lVar4 != 0) {\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    \n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    \n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    \n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    \n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }\n      FUN_0016d940();\n    }" if (parenthesized_expression "((-1 < lVar3) && (*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10)))" ( (binary_expression "(-1 < lVar3) && (*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10))" (parenthesized_expression "(-1 < lVar3)" ( (binary_expression "-1 < lVar3" number_literal < identifier) )) && (parenthesized_expression "(*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10))" ( (binary_expression "*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10)" (binary_expression "*(long *)(param_1 + 0x10) + lVar3" (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) + identifier) <= (pointer_expression "*(long *)(param_2 + 0x10)" * (cast_expression "(long *)(param_2 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) ))))) ))) )) (compound_statement "{\n      puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18));\n      lVar3 = *(long *)(param_1 + 0x38);\n      lVar4 = *(long *)(lVar3 + 0x28);\n      if (lVar4 != 0) {\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    \n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    \n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    \n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    \n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }\n      FUN_0016d940();\n    }" { (expression_statement "puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18));" (assignment_expression "puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18))" identifier = (cast_expression "(ulong *)(lVar3 + *(long *)(param_2 + 0x18))" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + *(long *)(param_2 + 0x18))" ( (binary_expression "lVar3 + *(long *)(param_2 + 0x18)" identifier + (pointer_expression "*(long *)(param_2 + 0x18)" * (cast_expression "(long *)(param_2 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) )))) ;) (expression_statement "lVar3 = *(long *)(param_1 + 0x38);" (assignment_expression "lVar3 = *(long *)(param_1 + 0x38)" identifier = (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "lVar4 = *(long *)(lVar3 + 0x28);" (assignment_expression "lVar4 = *(long *)(lVar3 + 0x28)" identifier = (pointer_expression "*(long *)(lVar3 + 0x28)" * (cast_expression "(long *)(lVar3 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x28)" ( (binary_expression "lVar3 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (lVar4 != 0) {\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    \n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    \n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    \n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    \n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }" if (parenthesized_expression "(lVar4 != 0)" ( (binary_expression "lVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    \n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    \n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    \n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    \n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }" { (if_statement "if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;" if (parenthesized_expression "((*(byte *)(lVar4 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar4 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar4 + 0x20) & 1" (pointer_expression "*(byte *)(lVar4 + 0x20)" * (cast_expression "(byte *)(lVar4 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x20)" ( (binary_expression "lVar4 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0017e2fb;" goto statement_identifier ;)) (expression_statement "local_88 = *(long *)(lVar4 + 8);" (assignment_expression "local_88 = *(long *)(lVar4 + 8)" identifier = (pointer_expression "*(long *)(lVar4 + 8)" * (cast_expression "(long *)(lVar4 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 8)" ( (binary_expression "lVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(param_1 + 0x78);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x78)" identifier = (pointer_expression "*(int *)(param_1 + 0x78)" * (cast_expression "(int *)(param_1 + 0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x78)" ( (binary_expression "param_1 + 0x78" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    \n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    \n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }" { (if_statement "if ((bVar1 & 1) == 0) goto LAB_0017e2fb;" if (parenthesized_expression "((bVar1 & 1) == 0)" ( (binary_expression "(bVar1 & 1) == 0" (parenthesized_expression "(bVar1 & 1)" ( (binary_expression "bVar1 & 1" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0017e2fb;" goto statement_identifier ;)) (expression_statement "uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;" (assignment_expression "uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10" identifier = (binary_expression "(local_88 - *(long *)(param_1 + 8)) - 0x10" (parenthesized_expression "(local_88 - *(long *)(param_1 + 8))" ( (binary_expression "local_88 - *(long *)(param_1 + 8)" identifier - (pointer_expression "*(long *)(param_1 + 8)" * (cast_expression "(long *)(param_1 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) )) - number_literal)) ;) (expression_statement "*puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;" (assignment_expression "*puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38" (pointer_expression "*puVar21" * identifier) = (binary_expression "uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38" (binary_expression "uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28" (binary_expression "uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18" (binary_expression "uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8" (binary_expression "uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8" (binary_expression "uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18" (binary_expression "uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28" (binary_expression "uVar13 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar13 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar13 & 0xff000000000000)" ( (binary_expression "uVar13 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar13 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar13 & 0xff0000000000)" ( (binary_expression "uVar13 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar13 & 0xff00000000) >> 8" (parenthesized_expression "(uVar13 & 0xff00000000)" ( (binary_expression "uVar13 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar13 & 0xff000000) << 8" (parenthesized_expression "(uVar13 & 0xff000000)" ( (binary_expression "uVar13 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar13 & 0xff0000) << 0x18" (parenthesized_expression "(uVar13 & 0xff0000)" ( (binary_expression "uVar13 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar13 & 0xff00) << 0x28" (parenthesized_expression "(uVar13 & 0xff00)" ( (binary_expression "uVar13 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar13 << 0x38" identifier << number_literal))) ;) (if_statement "if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }" if (parenthesized_expression "((*(byte *)(lVar3 + 0x10) & 2) == 0)" ( (binary_expression "(*(byte *)(lVar3 + 0x10) & 2) == 0" (parenthesized_expression "(*(byte *)(lVar3 + 0x10) & 2)" ( (binary_expression "*(byte *)(lVar3 + 0x10) & 2" (pointer_expression "*(byte *)(lVar3 + 0x10)" * (cast_expression "(byte *)(lVar3 + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x10)" ( (binary_expression "lVar3 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }" { (expression_statement "puVar15 = puVar21 + 6;" (assignment_expression "puVar15 = puVar21 + 6" identifier = (binary_expression "puVar21 + 6" identifier + number_literal)) ;) (expression_statement "puVar21[1] = 0x5009f42a602887d;" (assignment_expression "puVar21[1] = 0x5009f42a602887d" (subscript_expression "puVar21[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar21[2] = 0xf0ff4be8a602687d;" (assignment_expression "puVar21[2] = 0xf0ff4be8a602687d" (subscript_expression "puVar21[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar21[3] = 0x145a627da603887d;" (assignment_expression "puVar21[3] = 0x145a627da603887d" (subscript_expression "puVar21[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar21[4] = 0x8004be800008be9;" (assignment_expression "puVar21[4] = 0x8004be800008be9" (subscript_expression "puVar21[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar21[5] = 0x10006be9a603897d;" (assignment_expression "puVar21[5] = 0x10006be9a603897d" (subscript_expression "puVar21[5]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }" else (compound_statement "{\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }" { (expression_statement "*(undefined4 *)(puVar21 + 7) = 0x8006be9;" (assignment_expression "*(undefined4 *)(puVar21 + 7) = 0x8006be9" (pointer_expression "*(undefined4 *)(puVar21 + 7)" * (cast_expression "(undefined4 *)(puVar21 + 7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 7)" ( (binary_expression "puVar21 + 7" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar15 = (ulong *)((long)puVar21 + 0x3c);" (assignment_expression "puVar15 = (ulong *)((long)puVar21 + 0x3c)" identifier = (cast_expression "(ulong *)((long)puVar21 + 0x3c)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar21 + 0x3c)" ( (binary_expression "(long)puVar21 + 0x3c" (cast_expression "(long)puVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (expression_statement "puVar21[1] = 0x5009f42a602087c;" (assignment_expression "puVar21[1] = 0x5009f42a602087c" (subscript_expression "puVar21[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar21[2] = 0x180041f8a602687d;" (assignment_expression "puVar21[2] = 0x180041f8a602687d" (subscript_expression "puVar21[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar21[3] = 0xa603087cf0ff4be8;" (assignment_expression "puVar21[3] = 0xa603087cf0ff4be8" (subscript_expression "puVar21[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar21[4] = 0x145a627d50608b7d;" (assignment_expression "puVar21[4] = 0x145a627d50608b7d" (subscript_expression "puVar21[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar21[5] = 0x8be9d0ff0c38;" (assignment_expression "puVar21[5] = 0x8be9d0ff0c38" (subscript_expression "puVar21[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar21[6] = 0xa603897d82f00078;" (assignment_expression "puVar21[6] = 0xa603897d82f00078" (subscript_expression "puVar21[6]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "*(undefined4 *)puVar15 = 0x2004804e;" (assignment_expression "*(undefined4 *)puVar15 = 0x2004804e" (pointer_expression "*(undefined4 *)puVar15" * (cast_expression "(undefined4 *)puVar15" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "uVar14 = *(uint *)(lVar3 + 0x10);" (assignment_expression "uVar14 = *(uint *)(lVar3 + 0x10)" identifier = (pointer_expression "*(uint *)(lVar3 + 0x10)" * (cast_expression "(uint *)(lVar3 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x10)" ( (binary_expression "lVar3 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "puVar19 = (uint *)((long)puVar15 + 4);" (assignment_expression "puVar19 = (uint *)((long)puVar15 + 4)" identifier = (cast_expression "(uint *)((long)puVar15 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar15 + 4)" ( (binary_expression "(long)puVar15 + 4" (cast_expression "(long)puVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (if_statement "if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    \n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }" if (parenthesized_expression "(puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40))" ( (binary_expression "puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)" identifier != (cast_expression "(uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)" ( (binary_expression "(long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40" (binary_expression "(long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4)" (cast_expression "(long)puVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "(-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4)" ( (binary_expression "-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4" (unary_expression "-(ulong)((uVar14 & 2) == 0)" - (call_expression "(ulong)((uVar14 & 2) == 0)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uVar14 & 2) == 0)" ( (binary_expression "(uVar14 & 2) == 0" (parenthesized_expression "(uVar14 & 2)" ( (binary_expression "uVar14 & 2" identifier & number_literal) )) == number_literal) )))) & number_literal) ))) + number_literal) )))) )) (compound_statement "{\n                    \n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }" { (expression_statement "FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");" (call_expression "FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write")" identifier (argument_list "("../../gold/powerpc.cc",0x16c2,"do_write")" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") ))) ;) })) (if_statement "if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }" if (parenthesized_expression "(puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21))" ( (binary_expression "puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)" identifier < (cast_expression "(uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)" ( (binary_expression "(ulong)*(uint *)(param_1 + 0x78) + (long)puVar21" (binary_expression "(ulong)*(uint *)(param_1 + 0x78)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(param_1 + 0x78)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x78)" ( (binary_expression "param_1 + 0x78" identifier + number_literal) )))) + (cast_expression "(long)puVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) )) (compound_statement "{\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }" { (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }" { (expression_statement "puVar16 = puVar19;" (assignment_expression "puVar16 = puVar19" identifier = identifier) ;) (if_statement "if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }" if (parenthesized_expression "((uVar14 & 2) == 0)" ( (binary_expression "(uVar14 & 2) == 0" (parenthesized_expression "(uVar14 & 2)" ( (binary_expression "uVar14 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }" { (if_statement "if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }" if (parenthesized_expression "(uVar10 < 0x8000)" ( (binary_expression "uVar10 < 0x8000" identifier < number_literal) )) (compound_statement "{\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }" { (expression_statement "uVar14 = uVar10 + 0x38000000;" (assignment_expression "uVar14 = uVar10 + 0x38000000" identifier = (binary_expression "uVar10 + 0x38000000" identifier + number_literal)) ;) (expression_statement "puVar16 = puVar19 + 1;" (assignment_expression "puVar16 = puVar19 + 1" identifier = (binary_expression "puVar19 + 1" identifier + number_literal)) ;) (expression_statement "*puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;" (assignment_expression "*puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18" (pointer_expression "*puVar19" * identifier) = (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8" (binary_expression "uVar14 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar14 & 0xff0000) >> 8" (parenthesized_expression "(uVar14 & 0xff0000)" ( (binary_expression "uVar14 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar14 & 0xff00) << 8" (parenthesized_expression "(uVar14 & 0xff00)" ( (binary_expression "uVar14 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal))) ;) }) (else_clause "else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }" else (compound_statement "{\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }" { (expression_statement "puVar16 = puVar19 + 2;" (assignment_expression "puVar16 = puVar19 + 2" identifier = (binary_expression "puVar19 + 2" identifier + number_literal)) ;) (expression_statement "uVar14 = (uVar10 >> 0x10) + 0x3c000000;" (assignment_expression "uVar14 = (uVar10 >> 0x10) + 0x3c000000" identifier = (binary_expression "(uVar10 >> 0x10) + 0x3c000000" (parenthesized_expression "(uVar10 >> 0x10)" ( (binary_expression "uVar10 >> 0x10" identifier >> number_literal) )) + number_literal)) ;) (expression_statement "*puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;" (assignment_expression "*puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18" (pointer_expression "*puVar19" * identifier) = (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8" (binary_expression "uVar14 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar14 & 0xff0000) >> 8" (parenthesized_expression "(uVar14 & 0xff0000)" ( (binary_expression "uVar14 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar14 & 0xff00) << 8" (parenthesized_expression "(uVar14 & 0xff00)" ( (binary_expression "uVar14 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 >> 0x10) << 0x18" (parenthesized_expression "(uVar10 >> 0x10)" ( (binary_expression "uVar10 >> 0x10" identifier >> number_literal) )) << number_literal))) ;) (expression_statement "uVar14 = (uVar10 & 0xffff) + 0x60000000;" (assignment_expression "uVar14 = (uVar10 & 0xffff) + 0x60000000" identifier = (binary_expression "(uVar10 & 0xffff) + 0x60000000" (parenthesized_expression "(uVar10 & 0xffff)" ( (binary_expression "uVar10 & 0xffff" identifier & number_literal) )) + number_literal)) ;) (expression_statement "puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;" (assignment_expression "puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18" (subscript_expression "puVar19[1]" identifier [ number_literal ]) = (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8" (binary_expression "uVar14 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar14 & 0xff0000) >> 8" (parenthesized_expression "(uVar14 & 0xff0000)" ( (binary_expression "uVar14 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar14 & 0xff00) << 8" (parenthesized_expression "(uVar14 & 0xff00)" ( (binary_expression "uVar14 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xffff) << 0x18" (parenthesized_expression "(uVar10 & 0xffff)" ( (binary_expression "uVar10 & 0xffff" identifier & number_literal) )) << number_literal))) ;) }))) })) (expression_statement "puVar19 = puVar16 + 1;" (assignment_expression "puVar19 = puVar16 + 1" identifier = (binary_expression "puVar16 + 1" identifier + number_literal)) ;) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;" (assignment_expression "uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc" identifier = (binary_expression "8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc" (binary_expression "8U - ((int)puVar16 - (int)puVar21)" number_literal - (parenthesized_expression "((int)puVar16 - (int)puVar21)" ( (binary_expression "(int)puVar16 - (int)puVar21" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier)) ))) & number_literal)) ;) (expression_statement "uVar11 = uVar14 + 0x48000000;" (assignment_expression "uVar11 = uVar14 + 0x48000000" identifier = (binary_expression "uVar14 + 0x48000000" identifier + number_literal)) ;) (expression_statement "*puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;" (assignment_expression "*puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18" (pointer_expression "*puVar16" * identifier) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar14 << 0x18" identifier << number_literal))) ;) (if_statement "if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;" if (parenthesized_expression "((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19)" ( (binary_expression "(uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19" (cast_expression "(uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)" ( (binary_expression "(ulong)*(uint *)(param_1 + 0x78) + (long)puVar21" (binary_expression "(ulong)*(uint *)(param_1 + 0x78)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(param_1 + 0x78)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x78)" ( (binary_expression "param_1 + 0x78" identifier + number_literal) )))) + (cast_expression "(long)puVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) <= identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar14 = *(uint *)(lVar3 + 0x10);" (assignment_expression "uVar14 = *(uint *)(lVar3 + 0x10)" identifier = (pointer_expression "*(uint *)(lVar3 + 0x10)" * (cast_expression "(uint *)(lVar3 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x10)" ( (binary_expression "lVar3 + 0x10" identifier + number_literal) ))))) ;) })) })) (if_statement "if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;" if (parenthesized_expression "((*(byte *)(lVar4 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar4 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar4 + 0x20) & 1" (pointer_expression "*(byte *)(lVar4 + 0x20)" * (cast_expression "(byte *)(lVar4 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x20)" ( (binary_expression "lVar4 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0017e2fb;" goto statement_identifier ;)) (expression_statement "local_88 = *(long *)(lVar4 + 8);" (assignment_expression "local_88 = *(long *)(lVar4 + 8)" identifier = (pointer_expression "*(long *)(lVar4 + 8)" * (cast_expression "(long *)(lVar4 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 8)" ( (binary_expression "lVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(param_1 + 0x78);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x78)" identifier = (pointer_expression "*(int *)(param_1 + 0x78)" * (cast_expression "(int *)(param_1 + 0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x78)" ( (binary_expression "param_1 + 0x78" identifier + number_literal) ))))) ;) })) (expression_statement "lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);" (assignment_expression "lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar3 == 0) {\nLAB_0017e2f6:\n                    \n          FUN_0016da40();\n        }" if (parenthesized_expression "(lVar3 == 0)" ( (binary_expression "lVar3 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0017e2f6:\n                    \n          FUN_0016da40();\n        }" { (labeled_statement "LAB_0017e2f6:\n                    \n          FUN_0016da40();" statement_identifier : (expression_statement "FUN_0016da40();" (call_expression "FUN_0016da40()" identifier (argument_list "()" ( ))) ;)) })) (if_statement "if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }" if (parenthesized_expression "(*(char *)(lVar3 + 0x45e8) == '\0')" ( (binary_expression "*(char *)(lVar3 + 0x45e8) == '\0'" (pointer_expression "*(char *)(lVar3 + 0x45e8)" * (cast_expression "(char *)(lVar3 + 0x45e8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x45e8)" ( (binary_expression "lVar3 + 0x45e8" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }" { (expression_statement "uVar14 = 0xffffffe0;" (assignment_expression "uVar14 = 0xffffffe0" identifier = number_literal) ;) (expression_statement "iVar9 = 0x20;" (assignment_expression "iVar9 = 0x20" identifier = number_literal) ;) }) (else_clause "else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }" else (compound_statement "{\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }" { (expression_statement "iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);" (assignment_expression "iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f)" identifier = (binary_expression "1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f)" number_literal << (parenthesized_expression "((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f)" ( (binary_expression "(byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f" (binary_expression "(byte)*(undefined4 *)(lVar3 + 0x45ec)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(undefined4 *)(lVar3 + 0x45ec)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x45ec)" ( (binary_expression "lVar3 + 0x45ec" identifier + number_literal) )))) & number_literal) )))) ;) (expression_statement "uVar14 = -iVar9;" (assignment_expression "uVar14 = -iVar9" identifier = (unary_expression "-iVar9" - identifier)) ;) }))) (expression_statement "uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);" (assignment_expression "uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14)" identifier = (call_expression "(ulong)(iVar2 + -1 + iVar9 & uVar14)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar2 + -1 + iVar9 & uVar14)" ( (binary_expression "iVar2 + -1 + iVar9 & uVar14" (binary_expression "iVar2 + -1 + iVar9" (binary_expression "iVar2 + -1" identifier + number_literal) + identifier) & identifier) )))) ;) (if_statement "if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    \n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }" if (parenthesized_expression "((*(byte *)(param_1 + 0x20) & 1) != 0)" ( (binary_expression "(*(byte *)(param_1 + 0x20) & 1) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0x20) & 1)" ( (binary_expression "*(byte *)(param_1 + 0x20) & 1" (pointer_expression "*(byte *)(param_1 + 0x20)" * (cast_expression "(byte *)(param_1 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    \n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }" { (expression_statement "lVar3 = *(long *)(param_1 + 8);" (assignment_expression "lVar3 = *(long *)(param_1 + 8)" identifier = (pointer_expression "*(long *)(param_1 + 8)" * (cast_expression "(long *)(param_1 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "plVar20 = *(long **)(param_1 + 0x50);" (assignment_expression "plVar20 = *(long **)(param_1 + 0x50)" identifier = (pointer_expression "*(long **)(param_1 + 0x50)" * (cast_expression "(long **)(param_1 + 0x50)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) ;) (if_statement "if (plVar20 == (long *)0x0) {\n            return;\n          }" if (parenthesized_expression "(plVar20 == (long *)0x0)" ( (binary_expression "plVar20 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) (expression_statement "puVar22 = (undefined8 *)plVar20[1];" (assignment_expression "puVar22 = (undefined8 *)plVar20[1]" identifier = (cast_expression "(undefined8 *)plVar20[1]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar20[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar14 = *(uint *)(plVar20 + 2);" (assignment_expression "uVar14 = *(uint *)(plVar20 + 2)" identifier = (pointer_expression "*(uint *)(plVar20 + 2)" * (cast_expression "(uint *)(plVar20 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar20 + 2)" ( (binary_expression "plVar20 + 2" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = *(uint *)((long)puVar22 + 0x24);" (assignment_expression "uVar10 = *(uint *)((long)puVar22 + 0x24)" identifier = (pointer_expression "*(uint *)((long)puVar22 + 0x24)" * (cast_expression "(uint *)((long)puVar22 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar22 + 0x24)" ( (binary_expression "(long)puVar22 + 0x24" (cast_expression "(long)puVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (if_statement "if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }" if (parenthesized_expression "(uVar10 != 0xffffffff)" ( (binary_expression "uVar10 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }" { (expression_statement "local_70 = -1;" (assignment_expression "local_70 = -1" identifier = number_literal) ;) (do_statement "do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);" do (compound_statement "{\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            }" { (expression_statement "puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);" (assignment_expression "puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21)" identifier = (cast_expression "(uint *)(uVar14 + uVar13 + (long)puVar21)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar14 + uVar13 + (long)puVar21)" ( (binary_expression "uVar14 + uVar13 + (long)puVar21" (binary_expression "uVar14 + uVar13" identifier + identifier) + (cast_expression "(long)puVar21" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "lVar4 = local_88;" (assignment_expression "lVar4 = local_88" identifier = identifier) ;) (if_statement "if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }" if (parenthesized_expression "((*(byte *)(puVar22 + 7) & 0xf) == 10)" ( (binary_expression "(*(byte *)(puVar22 + 7) & 0xf) == 10" (parenthesized_expression "(*(byte *)(puVar22 + 7) & 0xf)" ( (binary_expression "*(byte *)(puVar22 + 7) & 0xf" (pointer_expression "*(byte *)(puVar22 + 7)" * (cast_expression "(byte *)(puVar22 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 7)" ( (binary_expression "puVar22 + 7" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }" { (if_statement "if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }" if (parenthesized_expression "((*(byte *)((long)puVar22 + 0x3a) & 7) == 0)" ( (binary_expression "(*(byte *)((long)puVar22 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)((long)puVar22 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)puVar22 + 0x3a) & 7" (pointer_expression "*(byte *)((long)puVar22 + 0x3a)" * (cast_expression "(byte *)((long)puVar22 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar22 + 0x3a)" ( (binary_expression "(long)puVar22 + 0x3a" (cast_expression "(long)puVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }" { (if_statement "if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }" if (parenthesized_expression "((*(byte *)(puVar22[2] + 0x3c) & 1) == 0)" ( (binary_expression "(*(byte *)(puVar22[2] + 0x3c) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar22[2] + 0x3c) & 1)" ( (binary_expression "*(byte *)(puVar22[2] + 0x3c) & 1" (pointer_expression "*(byte *)(puVar22[2] + 0x3c)" * (cast_expression "(byte *)(puVar22[2] + 0x3c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22[2] + 0x3c)" ( (binary_expression "puVar22[2] + 0x3c" (subscript_expression "puVar22[2]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }" { (if_statement "if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;" if (parenthesized_expression "(*(int *)(puVar22 + 3) != 0)" ( (binary_expression "*(int *)(puVar22 + 3) != 0" (pointer_expression "*(int *)(puVar22 + 3)" * (cast_expression "(int *)(puVar22 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 3)" ( (binary_expression "puVar22 + 3" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_0017dff5;" goto statement_identifier ;)) (if_statement "if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }" if (parenthesized_expression "((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0)" ( (binary_expression "(*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((long)puVar22 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)((long)puVar22 + 0x3b) & 0x20" (pointer_expression "*(byte *)((long)puVar22 + 0x3b)" * (cast_expression "(byte *)((long)puVar22 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar22 + 0x3b)" ( (binary_expression "(long)puVar22 + 0x3b" (cast_expression "(long)puVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }" { (expression_statement "bVar1 = *(byte *)((long)puVar22 + 0x39);" (assignment_expression "bVar1 = *(byte *)((long)puVar22 + 0x39)" identifier = (pointer_expression "*(byte *)((long)puVar22 + 0x39)" * (cast_expression "(byte *)((long)puVar22 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar22 + 0x39)" ( (binary_expression "(long)puVar22 + 0x39" (cast_expression "(long)puVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (goto_statement "goto joined_r0x0017e066;" goto statement_identifier ;) })) })) }) (else_clause "else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }" else (if_statement "if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }" if (parenthesized_expression "((*(byte *)((long)puVar22 + 0x3a) & 7) != 4)" ( (binary_expression "(*(byte *)((long)puVar22 + 0x3a) & 7) != 4" (parenthesized_expression "(*(byte *)((long)puVar22 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)puVar22 + 0x3a) & 7" (pointer_expression "*(byte *)((long)puVar22 + 0x3a)" * (cast_expression "(byte *)((long)puVar22 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar22 + 0x3a)" ( (binary_expression "(long)puVar22 + 0x3a" (cast_expression "(long)puVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }" { (labeled_statement "LAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);" statement_identifier : (expression_statement "bVar1 = *(byte *)((long)puVar22 + 0x39);" (assignment_expression "bVar1 = *(byte *)((long)puVar22 + 0x39)" identifier = (pointer_expression "*(byte *)((long)puVar22 + 0x39)" * (cast_expression "(byte *)((long)puVar22 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar22 + 0x39)" ( (binary_expression "(long)puVar22 + 0x39" (cast_expression "(long)puVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;)) (labeled_statement "joined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }" statement_identifier : (if_statement "if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }" if (parenthesized_expression "(((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0))" ( (binary_expression "((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)" (parenthesized_expression "((bVar1 & 3) == 0)" ( (binary_expression "(bVar1 & 3) == 0" (parenthesized_expression "(bVar1 & 3)" ( (binary_expression "bVar1 & 3" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)" ( (binary_expression "(*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0" (parenthesized_expression "(*(byte *)((long)puVar22 + 0x3b) & 0x10)" ( (binary_expression "*(byte *)((long)puVar22 + 0x3b) & 0x10" (pointer_expression "*(byte *)((long)puVar22 + 0x3b)" * (cast_expression "(byte *)((long)puVar22 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar22 + 0x3b)" ( (binary_expression "(long)puVar22 + 0x3b" (cast_expression "(long)puVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }" { (expression_statement "lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);" (assignment_expression "lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }" { (labeled_statement "LAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");" statement_identifier : (expression_statement "FUN_001e9890("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_001e9890("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) })) (if_statement "if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }" if (parenthesized_expression "(*(char *)(lVar6 + 0x2a61) != '\0')" ( (binary_expression "*(char *)(lVar6 + 0x2a61) != '\0'" (pointer_expression "*(char *)(lVar6 + 0x2a61)" * (cast_expression "(char *)(lVar6 + 0x2a61)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x2a61)" ( (binary_expression "lVar6 + 0x2a61" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }" { (expression_statement "cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);" (assignment_expression "cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59)" identifier = (call_expression "FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59)" identifier (argument_list "(lVar6 + 0x9120,*puVar22,0,&local_59)" ( (binary_expression "lVar6 + 0x9120" identifier + number_literal) , (pointer_expression "*puVar22" * identifier) , number_literal , (pointer_expression "&local_59" & identifier) )))) ;) (if_statement "if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }" if (parenthesized_expression "((cVar8 == '\0') || (local_59 != '\0'))" ( (binary_expression "(cVar8 == '\0') || (local_59 != '\0')" (parenthesized_expression "(cVar8 == '\0')" ( (binary_expression "cVar8 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(local_59 != '\0')" ( (binary_expression "local_59 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }" { (expression_statement "lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);" (assignment_expression "lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar6 == 0) goto LAB_0017e365;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0017e365;" goto statement_identifier ;)) (if_statement "if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;" if (parenthesized_expression "((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0'))))" ( (binary_expression "(*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))" (parenthesized_expression "(*(char *)(lVar6 + 0xd21) != '\0')" ( (binary_expression "*(char *)(lVar6 + 0xd21) != '\0'" (pointer_expression "*(char *)(lVar6 + 0xd21)" * (cast_expression "(char *)(lVar6 + 0xd21)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0xd21)" ( (binary_expression "lVar6 + 0xd21" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))" ( (parenthesized_expression "((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0'))" ( (binary_expression "(*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')" (binary_expression "(*(byte *)(puVar22 + 7) & 0xf) != 1" (parenthesized_expression "(*(byte *)(puVar22 + 7) & 0xf)" ( (binary_expression "*(byte *)(puVar22 + 7) & 0xf" (pointer_expression "*(byte *)(puVar22 + 7)" * (cast_expression "(byte *)(puVar22 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 7)" ( (binary_expression "puVar22 + 7" identifier + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "(*(char *)(lVar6 + 0xde9) != '\0')" ( (binary_expression "*(char *)(lVar6 + 0xde9) != '\0'" (pointer_expression "*(char *)(lVar6 + 0xde9)" * (cast_expression "(char *)(lVar6 + 0xde9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0xde9)" ( (binary_expression "lVar6 + 0xde9" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (goto_statement "goto LAB_0017e024;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0017def5;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_0017e024:\n                  lVar4 = local_70;" statement_identifier : (expression_statement "lVar4 = local_70;" (assignment_expression "lVar4 = local_70" identifier = identifier) ;)) (if_statement "if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }" if (parenthesized_expression "(local_70 == -1)" ( (binary_expression "local_70 == -1" identifier == number_literal) )) (compound_statement "{\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }" { (expression_statement "lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);" (assignment_expression "lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30)" identifier = (pointer_expression "*(long *)(*(long *)(param_1 + 0x38) + 0x30)" * (cast_expression "(long *)(*(long *)(param_1 + 0x38) + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + 0x30)" ( (binary_expression "*(long *)(param_1 + 0x38) + 0x30" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }" if (parenthesized_expression "(lVar4 == 0)" ( (binary_expression "lVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }" { (expression_statement "FUN_0016d920();" (call_expression "FUN_0016d920()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0017e2f6;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;" if (parenthesized_expression "((*(byte *)(lVar4 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar4 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar4 + 0x20) & 1" (pointer_expression "*(byte *)(lVar4 + 0x20)" * (cast_expression "(byte *)(lVar4 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x20)" ( (binary_expression "lVar4 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0017e2fb;" goto statement_identifier ;)) (expression_statement "lVar4 = *(long *)(lVar4 + 8);" (assignment_expression "lVar4 = *(long *)(lVar4 + 8)" identifier = (pointer_expression "*(long *)(lVar4 + 8)" * (cast_expression "(long *)(lVar4 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 8)" ( (binary_expression "lVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_70 = lVar4;" (assignment_expression "local_70 = lVar4" identifier = identifier) ;) })) })))) })) (labeled_statement "LAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);" statement_identifier : (expression_statement "uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);" (assignment_expression "uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13)" identifier = (binary_expression "((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13)" (parenthesized_expression "((ulong)uVar10 + lVar4)" ( (binary_expression "(ulong)uVar10 + lVar4" (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier) + identifier) )) - (parenthesized_expression "((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13)" ( (binary_expression "(ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13" (binary_expression "(ulong)*(uint *)(plVar20 + 2) + lVar3" (binary_expression "(ulong)*(uint *)(plVar20 + 2)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(plVar20 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar20 + 2)" ( (binary_expression "plVar20 + 2" identifier + number_literal) )))) + identifier) + identifier) )))) ;)) (if_statement "if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }" if (parenthesized_expression "((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0))" ( (binary_expression "(0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)" (parenthesized_expression "(0xffffffff < uVar18 + 0x80008000)" ( (binary_expression "0xffffffff < uVar18 + 0x80008000" number_literal < (binary_expression "uVar18 + 0x80008000" identifier + number_literal)) )) || (parenthesized_expression "((uVar18 & 3) != 0)" ( (binary_expression "(uVar18 & 3) != 0" (parenthesized_expression "(uVar18 & 3)" ( (binary_expression "uVar18 & 3" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }" { (expression_statement "FUN_002de920(local_58,plVar20[1]);" (call_expression "FUN_002de920(local_58,plVar20[1])" identifier (argument_list "(local_58,plVar20[1])" ( identifier , (subscript_expression "plVar20[1]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar7 = local_58[0];" (assignment_expression "puVar7 = local_58[0]" identifier = (subscript_expression "local_58[0]" identifier [ number_literal ])) ;) (if_statement "if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }" if (parenthesized_expression "((*(byte *)(plVar20[1] + 0x3a) & 7) != 0)" ( (binary_expression "(*(byte *)(plVar20[1] + 0x3a) & 7) != 0" (parenthesized_expression "(*(byte *)(plVar20[1] + 0x3a) & 7)" ( (binary_expression "*(byte *)(plVar20[1] + 0x3a) & 7" (pointer_expression "*(byte *)(plVar20[1] + 0x3a)" * (cast_expression "(byte *)(plVar20[1] + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar20[1] + 0x3a)" ( (binary_expression "plVar20[1] + 0x3a" (subscript_expression "plVar20[1]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }" { (expression_statement "FUN_001e9890("../../gold/symtab.h",0xa1,"object");" (call_expression "FUN_001e9890("../../gold/symtab.h",0xa1,"object")" identifier (argument_list "("../../gold/symtab.h",0xa1,"object")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""object"" " string_content ") ))) ;) })) (expression_statement "uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);" (assignment_expression "uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8)" identifier = (pointer_expression "*(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8)" * (cast_expression "(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(plVar20[1] + 0x10) + 8)" ( (binary_expression "*(long *)(plVar20[1] + 0x10) + 8" (pointer_expression "*(long *)(plVar20[1] + 0x10)" * (cast_expression "(long *)(plVar20[1] + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar20[1] + 0x10)" ( (binary_expression "plVar20[1] + 0x10" (subscript_expression "plVar20[1]" identifier [ number_literal ]) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar12 = gettext("%s: linkage table error against `%s\'");" (assignment_expression "uVar12 = gettext("%s: linkage table error against `%s\'")" identifier = (call_expression "gettext("%s: linkage table error against `%s\'")" identifier (argument_list "("%s: linkage table error against `%s\'")" ( (string_literal ""%s: linkage table error against `%s\'"" " string_content escape_sequence ") )))) ;) (expression_statement "FUN_001e14f0(uVar12,uVar5,puVar7);" (call_expression "FUN_001e14f0(uVar12,uVar5,puVar7)" identifier (argument_list "(uVar12,uVar5,puVar7)" ( identifier , identifier , identifier ))) ;) (if_statement "if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }" if (parenthesized_expression "(local_58[0] != local_48)" ( (binary_expression "local_58[0] != local_48" (subscript_expression "local_58[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n                  FUN_00338a40();\n                }" { (expression_statement "FUN_00338a40();" (call_expression "FUN_00338a40()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "uVar11 = (uint)uVar18 & 0xffff;" (assignment_expression "uVar11 = (uint)uVar18 & 0xffff" identifier = (binary_expression "(uint)uVar18 & 0xffff" (cast_expression "(uint)uVar18" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar14 = (uint)uVar18 + 0x8000 >> 0x10;" (assignment_expression "uVar14 = (uint)uVar18 + 0x8000 >> 0x10" identifier = (binary_expression "(uint)uVar18 + 0x8000 >> 0x10" (binary_expression "(uint)uVar18 + 0x8000" (cast_expression "(uint)uVar18" ( (type_descriptor "uint" type_identifier) ) identifier) + number_literal) >> number_literal)) ;) (expression_statement "uVar17 = uVar11 + 0xe98c0000;" (assignment_expression "uVar17 = uVar11 + 0xe98c0000" identifier = (binary_expression "uVar11 + 0xe98c0000" identifier + number_literal)) ;) (expression_statement "uVar10 = uVar14 + 0x3d8c0000;" (assignment_expression "uVar10 = uVar14 + 0x3d8c0000" identifier = (binary_expression "uVar14 + 0x3d8c0000" identifier + number_literal)) ;) (expression_statement "puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;" (assignment_expression "puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18" (subscript_expression "puVar19[1]" identifier [ number_literal ]) = (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8" (binary_expression "uVar17 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar17 & 0xff0000) >> 8" (parenthesized_expression "(uVar17 & 0xff0000)" ( (binary_expression "uVar17 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar17 & 0xff00) << 8" (parenthesized_expression "(uVar17 & 0xff00)" ( (binary_expression "uVar17 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal))) ;) (expression_statement "*puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;" (assignment_expression "*puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18" (pointer_expression "*puVar19" * identifier) = (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar14 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar19[2] = 0xa603897d;" (assignment_expression "puVar19[2] = 0xa603897d" (subscript_expression "puVar19[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar19[3] = 0x2004804e;" (assignment_expression "puVar19[3] = 0x2004804e" (subscript_expression "puVar19[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar20 = (long *)*plVar20;" (assignment_expression "plVar20 = (long *)*plVar20" identifier = (cast_expression "(long *)*plVar20" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar20" * identifier))) ;) (if_statement "if (plVar20 == (long *)0x0) {\n                return;\n              }" if (parenthesized_expression "(plVar20 == (long *)0x0)" ( (binary_expression "plVar20 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                return;\n              }" { (return_statement "return;" return ;) })) (expression_statement "puVar22 = (undefined8 *)plVar20[1];" (assignment_expression "puVar22 = (undefined8 *)plVar20[1]" identifier = (cast_expression "(undefined8 *)plVar20[1]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar20[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar14 = *(uint *)(plVar20 + 2);" (assignment_expression "uVar14 = *(uint *)(plVar20 + 2)" identifier = (pointer_expression "*(uint *)(plVar20 + 2)" * (cast_expression "(uint *)(plVar20 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar20 + 2)" ( (binary_expression "plVar20 + 2" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = *(uint *)((long)puVar22 + 0x24);" (assignment_expression "uVar10 = *(uint *)((long)puVar22 + 0x24)" identifier = (pointer_expression "*(uint *)((long)puVar22 + 0x24)" * (cast_expression "(uint *)((long)puVar22 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar22 + 0x24)" ( (binary_expression "(long)puVar22 + 0x24" (cast_expression "(long)puVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) }) while (parenthesized_expression "(uVar10 != 0xffffffff)" ( (binary_expression "uVar10 != 0xffffffff" identifier != number_literal) )) ;) })) (expression_statement "FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");" (call_expression "FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset")" identifier (argument_list "("../../gold/symtab.h",0x1ce,"plt_offset")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""plt_offset"" " string_content ") ))) ;) })) (labeled_statement "LAB_0017e2fb:\n                    \n        FUN_001e9890("../../gold/output.h",0xc5,"address");" statement_identifier : (expression_statement "FUN_001e9890("../../gold/output.h",0xc5,"address");" (call_expression "FUN_001e9890("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;)) })) (expression_statement "FUN_0016d940();" (call_expression "FUN_0016d940()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_0016e170();" (call_expression "FUN_0016e170()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_001e9890("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_001e9890("../../gold/output.h",0xcf,"data_size")" identifier (argument_list "("../../gold/output.h",0xcf,"data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) <= (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) - LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )))) & LIT) ))) + LIT) )))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT))) ;) }))) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression LIT - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ))) <= IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (binary_expression IDENT + LIT) + IDENT) & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * IDENT) , LIT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) ))) )) (goto_statement goto statement_identifier ;)) })) (goto_statement goto statement_identifier ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )) - (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) + IDENT) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT + LIT)) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (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 (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })))
(function_definition "void FUN_0017ddd0(long param_1,long param_2)\n\n{\n  byte bVar1;\n  int iVar2;\n  long lVar3;\n  long lVar4;\n  undefined8 uVar5;\n  long lVar6;\n  undefined1 *puVar7;\n  char cVar8;\n  int iVar9;\n  uint uVar10;\n  uint uVar11;\n  undefined8 uVar12;\n  ulong uVar13;\n  uint uVar14;\n  ulong *puVar15;\n  uint *puVar16;\n  uint uVar17;\n  ulong uVar18;\n  uint *puVar19;\n  long *plVar20;\n  ulong *puVar21;\n  undefined8 *puVar22;\n  long local_88;\n  long local_70;\n  char local_59;\n  undefined1 *local_58 [2];\n  undefined1 local_48 [24];\n  \n  bVar1 = *(byte *)(param_1 + 0x20);\n  if ((bVar1 & 4) == 0) {\n                    \n    FUN_001e9890("../../gold/output.h",0xe3,"offset");\n  }\n  lVar3 = *(long *)(param_1 + 0x18);\n  if ((bVar1 & 2) != 0) {\n    if ((-1 < lVar3) && (*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10))) {\n      puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18));\n      lVar3 = *(long *)(param_1 + 0x38);\n      lVar4 = *(long *)(lVar3 + 0x28);\n      if (lVar4 != 0) {\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    \n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    \n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    \n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    \n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }\n      FUN_0016d940();\n    }\n    FUN_0016e170();\n  }\n                    \n  FUN_001e9890("../../gold/output.h",0xcf,"data_size");\n}" (primitive_type "void") (function_declarator "FUN_0017ddd0(long param_1,long param_2)" (identifier "FUN_0017ddd0") (parameter_list "(long param_1,long param_2)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "long param_2" (sized_type_specifier "long" (long "long")) (identifier "param_2")) () ")"))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  long lVar3;\n  long lVar4;\n  undefined8 uVar5;\n  long lVar6;\n  undefined1 *puVar7;\n  char cVar8;\n  int iVar9;\n  uint uVar10;\n  uint uVar11;\n  undefined8 uVar12;\n  ulong uVar13;\n  uint uVar14;\n  ulong *puVar15;\n  uint *puVar16;\n  uint uVar17;\n  ulong uVar18;\n  uint *puVar19;\n  long *plVar20;\n  ulong *puVar21;\n  undefined8 *puVar22;\n  long local_88;\n  long local_70;\n  char local_59;\n  undefined1 *local_58 [2];\n  undefined1 local_48 [24];\n  \n  bVar1 = *(byte *)(param_1 + 0x20);\n  if ((bVar1 & 4) == 0) {\n                    \n    FUN_001e9890("../../gold/output.h",0xe3,"offset");\n  }\n  lVar3 = *(long *)(param_1 + 0x18);\n  if ((bVar1 & 2) != 0) {\n    if ((-1 < lVar3) && (*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10))) {\n      puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18));\n      lVar3 = *(long *)(param_1 + 0x38);\n      lVar4 = *(long *)(lVar3 + 0x28);\n      if (lVar4 != 0) {\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    \n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    \n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    \n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    \n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }\n      FUN_0016d940();\n    }\n    FUN_0016e170();\n  }\n                    \n  FUN_001e9890("../../gold/output.h",0xcf,"data_size");\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "long lVar3;" (sized_type_specifier "long" (long "long")) (identifier "lVar3") (; ";")) (declaration "long lVar4;" (sized_type_specifier "long" (long "long")) (identifier "lVar4") (; ";")) (declaration "undefined8 uVar5;" (type_identifier "undefined8") (identifier "uVar5") (; ";")) (declaration "long lVar6;" (sized_type_specifier "long" (long "long")) (identifier "lVar6") (; ";")) (declaration "undefined1 *puVar7;" (type_identifier "undefined1") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "char cVar8;" (primitive_type "char") (identifier "cVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "undefined8 uVar12;" (type_identifier "undefined8") (identifier "uVar12") (; ";")) (declaration "ulong uVar13;" (type_identifier "ulong") (identifier "uVar13") (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "ulong *puVar15;" (type_identifier "ulong") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "uint *puVar16;" (type_identifier "uint") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "uint uVar17;" (type_identifier "uint") (identifier "uVar17") (; ";")) (declaration "ulong uVar18;" (type_identifier "ulong") (identifier "uVar18") (; ";")) (declaration "uint *puVar19;" (type_identifier "uint") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "long *plVar20;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar20" (* "*") (identifier "plVar20")) (; ";")) (declaration "ulong *puVar21;" (type_identifier "ulong") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "undefined8 *puVar22;" (type_identifier "undefined8") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "long local_88;" (sized_type_specifier "long" (long "long")) (identifier "local_88") (; ";")) (declaration "long local_70;" (sized_type_specifier "long" (long "long")) (identifier "local_70") (; ";")) (declaration "char local_59;" (primitive_type "char") (identifier "local_59") (; ";")) (declaration "undefined1 *local_58 [2];" (type_identifier "undefined1") (pointer_declarator "*local_58 [2]" (* "*") (array_declarator "local_58 [2]" (identifier "local_58") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "undefined1 local_48 [24];" (type_identifier "undefined1") (array_declarator "local_48 [24]" (identifier "local_48") ([ "[") (number_literal "24") (] "]")) (; ";")) (expression_statement "bVar1 = *(byte *)(param_1 + 0x20);" (assignment_expression "bVar1 = *(byte *)(param_1 + 0x20)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)(param_1 + 0x20)" (* "*") (cast_expression "(byte *)(param_1 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if ((bVar1 & 4) == 0) {\n                    \n    FUN_001e9890("../../gold/output.h",0xe3,"offset");\n  }" (if "if") (parenthesized_expression "((bVar1 & 4) == 0)" (( "(") (binary_expression "(bVar1 & 4) == 0" (parenthesized_expression "(bVar1 & 4)" (( "(") (binary_expression "bVar1 & 4" (identifier "bVar1") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_001e9890("../../gold/output.h",0xe3,"offset");\n  }" ({ "{") (expression_statement "FUN_001e9890("../../gold/output.h",0xe3,"offset");" (call_expression "FUN_001e9890("../../gold/output.h",0xe3,"offset")" (identifier "FUN_001e9890") (argument_list "("../../gold/output.h",0xe3,"offset")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xe3") (, ",") (string_literal ""offset"" (" """) (string_content "offset") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar3 = *(long *)(param_1 + 0x18);" (assignment_expression "lVar3 = *(long *)(param_1 + 0x18)" (identifier "lVar3") (= "=") (pointer_expression "*(long *)(param_1 + 0x18)" (* "*") (cast_expression "(long *)(param_1 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if ((bVar1 & 2) != 0) {\n    if ((-1 < lVar3) && (*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10))) {\n      puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18));\n      lVar3 = *(long *)(param_1 + 0x38);\n      lVar4 = *(long *)(lVar3 + 0x28);\n      if (lVar4 != 0) {\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    \n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    \n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    \n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    \n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }\n      FUN_0016d940();\n    }\n    FUN_0016e170();\n  }" (if "if") (parenthesized_expression "((bVar1 & 2) != 0)" (( "(") (binary_expression "(bVar1 & 2) != 0" (parenthesized_expression "(bVar1 & 2)" (( "(") (binary_expression "bVar1 & 2" (identifier "bVar1") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if ((-1 < lVar3) && (*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10))) {\n      puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18));\n      lVar3 = *(long *)(param_1 + 0x38);\n      lVar4 = *(long *)(lVar3 + 0x28);\n      if (lVar4 != 0) {\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    \n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    \n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    \n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    \n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }\n      FUN_0016d940();\n    }\n    FUN_0016e170();\n  }" ({ "{") (if_statement "if ((-1 < lVar3) && (*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10))) {\n      puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18));\n      lVar3 = *(long *)(param_1 + 0x38);\n      lVar4 = *(long *)(lVar3 + 0x28);\n      if (lVar4 != 0) {\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    \n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    \n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    \n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    \n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }\n      FUN_0016d940();\n    }" (if "if") (parenthesized_expression "((-1 < lVar3) && (*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10)))" (( "(") (binary_expression "(-1 < lVar3) && (*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10))" (parenthesized_expression "(-1 < lVar3)" (( "(") (binary_expression "-1 < lVar3" (number_literal "-1") (< "<") (identifier "lVar3")) () ")")) (&& "&&") (parenthesized_expression "(*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10))" (( "(") (binary_expression "*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10)" (binary_expression "*(long *)(param_1 + 0x10) + lVar3" (pointer_expression "*(long *)(param_1 + 0x10)" (* "*") (cast_expression "(long *)(param_1 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (identifier "lVar3")) (<= "<=") (pointer_expression "*(long *)(param_2 + 0x10)" (* "*") (cast_expression "(long *)(param_2 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")"))))) () ")"))) () ")")) (compound_statement "{\n      puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18));\n      lVar3 = *(long *)(param_1 + 0x38);\n      lVar4 = *(long *)(lVar3 + 0x28);\n      if (lVar4 != 0) {\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    \n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    \n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    \n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    \n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }\n      FUN_0016d940();\n    }" ({ "{") (expression_statement "puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18));" (assignment_expression "puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18))" (identifier "puVar21") (= "=") (cast_expression "(ulong *)(lVar3 + *(long *)(param_2 + 0x18))" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar3 + *(long *)(param_2 + 0x18))" (( "(") (binary_expression "lVar3 + *(long *)(param_2 + 0x18)" (identifier "lVar3") (+ "+") (pointer_expression "*(long *)(param_2 + 0x18)" (* "*") (cast_expression "(long *)(param_2 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")"))))) () ")")))) (; ";")) (expression_statement "lVar3 = *(long *)(param_1 + 0x38);" (assignment_expression "lVar3 = *(long *)(param_1 + 0x38)" (identifier "lVar3") (= "=") (pointer_expression "*(long *)(param_1 + 0x38)" (* "*") (cast_expression "(long *)(param_1 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "lVar4 = *(long *)(lVar3 + 0x28);" (assignment_expression "lVar4 = *(long *)(lVar3 + 0x28)" (identifier "lVar4") (= "=") (pointer_expression "*(long *)(lVar3 + 0x28)" (* "*") (cast_expression "(long *)(lVar3 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar3 + 0x28)" (( "(") (binary_expression "lVar3 + 0x28" (identifier "lVar3") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (lVar4 != 0) {\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    \n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    \n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    \n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    \n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }" (if "if") (parenthesized_expression "(lVar4 != 0)" (( "(") (binary_expression "lVar4 != 0" (identifier "lVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n        local_88 = *(long *)(lVar4 + 8);\n        iVar2 = *(int *)(param_1 + 0x78);\n        if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    \n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }\n        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n        if (lVar3 == 0) {\nLAB_0017e2f6:\n                    \n          FUN_0016da40();\n        }\n        if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }\n        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);\n        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    \n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }\nLAB_0017e2fb:\n                    \n        FUN_001e9890("../../gold/output.h",0xc5,"address");\n      }" ({ "{") (if_statement "if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;" (if "if") (parenthesized_expression "((*(byte *)(lVar4 + 0x20) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(lVar4 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x20) & 1)" (( "(") (binary_expression "*(byte *)(lVar4 + 0x20) & 1" (pointer_expression "*(byte *)(lVar4 + 0x20)" (* "*") (cast_expression "(byte *)(lVar4 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x20)" (( "(") (binary_expression "lVar4 + 0x20" (identifier "lVar4") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0017e2fb;" (goto "goto") (statement_identifier "LAB_0017e2fb") (; ";"))) (expression_statement "local_88 = *(long *)(lVar4 + 8);" (assignment_expression "local_88 = *(long *)(lVar4 + 8)" (identifier "local_88") (= "=") (pointer_expression "*(long *)(lVar4 + 8)" (* "*") (cast_expression "(long *)(lVar4 + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 8)" (( "(") (binary_expression "lVar4 + 8" (identifier "lVar4") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar2 = *(int *)(param_1 + 0x78);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x78)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(param_1 + 0x78)" (* "*") (cast_expression "(int *)(param_1 + 0x78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x78)" (( "(") (binary_expression "param_1 + 0x78" (identifier "param_1") (+ "+") (number_literal "0x78")) () ")"))))) (; ";")) (if_statement "if (iVar2 != 0) {\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    \n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;\n          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;\n          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;\n          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }\n          *(undefined4 *)puVar15 = 0x2004804e;\n          uVar14 = *(uint *)(lVar3 + 0x10);\n          puVar19 = (uint *)((long)puVar15 + 4);\n          if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    \n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }\n          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }\n          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n          local_88 = *(long *)(lVar4 + 8);\n          iVar2 = *(int *)(param_1 + 0x78);\n        }" ({ "{") (if_statement "if ((bVar1 & 1) == 0) goto LAB_0017e2fb;" (if "if") (parenthesized_expression "((bVar1 & 1) == 0)" (( "(") (binary_expression "(bVar1 & 1) == 0" (parenthesized_expression "(bVar1 & 1)" (( "(") (binary_expression "bVar1 & 1" (identifier "bVar1") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0017e2fb;" (goto "goto") (statement_identifier "LAB_0017e2fb") (; ";"))) (expression_statement "uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;" (assignment_expression "uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10" (identifier "uVar13") (= "=") (binary_expression "(local_88 - *(long *)(param_1 + 8)) - 0x10" (parenthesized_expression "(local_88 - *(long *)(param_1 + 8))" (( "(") (binary_expression "local_88 - *(long *)(param_1 + 8)" (identifier "local_88") (- "-") (pointer_expression "*(long *)(param_1 + 8)" (* "*") (cast_expression "(long *)(param_1 + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) () ")")) (- "-") (number_literal "0x10"))) (; ";")) (expression_statement "*puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;" (assignment_expression "*puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38" (pointer_expression "*puVar21" (* "*") (identifier "puVar21")) (= "=") (binary_expression "uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38" (binary_expression "uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |\n                     (uVar13 & 0xff00) << 0x28" (binary_expression "uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18" (binary_expression "uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |\n                     (uVar13 & 0xff000000) << 8" (binary_expression "uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8" (binary_expression "uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |\n                     (uVar13 & 0xff0000000000) >> 0x18" (binary_expression "uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28" (binary_expression "uVar13 >> 0x38" (identifier "uVar13") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar13 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar13 & 0xff000000000000)" (( "(") (binary_expression "uVar13 & 0xff000000000000" (identifier "uVar13") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar13 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar13 & 0xff0000000000)" (( "(") (binary_expression "uVar13 & 0xff0000000000" (identifier "uVar13") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar13 & 0xff00000000) >> 8" (parenthesized_expression "(uVar13 & 0xff00000000)" (( "(") (binary_expression "uVar13 & 0xff00000000" (identifier "uVar13") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar13 & 0xff000000) << 8" (parenthesized_expression "(uVar13 & 0xff000000)" (( "(") (binary_expression "uVar13 & 0xff000000" (identifier "uVar13") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar13 & 0xff0000) << 0x18" (parenthesized_expression "(uVar13 & 0xff0000)" (( "(") (binary_expression "uVar13 & 0xff0000" (identifier "uVar13") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar13 & 0xff00) << 0x28" (parenthesized_expression "(uVar13 & 0xff00)" (( "(") (binary_expression "uVar13 & 0xff00" (identifier "uVar13") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar13 << 0x38" (identifier "uVar13") (<< "<<") (number_literal "0x38")))) (; ";")) (if_statement "if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }\n          else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }" (if "if") (parenthesized_expression "((*(byte *)(lVar3 + 0x10) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(lVar3 + 0x10) & 2) == 0" (parenthesized_expression "(*(byte *)(lVar3 + 0x10) & 2)" (( "(") (binary_expression "*(byte *)(lVar3 + 0x10) & 2" (pointer_expression "*(byte *)(lVar3 + 0x10)" (* "*") (cast_expression "(byte *)(lVar3 + 0x10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar3 + 0x10)" (( "(") (binary_expression "lVar3 + 0x10" (identifier "lVar3") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            puVar15 = puVar21 + 6;\n            puVar21[1] = 0x5009f42a602887d;\n            puVar21[2] = 0xf0ff4be8a602687d;\n            puVar21[3] = 0x145a627da603887d;\n            puVar21[4] = 0x8004be800008be9;\n            puVar21[5] = 0x10006be9a603897d;\n          }" ({ "{") (expression_statement "puVar15 = puVar21 + 6;" (assignment_expression "puVar15 = puVar21 + 6" (identifier "puVar15") (= "=") (binary_expression "puVar21 + 6" (identifier "puVar21") (+ "+") (number_literal "6"))) (; ";")) (expression_statement "puVar21[1] = 0x5009f42a602887d;" (assignment_expression "puVar21[1] = 0x5009f42a602887d" (subscript_expression "puVar21[1]" (identifier "puVar21") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0x5009f42a602887d")) (; ";")) (expression_statement "puVar21[2] = 0xf0ff4be8a602687d;" (assignment_expression "puVar21[2] = 0xf0ff4be8a602687d" (subscript_expression "puVar21[2]" (identifier "puVar21") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0xf0ff4be8a602687d")) (; ";")) (expression_statement "puVar21[3] = 0x145a627da603887d;" (assignment_expression "puVar21[3] = 0x145a627da603887d" (subscript_expression "puVar21[3]" (identifier "puVar21") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0x145a627da603887d")) (; ";")) (expression_statement "puVar21[4] = 0x8004be800008be9;" (assignment_expression "puVar21[4] = 0x8004be800008be9" (subscript_expression "puVar21[4]" (identifier "puVar21") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0x8004be800008be9")) (; ";")) (expression_statement "puVar21[5] = 0x10006be9a603897d;" (assignment_expression "puVar21[5] = 0x10006be9a603897d" (subscript_expression "puVar21[5]" (identifier "puVar21") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0x10006be9a603897d")) (; ";")) (} "}")) (else_clause "else {\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }" (else "else") (compound_statement "{\n            *(undefined4 *)(puVar21 + 7) = 0x8006be9;\n            puVar15 = (ulong *)((long)puVar21 + 0x3c);\n            puVar21[1] = 0x5009f42a602087c;\n            puVar21[2] = 0x180041f8a602687d;\n            puVar21[3] = 0xa603087cf0ff4be8;\n            puVar21[4] = 0x145a627d50608b7d;\n            puVar21[5] = 0x8be9d0ff0c38;\n            puVar21[6] = 0xa603897d82f00078;\n          }" ({ "{") (expression_statement "*(undefined4 *)(puVar21 + 7) = 0x8006be9;" (assignment_expression "*(undefined4 *)(puVar21 + 7) = 0x8006be9" (pointer_expression "*(undefined4 *)(puVar21 + 7)" (* "*") (cast_expression "(undefined4 *)(puVar21 + 7)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 7)" (( "(") (binary_expression "puVar21 + 7" (identifier "puVar21") (+ "+") (number_literal "7")) () ")")))) (= "=") (number_literal "0x8006be9")) (; ";")) (expression_statement "puVar15 = (ulong *)((long)puVar21 + 0x3c);" (assignment_expression "puVar15 = (ulong *)((long)puVar21 + 0x3c)" (identifier "puVar15") (= "=") (cast_expression "(ulong *)((long)puVar21 + 0x3c)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar21 + 0x3c)" (( "(") (binary_expression "(long)puVar21 + 0x3c" (cast_expression "(long)puVar21" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar21")) (+ "+") (number_literal "0x3c")) () ")")))) (; ";")) (expression_statement "puVar21[1] = 0x5009f42a602087c;" (assignment_expression "puVar21[1] = 0x5009f42a602087c" (subscript_expression "puVar21[1]" (identifier "puVar21") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0x5009f42a602087c")) (; ";")) (expression_statement "puVar21[2] = 0x180041f8a602687d;" (assignment_expression "puVar21[2] = 0x180041f8a602687d" (subscript_expression "puVar21[2]" (identifier "puVar21") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x180041f8a602687d")) (; ";")) (expression_statement "puVar21[3] = 0xa603087cf0ff4be8;" (assignment_expression "puVar21[3] = 0xa603087cf0ff4be8" (subscript_expression "puVar21[3]" (identifier "puVar21") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0xa603087cf0ff4be8")) (; ";")) (expression_statement "puVar21[4] = 0x145a627d50608b7d;" (assignment_expression "puVar21[4] = 0x145a627d50608b7d" (subscript_expression "puVar21[4]" (identifier "puVar21") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0x145a627d50608b7d")) (; ";")) (expression_statement "puVar21[5] = 0x8be9d0ff0c38;" (assignment_expression "puVar21[5] = 0x8be9d0ff0c38" (subscript_expression "puVar21[5]" (identifier "puVar21") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0x8be9d0ff0c38")) (; ";")) (expression_statement "puVar21[6] = 0xa603897d82f00078;" (assignment_expression "puVar21[6] = 0xa603897d82f00078" (subscript_expression "puVar21[6]" (identifier "puVar21") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0xa603897d82f00078")) (; ";")) (} "}")))) (expression_statement "*(undefined4 *)puVar15 = 0x2004804e;" (assignment_expression "*(undefined4 *)puVar15 = 0x2004804e" (pointer_expression "*(undefined4 *)puVar15" (* "*") (cast_expression "(undefined4 *)puVar15" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar15"))) (= "=") (number_literal "0x2004804e")) (; ";")) (expression_statement "uVar14 = *(uint *)(lVar3 + 0x10);" (assignment_expression "uVar14 = *(uint *)(lVar3 + 0x10)" (identifier "uVar14") (= "=") (pointer_expression "*(uint *)(lVar3 + 0x10)" (* "*") (cast_expression "(uint *)(lVar3 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar3 + 0x10)" (( "(") (binary_expression "lVar3 + 0x10" (identifier "lVar3") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "puVar19 = (uint *)((long)puVar15 + 4);" (assignment_expression "puVar19 = (uint *)((long)puVar15 + 4)" (identifier "puVar19") (= "=") (cast_expression "(uint *)((long)puVar15 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar15 + 4)" (( "(") (binary_expression "(long)puVar15 + 4" (cast_expression "(long)puVar15" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar15")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (if_statement "if (puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {\n                    \n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }" (if "if") (parenthesized_expression "(puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40))" (( "(") (binary_expression "puVar19 !=\n              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)" (identifier "puVar19") (!= "!=") (cast_expression "(uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)" (( "(") (binary_expression "(long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40" (binary_expression "(long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4)" (cast_expression "(long)puVar21" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar21")) (+ "+") (parenthesized_expression "(-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4)" (( "(") (binary_expression "-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4" (unary_expression "-(ulong)((uVar14 & 2) == 0)" (- "-") (call_expression "(ulong)((uVar14 & 2) == 0)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((uVar14 & 2) == 0)" (( "(") (binary_expression "(uVar14 & 2) == 0" (parenthesized_expression "(uVar14 & 2)" (( "(") (binary_expression "uVar14 & 2" (identifier "uVar14") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")))) (& "&") (number_literal "0xfffffffffffffff4")) () ")"))) (+ "+") (number_literal "0x40")) () ")")))) () ")")) (compound_statement "{\n                    \n            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");\n          }" ({ "{") (expression_statement "FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");" (call_expression "FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write")" (identifier "FUN_001e9890") (argument_list "("../../gold/powerpc.cc",0x16c2,"do_write")" (( "(") (string_literal ""../../gold/powerpc.cc"" (" """) (string_content "../../gold/powerpc.cc") (" """)) (, ",") (number_literal "0x16c2") (, ",") (string_literal ""do_write"" (" """) (string_content "do_write") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }" (if "if") (parenthesized_expression "(puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21))" (( "(") (binary_expression "puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)" (identifier "puVar19") (< "<") (cast_expression "(uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)" (( "(") (binary_expression "(ulong)*(uint *)(param_1 + 0x78) + (long)puVar21" (binary_expression "(ulong)*(uint *)(param_1 + 0x78)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(param_1 + 0x78)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x78)" (( "(") (binary_expression "param_1 + 0x78" (identifier "param_1") (+ "+") (number_literal "0x78")) () ")")))) (+ "+") (cast_expression "(long)puVar21" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar21"))) () ")")))) () ")")) (compound_statement "{\n            uVar10 = 0;\n            while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }\n          }" ({ "{") (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";")) (while_statement "while( true ) {\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n              puVar16 = puVar19;\n              if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }\n              puVar19 = puVar16 + 1;\n              uVar10 = uVar10 + 1;\n              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;\n              uVar11 = uVar14 + 0x48000000;\n              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;\n              uVar14 = *(uint *)(lVar3 + 0x10);\n            }" ({ "{") (expression_statement "puVar16 = puVar19;" (assignment_expression "puVar16 = puVar19" (identifier "puVar16") (= "=") (identifier "puVar19")) (; ";")) (if_statement "if ((uVar14 & 2) == 0) {\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }" (if "if") (parenthesized_expression "((uVar14 & 2) == 0)" (( "(") (binary_expression "(uVar14 & 2) == 0" (parenthesized_expression "(uVar14 & 2)" (( "(") (binary_expression "uVar14 & 2" (identifier "uVar14") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }\n              }" ({ "{") (if_statement "if (uVar10 < 0x8000) {\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }\n                else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }" (if "if") (parenthesized_expression "(uVar10 < 0x8000)" (( "(") (binary_expression "uVar10 < 0x8000" (identifier "uVar10") (< "<") (number_literal "0x8000")) () ")")) (compound_statement "{\n                  uVar14 = uVar10 + 0x38000000;\n                  puVar16 = puVar19 + 1;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;\n                }" ({ "{") (expression_statement "uVar14 = uVar10 + 0x38000000;" (assignment_expression "uVar14 = uVar10 + 0x38000000" (identifier "uVar14") (= "=") (binary_expression "uVar10 + 0x38000000" (identifier "uVar10") (+ "+") (number_literal "0x38000000"))) (; ";")) (expression_statement "puVar16 = puVar19 + 1;" (assignment_expression "puVar16 = puVar19 + 1" (identifier "puVar16") (= "=") (binary_expression "puVar19 + 1" (identifier "puVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18;" (assignment_expression "*puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18" (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (= "=") (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             uVar10 << 0x18" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8" (binary_expression "uVar14 >> 0x18" (identifier "uVar14") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar14 & 0xff0000) >> 8" (parenthesized_expression "(uVar14 & 0xff0000)" (( "(") (binary_expression "uVar14 & 0xff0000" (identifier "uVar14") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar14 & 0xff00) << 8" (parenthesized_expression "(uVar14 & 0xff00)" (( "(") (binary_expression "uVar14 & 0xff00" (identifier "uVar14") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar10 << 0x18" (identifier "uVar10") (<< "<<") (number_literal "0x18")))) (; ";")) (} "}")) (else_clause "else {\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }" (else "else") (compound_statement "{\n                  puVar16 = puVar19 + 2;\n                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;\n                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;\n                  uVar14 = (uVar10 & 0xffff) + 0x60000000;\n                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;\n                }" ({ "{") (expression_statement "puVar16 = puVar19 + 2;" (assignment_expression "puVar16 = puVar19 + 2" (identifier "puVar16") (= "=") (binary_expression "puVar19 + 2" (identifier "puVar19") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "uVar14 = (uVar10 >> 0x10) + 0x3c000000;" (assignment_expression "uVar14 = (uVar10 >> 0x10) + 0x3c000000" (identifier "uVar14") (= "=") (binary_expression "(uVar10 >> 0x10) + 0x3c000000" (parenthesized_expression "(uVar10 >> 0x10)" (( "(") (binary_expression "uVar10 >> 0x10" (identifier "uVar10") (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (number_literal "0x3c000000"))) (; ";")) (expression_statement "*puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18;" (assignment_expression "*puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18" (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (= "=") (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                             (uVar10 >> 0x10) << 0x18" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8" (binary_expression "uVar14 >> 0x18" (identifier "uVar14") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar14 & 0xff0000) >> 8" (parenthesized_expression "(uVar14 & 0xff0000)" (( "(") (binary_expression "uVar14 & 0xff0000" (identifier "uVar14") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar14 & 0xff00) << 8" (parenthesized_expression "(uVar14 & 0xff00)" (( "(") (binary_expression "uVar14 & 0xff00" (identifier "uVar14") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar10 >> 0x10) << 0x18" (parenthesized_expression "(uVar10 >> 0x10)" (( "(") (binary_expression "uVar10 >> 0x10" (identifier "uVar10") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "uVar14 = (uVar10 & 0xffff) + 0x60000000;" (assignment_expression "uVar14 = (uVar10 & 0xffff) + 0x60000000" (identifier "uVar14") (= "=") (binary_expression "(uVar10 & 0xffff) + 0x60000000" (parenthesized_expression "(uVar10 & 0xffff)" (( "(") (binary_expression "uVar10 & 0xffff" (identifier "uVar10") (& "&") (number_literal "0xffff")) () ")")) (+ "+") (number_literal "0x60000000"))) (; ";")) (expression_statement "puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18;" (assignment_expression "puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18" (subscript_expression "puVar19[1]" (identifier "puVar19") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                               (uVar10 & 0xffff) << 0x18" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8" (binary_expression "uVar14 >> 0x18" (identifier "uVar14") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar14 & 0xff0000) >> 8" (parenthesized_expression "(uVar14 & 0xff0000)" (( "(") (binary_expression "uVar14 & 0xff0000" (identifier "uVar14") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar14 & 0xff00) << 8" (parenthesized_expression "(uVar14 & 0xff00)" (( "(") (binary_expression "uVar14 & 0xff00" (identifier "uVar14") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar10 & 0xffff) << 0x18" (parenthesized_expression "(uVar10 & 0xffff)" (( "(") (binary_expression "uVar10 & 0xffff" (identifier "uVar10") (& "&") (number_literal "0xffff")) () ")")) (<< "<<") (number_literal "0x18")))) (; ";")) (} "}")))) (} "}"))) (expression_statement "puVar19 = puVar16 + 1;" (assignment_expression "puVar19 = puVar16 + 1" (identifier "puVar19") (= "=") (binary_expression "puVar16 + 1" (identifier "puVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" (identifier "uVar10") (= "=") (binary_expression "uVar10 + 1" (identifier "uVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;" (assignment_expression "uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc" (identifier "uVar14") (= "=") (binary_expression "8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc" (binary_expression "8U - ((int)puVar16 - (int)puVar21)" (number_literal "8U") (- "-") (parenthesized_expression "((int)puVar16 - (int)puVar21)" (( "(") (binary_expression "(int)puVar16 - (int)puVar21" (cast_expression "(int)puVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar16")) (- "-") (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21"))) () ")"))) (& "&") (number_literal "0x3fffffc"))) (; ";")) (expression_statement "uVar11 = uVar14 + 0x48000000;" (assignment_expression "uVar11 = uVar14 + 0x48000000" (identifier "uVar11") (= "=") (binary_expression "uVar14 + 0x48000000" (identifier "uVar14") (+ "+") (number_literal "0x48000000"))) (; ";")) (expression_statement "*puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18;" (assignment_expression "*puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18" (pointer_expression "*puVar16" (* "*") (identifier "puVar16")) (= "=") (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar14 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" (identifier "uVar11") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" (( "(") (binary_expression "uVar11 & 0xff0000" (identifier "uVar11") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" (( "(") (binary_expression "uVar11 & 0xff00" (identifier "uVar11") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar14 << 0x18" (identifier "uVar14") (<< "<<") (number_literal "0x18")))) (; ";")) (if_statement "if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;" (if "if") (parenthesized_expression "((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19)" (( "(") (binary_expression "(uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19" (cast_expression "(uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)" (( "(") (binary_expression "(ulong)*(uint *)(param_1 + 0x78) + (long)puVar21" (binary_expression "(ulong)*(uint *)(param_1 + 0x78)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(param_1 + 0x78)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x78)" (( "(") (binary_expression "param_1 + 0x78" (identifier "param_1") (+ "+") (number_literal "0x78")) () ")")))) (+ "+") (cast_expression "(long)puVar21" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar21"))) () ")"))) (<= "<=") (identifier "puVar19")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar14 = *(uint *)(lVar3 + 0x10);" (assignment_expression "uVar14 = *(uint *)(lVar3 + 0x10)" (identifier "uVar14") (= "=") (pointer_expression "*(uint *)(lVar3 + 0x10)" (* "*") (cast_expression "(uint *)(lVar3 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar3 + 0x10)" (( "(") (binary_expression "lVar3 + 0x10" (identifier "lVar3") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}"))) (} "}"))) (if_statement "if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;" (if "if") (parenthesized_expression "((*(byte *)(lVar4 + 0x20) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(lVar4 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x20) & 1)" (( "(") (binary_expression "*(byte *)(lVar4 + 0x20) & 1" (pointer_expression "*(byte *)(lVar4 + 0x20)" (* "*") (cast_expression "(byte *)(lVar4 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x20)" (( "(") (binary_expression "lVar4 + 0x20" (identifier "lVar4") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0017e2fb;" (goto "goto") (statement_identifier "LAB_0017e2fb") (; ";"))) (expression_statement "local_88 = *(long *)(lVar4 + 8);" (assignment_expression "local_88 = *(long *)(lVar4 + 8)" (identifier "local_88") (= "=") (pointer_expression "*(long *)(lVar4 + 8)" (* "*") (cast_expression "(long *)(lVar4 + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 8)" (( "(") (binary_expression "lVar4 + 8" (identifier "lVar4") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar2 = *(int *)(param_1 + 0x78);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x78)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(param_1 + 0x78)" (* "*") (cast_expression "(int *)(param_1 + 0x78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x78)" (( "(") (binary_expression "param_1 + 0x78" (identifier "param_1") (+ "+") (number_literal "0x78")) () ")"))))) (; ";")) (} "}"))) (expression_statement "lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);" (assignment_expression "lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10)" (identifier "lVar3") (= "=") (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" (( "(") (binary_expression "PTR_DAT_004ba7c8 + 0x10" (identifier "PTR_DAT_004ba7c8") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar3 == 0) {\nLAB_0017e2f6:\n                    \n          FUN_0016da40();\n        }" (if "if") (parenthesized_expression "(lVar3 == 0)" (( "(") (binary_expression "lVar3 == 0" (identifier "lVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0017e2f6:\n                    \n          FUN_0016da40();\n        }" ({ "{") (labeled_statement "LAB_0017e2f6:\n                    \n          FUN_0016da40();" (statement_identifier "LAB_0017e2f6") (: ":") (expression_statement "FUN_0016da40();" (call_expression "FUN_0016da40()" (identifier "FUN_0016da40") (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}"))) (if_statement "if (*(char *)(lVar3 + 0x45e8) == '\0') {\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }\n        else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }" (if "if") (parenthesized_expression "(*(char *)(lVar3 + 0x45e8) == '\0')" (( "(") (binary_expression "*(char *)(lVar3 + 0x45e8) == '\0'" (pointer_expression "*(char *)(lVar3 + 0x45e8)" (* "*") (cast_expression "(char *)(lVar3 + 0x45e8)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar3 + 0x45e8)" (( "(") (binary_expression "lVar3 + 0x45e8" (identifier "lVar3") (+ "+") (number_literal "0x45e8")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          uVar14 = 0xffffffe0;\n          iVar9 = 0x20;\n        }" ({ "{") (expression_statement "uVar14 = 0xffffffe0;" (assignment_expression "uVar14 = 0xffffffe0" (identifier "uVar14") (= "=") (number_literal "0xffffffe0")) (; ";")) (expression_statement "iVar9 = 0x20;" (assignment_expression "iVar9 = 0x20" (identifier "iVar9") (= "=") (number_literal "0x20")) (; ";")) (} "}")) (else_clause "else {\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }" (else "else") (compound_statement "{\n          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);\n          uVar14 = -iVar9;\n        }" ({ "{") (expression_statement "iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);" (assignment_expression "iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f)" (identifier "iVar9") (= "=") (binary_expression "1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f)" (( "(") (binary_expression "(byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f" (binary_expression "(byte)*(undefined4 *)(lVar3 + 0x45ec)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(undefined4 *)(lVar3 + 0x45ec)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar3 + 0x45ec)" (( "(") (binary_expression "lVar3 + 0x45ec" (identifier "lVar3") (+ "+") (number_literal "0x45ec")) () ")")))) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar14 = -iVar9;" (assignment_expression "uVar14 = -iVar9" (identifier "uVar14") (= "=") (unary_expression "-iVar9" (- "-") (identifier "iVar9"))) (; ";")) (} "}")))) (expression_statement "uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);" (assignment_expression "uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14)" (identifier "uVar13") (= "=") (call_expression "(ulong)(iVar2 + -1 + iVar9 & uVar14)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(iVar2 + -1 + iVar9 & uVar14)" (( "(") (binary_expression "iVar2 + -1 + iVar9 & uVar14" (binary_expression "iVar2 + -1 + iVar9" (binary_expression "iVar2 + -1" (identifier "iVar2") (+ "+") (number_literal "-1")) (+ "+") (identifier "iVar9")) (& "&") (identifier "uVar14")) () ")")))) (; ";")) (if_statement "if ((*(byte *)(param_1 + 0x20) & 1) != 0) {\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    \n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }" (if "if") (parenthesized_expression "((*(byte *)(param_1 + 0x20) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 0x20) & 1) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0x20) & 1)" (( "(") (binary_expression "*(byte *)(param_1 + 0x20) & 1" (pointer_expression "*(byte *)(param_1 + 0x20)" (* "*") (cast_expression "(byte *)(param_1 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          lVar3 = *(long *)(param_1 + 8);\n          plVar20 = *(long **)(param_1 + 0x50);\n          if (plVar20 == (long *)0x0) {\n            return;\n          }\n          puVar22 = (undefined8 *)plVar20[1];\n          uVar14 = *(uint *)(plVar20 + 2);\n          uVar10 = *(uint *)((long)puVar22 + 0x24);\n          if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }\n                    \n          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");\n        }" ({ "{") (expression_statement "lVar3 = *(long *)(param_1 + 8);" (assignment_expression "lVar3 = *(long *)(param_1 + 8)" (identifier "lVar3") (= "=") (pointer_expression "*(long *)(param_1 + 8)" (* "*") (cast_expression "(long *)(param_1 + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "plVar20 = *(long **)(param_1 + 0x50);" (assignment_expression "plVar20 = *(long **)(param_1 + 0x50)" (identifier "plVar20") (= "=") (pointer_expression "*(long **)(param_1 + 0x50)" (* "*") (cast_expression "(long **)(param_1 + 0x50)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (if_statement "if (plVar20 == (long *)0x0) {\n            return;\n          }" (if "if") (parenthesized_expression "(plVar20 == (long *)0x0)" (( "(") (binary_expression "plVar20 == (long *)0x0" (identifier "plVar20") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            return;\n          }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "puVar22 = (undefined8 *)plVar20[1];" (assignment_expression "puVar22 = (undefined8 *)plVar20[1]" (identifier "puVar22") (= "=") (cast_expression "(undefined8 *)plVar20[1]" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "plVar20[1]" (identifier "plVar20") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "uVar14 = *(uint *)(plVar20 + 2);" (assignment_expression "uVar14 = *(uint *)(plVar20 + 2)" (identifier "uVar14") (= "=") (pointer_expression "*(uint *)(plVar20 + 2)" (* "*") (cast_expression "(uint *)(plVar20 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar20 + 2)" (( "(") (binary_expression "plVar20 + 2" (identifier "plVar20") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "uVar10 = *(uint *)((long)puVar22 + 0x24);" (assignment_expression "uVar10 = *(uint *)((long)puVar22 + 0x24)" (identifier "uVar10") (= "=") (pointer_expression "*(uint *)((long)puVar22 + 0x24)" (* "*") (cast_expression "(uint *)((long)puVar22 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar22 + 0x24)" (( "(") (binary_expression "(long)puVar22 + 0x24" (cast_expression "(long)puVar22" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar22")) (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (if_statement "if (uVar10 != 0xffffffff) {\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }" (if "if") (parenthesized_expression "(uVar10 != 0xffffffff)" (( "(") (binary_expression "uVar10 != 0xffffffff" (identifier "uVar10") (!= "!=") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n            local_70 = -1;\n            do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);\n          }" ({ "{") (expression_statement "local_70 = -1;" (assignment_expression "local_70 = -1" (identifier "local_70") (= "=") (number_literal "-1")) (; ";")) (do_statement "do {\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            } while (uVar10 != 0xffffffff);" (do "do") (compound_statement "{\n              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);\n              lVar4 = local_88;\n              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }\nLAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);\n              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }\n              uVar11 = (uint)uVar18 & 0xffff;\n              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;\n              uVar17 = uVar11 + 0xe98c0000;\n              uVar10 = uVar14 + 0x3d8c0000;\n              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;\n              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;\n              puVar19[2] = 0xa603897d;\n              puVar19[3] = 0x2004804e;\n              plVar20 = (long *)*plVar20;\n              if (plVar20 == (long *)0x0) {\n                return;\n              }\n              puVar22 = (undefined8 *)plVar20[1];\n              uVar14 = *(uint *)(plVar20 + 2);\n              uVar10 = *(uint *)((long)puVar22 + 0x24);\n            }" ({ "{") (expression_statement "puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);" (assignment_expression "puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21)" (identifier "puVar19") (= "=") (cast_expression "(uint *)(uVar14 + uVar13 + (long)puVar21)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar14 + uVar13 + (long)puVar21)" (( "(") (binary_expression "uVar14 + uVar13 + (long)puVar21" (binary_expression "uVar14 + uVar13" (identifier "uVar14") (+ "+") (identifier "uVar13")) (+ "+") (cast_expression "(long)puVar21" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar21"))) () ")")))) (; ";")) (expression_statement "lVar4 = local_88;" (assignment_expression "lVar4 = local_88" (identifier "lVar4") (= "=") (identifier "local_88")) (; ";")) (if_statement "if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }" (if "if") (parenthesized_expression "((*(byte *)(puVar22 + 7) & 0xf) == 10)" (( "(") (binary_expression "(*(byte *)(puVar22 + 7) & 0xf) == 10" (parenthesized_expression "(*(byte *)(puVar22 + 7) & 0xf)" (( "(") (binary_expression "*(byte *)(puVar22 + 7) & 0xf" (pointer_expression "*(byte *)(puVar22 + 7)" (* "*") (cast_expression "(byte *)(puVar22 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + 7)" (( "(") (binary_expression "puVar22 + 7" (identifier "puVar22") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "10")) () ")")) (compound_statement "{\n                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }\n              }" ({ "{") (if_statement "if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }\n                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }" (if "if") (parenthesized_expression "((*(byte *)((long)puVar22 + 0x3a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)((long)puVar22 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)((long)puVar22 + 0x3a) & 7)" (( "(") (binary_expression "*(byte *)((long)puVar22 + 0x3a) & 7" (pointer_expression "*(byte *)((long)puVar22 + 0x3a)" (* "*") (cast_expression "(byte *)((long)puVar22 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar22 + 0x3a)" (( "(") (binary_expression "(long)puVar22 + 0x3a" (cast_expression "(long)puVar22" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar22")) (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }\n                }" ({ "{") (if_statement "if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }" (if "if") (parenthesized_expression "((*(byte *)(puVar22[2] + 0x3c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(puVar22[2] + 0x3c) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar22[2] + 0x3c) & 1)" (( "(") (binary_expression "*(byte *)(puVar22[2] + 0x3c) & 1" (pointer_expression "*(byte *)(puVar22[2] + 0x3c)" (* "*") (cast_expression "(byte *)(puVar22[2] + 0x3c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22[2] + 0x3c)" (( "(") (binary_expression "puVar22[2] + 0x3c" (subscript_expression "puVar22[2]" (identifier "puVar22") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "0x3c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;\n                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }\n                  }" ({ "{") (if_statement "if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;" (if "if") (parenthesized_expression "(*(int *)(puVar22 + 3) != 0)" (( "(") (binary_expression "*(int *)(puVar22 + 3) != 0" (pointer_expression "*(int *)(puVar22 + 3)" (* "*") (cast_expression "(int *)(puVar22 + 3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + 3)" (( "(") (binary_expression "puVar22 + 3" (identifier "puVar22") (+ "+") (number_literal "3")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0017dff5;" (goto "goto") (statement_identifier "LAB_0017dff5") (; ";"))) (if_statement "if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }" (if "if") (parenthesized_expression "((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((long)puVar22 + 0x3b) & 0x20)" (( "(") (binary_expression "*(byte *)((long)puVar22 + 0x3b) & 0x20" (pointer_expression "*(byte *)((long)puVar22 + 0x3b)" (* "*") (cast_expression "(byte *)((long)puVar22 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar22 + 0x3b)" (( "(") (binary_expression "(long)puVar22 + 0x3b" (cast_expression "(long)puVar22" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar22")) (+ "+") (number_literal "0x3b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      bVar1 = *(byte *)((long)puVar22 + 0x39);\n                      goto joined_r0x0017e066;\n                    }" ({ "{") (expression_statement "bVar1 = *(byte *)((long)puVar22 + 0x39);" (assignment_expression "bVar1 = *(byte *)((long)puVar22 + 0x39)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)((long)puVar22 + 0x39)" (* "*") (cast_expression "(byte *)((long)puVar22 + 0x39)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar22 + 0x39)" (( "(") (binary_expression "(long)puVar22 + 0x39" (cast_expression "(long)puVar22" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar22")) (+ "+") (number_literal "0x39")) () ")"))))) (; ";")) (goto_statement "goto joined_r0x0017e066;" (goto "goto") (statement_identifier "joined_r0x0017e066") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }" (else "else") (if_statement "if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }" (if "if") (parenthesized_expression "((*(byte *)((long)puVar22 + 0x3a) & 7) != 4)" (( "(") (binary_expression "(*(byte *)((long)puVar22 + 0x3a) & 7) != 4" (parenthesized_expression "(*(byte *)((long)puVar22 + 0x3a) & 7)" (( "(") (binary_expression "*(byte *)((long)puVar22 + 0x3a) & 7" (pointer_expression "*(byte *)((long)puVar22 + 0x3a)" (* "*") (cast_expression "(byte *)((long)puVar22 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar22 + 0x3a)" (( "(") (binary_expression "(long)puVar22 + 0x3a" (cast_expression "(long)puVar22" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar22")) (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\nLAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);\njoined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }\nLAB_0017e024:\n                  lVar4 = local_70;\n                  if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }\n                }" ({ "{") (labeled_statement "LAB_0017dff5:\n                  bVar1 = *(byte *)((long)puVar22 + 0x39);" (statement_identifier "LAB_0017dff5") (: ":") (expression_statement "bVar1 = *(byte *)((long)puVar22 + 0x39);" (assignment_expression "bVar1 = *(byte *)((long)puVar22 + 0x39)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)((long)puVar22 + 0x39)" (* "*") (cast_expression "(byte *)((long)puVar22 + 0x39)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar22 + 0x39)" (( "(") (binary_expression "(long)puVar22 + 0x39" (cast_expression "(long)puVar22" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar22")) (+ "+") (number_literal "0x39")) () ")"))))) (; ";"))) (labeled_statement "joined_r0x0017e066:\n                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }" (statement_identifier "joined_r0x0017e066") (: ":") (if_statement "if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }" (if "if") (parenthesized_expression "(((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0))" (( "(") (binary_expression "((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)" (parenthesized_expression "((bVar1 & 3) == 0)" (( "(") (binary_expression "(bVar1 & 3) == 0" (parenthesized_expression "(bVar1 & 3)" (( "(") (binary_expression "bVar1 & 3" (identifier "bVar1") (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0" (parenthesized_expression "(*(byte *)((long)puVar22 + 0x3b) & 0x10)" (( "(") (binary_expression "*(byte *)((long)puVar22 + 0x3b) & 0x10" (pointer_expression "*(byte *)((long)puVar22 + 0x3b)" (* "*") (cast_expression "(byte *)((long)puVar22 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar22 + 0x3b)" (( "(") (binary_expression "(long)puVar22 + 0x3b" (cast_expression "(long)puVar22" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar22")) (+ "+") (number_literal "0x3b")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                    if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }\n                    if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }\n                  }" ({ "{") (expression_statement "lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);" (assignment_expression "lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10)" (identifier "lVar6") (= "=") (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" (( "(") (binary_expression "PTR_DAT_004ba7c8 + 0x10" (identifier "PTR_DAT_004ba7c8") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar6 == 0) {\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }" (if "if") (parenthesized_expression "(lVar6 == 0)" (( "(") (binary_expression "lVar6 == 0" (identifier "lVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n                    }" ({ "{") (labeled_statement "LAB_0017e365:\n                    \n                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");" (statement_identifier "LAB_0017e365") (: ":") (expression_statement "FUN_001e9890("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_001e9890("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_001e9890") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";"))) (} "}"))) (if_statement "if (*(char *)(lVar6 + 0x2a61) != '\0') {\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }" (if "if") (parenthesized_expression "(*(char *)(lVar6 + 0x2a61) != '\0')" (( "(") (binary_expression "*(char *)(lVar6 + 0x2a61) != '\0'" (pointer_expression "*(char *)(lVar6 + 0x2a61)" (* "*") (cast_expression "(char *)(lVar6 + 0x2a61)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0x2a61)" (( "(") (binary_expression "lVar6 + 0x2a61" (identifier "lVar6") (+ "+") (number_literal "0x2a61")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);\n                      if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }\n                      goto LAB_0017def5;\n                    }" ({ "{") (expression_statement "cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);" (assignment_expression "cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59)" (identifier "cVar8") (= "=") (call_expression "FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59)" (identifier "FUN_002d49c0") (argument_list "(lVar6 + 0x9120,*puVar22,0,&local_59)" (( "(") (binary_expression "lVar6 + 0x9120" (identifier "lVar6") (+ "+") (number_literal "0x9120")) (, ",") (pointer_expression "*puVar22" (* "*") (identifier "puVar22")) (, ",") (number_literal "0") (, ",") (pointer_expression "&local_59" (& "&") (identifier "local_59")) () ")")))) (; ";")) (if_statement "if ((cVar8 == '\0') || (local_59 != '\0')) {\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }" (if "if") (parenthesized_expression "((cVar8 == '\0') || (local_59 != '\0'))" (( "(") (binary_expression "(cVar8 == '\0') || (local_59 != '\0')" (parenthesized_expression "(cVar8 == '\0')" (( "(") (binary_expression "cVar8 == '\0'" (identifier "cVar8") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(local_59 != '\0')" (( "(") (binary_expression "local_59 != '\0'" (identifier "local_59") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);\n                        if (lVar6 == 0) goto LAB_0017e365;\n                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;\n                      }" ({ "{") (expression_statement "lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);" (assignment_expression "lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10)" (identifier "lVar6") (= "=") (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" (( "(") (binary_expression "PTR_DAT_004ba7c8 + 0x10" (identifier "PTR_DAT_004ba7c8") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar6 == 0) goto LAB_0017e365;" (if "if") (parenthesized_expression "(lVar6 == 0)" (( "(") (binary_expression "lVar6 == 0" (identifier "lVar6") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0017e365;" (goto "goto") (statement_identifier "LAB_0017e365") (; ";"))) (if_statement "if ((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;" (if "if") (parenthesized_expression "((*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0'))))" (( "(") (binary_expression "(*(char *)(lVar6 + 0xd21) != '\0') ||\n                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))" (parenthesized_expression "(*(char *)(lVar6 + 0xd21) != '\0')" (( "(") (binary_expression "*(char *)(lVar6 + 0xd21) != '\0'" (pointer_expression "*(char *)(lVar6 + 0xd21)" (* "*") (cast_expression "(char *)(lVar6 + 0xd21)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0xd21)" (( "(") (binary_expression "lVar6 + 0xd21" (identifier "lVar6") (+ "+") (number_literal "0xd21")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')))" (( "(") (parenthesized_expression "((*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0'))" (( "(") (binary_expression "(*(byte *)(puVar22 + 7) & 0xf) != 1 &&\n                            (*(char *)(lVar6 + 0xde9) != '\0')" (binary_expression "(*(byte *)(puVar22 + 7) & 0xf) != 1" (parenthesized_expression "(*(byte *)(puVar22 + 7) & 0xf)" (( "(") (binary_expression "*(byte *)(puVar22 + 7) & 0xf" (pointer_expression "*(byte *)(puVar22 + 7)" (* "*") (cast_expression "(byte *)(puVar22 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + 7)" (( "(") (binary_expression "puVar22 + 7" (identifier "puVar22") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (!= "!=") (number_literal "1")) (&& "&&") (parenthesized_expression "(*(char *)(lVar6 + 0xde9) != '\0')" (( "(") (binary_expression "*(char *)(lVar6 + 0xde9) != '\0'" (pointer_expression "*(char *)(lVar6 + 0xde9)" (* "*") (cast_expression "(char *)(lVar6 + 0xde9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0xde9)" (( "(") (binary_expression "lVar6 + 0xde9" (identifier "lVar6") (+ "+") (number_literal "0xde9")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0017e024;" (goto "goto") (statement_identifier "LAB_0017e024") (; ";"))) (} "}"))) (goto_statement "goto LAB_0017def5;" (goto "goto") (statement_identifier "LAB_0017def5") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_0017e024:\n                  lVar4 = local_70;" (statement_identifier "LAB_0017e024") (: ":") (expression_statement "lVar4 = local_70;" (assignment_expression "lVar4 = local_70" (identifier "lVar4") (= "=") (identifier "local_70")) (; ";"))) (if_statement "if (local_70 == -1) {\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }" (if "if") (parenthesized_expression "(local_70 == -1)" (( "(") (binary_expression "local_70 == -1" (identifier "local_70") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);\n                    if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }\n                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;\n                    lVar4 = *(long *)(lVar4 + 8);\n                    local_70 = lVar4;\n                  }" ({ "{") (expression_statement "lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);" (assignment_expression "lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30)" (identifier "lVar4") (= "=") (pointer_expression "*(long *)(*(long *)(param_1 + 0x38) + 0x30)" (* "*") (cast_expression "(long *)(*(long *)(param_1 + 0x38) + 0x30)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x38) + 0x30)" (( "(") (binary_expression "*(long *)(param_1 + 0x38) + 0x30" (pointer_expression "*(long *)(param_1 + 0x38)" (* "*") (cast_expression "(long *)(param_1 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (if_statement "if (lVar4 == 0) {\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }" (if "if") (parenthesized_expression "(lVar4 == 0)" (( "(") (binary_expression "lVar4 == 0" (identifier "lVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      FUN_0016d920();\n                      goto LAB_0017e2f6;\n                    }" ({ "{") (expression_statement "FUN_0016d920();" (call_expression "FUN_0016d920()" (identifier "FUN_0016d920") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0017e2f6;" (goto "goto") (statement_identifier "LAB_0017e2f6") (; ";")) (} "}"))) (if_statement "if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;" (if "if") (parenthesized_expression "((*(byte *)(lVar4 + 0x20) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(lVar4 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x20) & 1)" (( "(") (binary_expression "*(byte *)(lVar4 + 0x20) & 1" (pointer_expression "*(byte *)(lVar4 + 0x20)" (* "*") (cast_expression "(byte *)(lVar4 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x20)" (( "(") (binary_expression "lVar4 + 0x20" (identifier "lVar4") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0017e2fb;" (goto "goto") (statement_identifier "LAB_0017e2fb") (; ";"))) (expression_statement "lVar4 = *(long *)(lVar4 + 8);" (assignment_expression "lVar4 = *(long *)(lVar4 + 8)" (identifier "lVar4") (= "=") (pointer_expression "*(long *)(lVar4 + 8)" (* "*") (cast_expression "(long *)(lVar4 + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 8)" (( "(") (binary_expression "lVar4 + 8" (identifier "lVar4") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "local_70 = lVar4;" (assignment_expression "local_70 = lVar4" (identifier "local_70") (= "=") (identifier "lVar4")) (; ";")) (} "}"))) (} "}"))))) (} "}"))) (labeled_statement "LAB_0017def5:\n              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);" (statement_identifier "LAB_0017def5") (: ":") (expression_statement "uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);" (assignment_expression "uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13)" (identifier "uVar18") (= "=") (binary_expression "((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13)" (parenthesized_expression "((ulong)uVar10 + lVar4)" (( "(") (binary_expression "(ulong)uVar10 + lVar4" (cast_expression "(ulong)uVar10" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar10")) (+ "+") (identifier "lVar4")) () ")")) (- "-") (parenthesized_expression "((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13)" (( "(") (binary_expression "(ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13" (binary_expression "(ulong)*(uint *)(plVar20 + 2) + lVar3" (binary_expression "(ulong)*(uint *)(plVar20 + 2)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(plVar20 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar20 + 2)" (( "(") (binary_expression "plVar20 + 2" (identifier "plVar20") (+ "+") (number_literal "2")) () ")")))) (+ "+") (identifier "lVar3")) (+ "+") (identifier "uVar13")) () ")")))) (; ";"))) (if_statement "if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }" (if "if") (parenthesized_expression "((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0))" (( "(") (binary_expression "(0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)" (parenthesized_expression "(0xffffffff < uVar18 + 0x80008000)" (( "(") (binary_expression "0xffffffff < uVar18 + 0x80008000" (number_literal "0xffffffff") (< "<") (binary_expression "uVar18 + 0x80008000" (identifier "uVar18") (+ "+") (number_literal "0x80008000"))) () ")")) (|| "||") (parenthesized_expression "((uVar18 & 3) != 0)" (( "(") (binary_expression "(uVar18 & 3) != 0" (parenthesized_expression "(uVar18 & 3)" (( "(") (binary_expression "uVar18 & 3" (identifier "uVar18") (& "&") (number_literal "3")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                FUN_002de920(local_58,plVar20[1]);\n                puVar7 = local_58[0];\n                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }\n                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);\n                uVar12 = gettext("%s: linkage table error against `%s\'");\n                    \n                FUN_001e14f0(uVar12,uVar5,puVar7);\n                if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }\n              }" ({ "{") (expression_statement "FUN_002de920(local_58,plVar20[1]);" (call_expression "FUN_002de920(local_58,plVar20[1])" (identifier "FUN_002de920") (argument_list "(local_58,plVar20[1])" (( "(") (identifier "local_58") (, ",") (subscript_expression "plVar20[1]" (identifier "plVar20") ([ "[") (number_literal "1") (] "]")) () ")"))) (; ";")) (expression_statement "puVar7 = local_58[0];" (assignment_expression "puVar7 = local_58[0]" (identifier "puVar7") (= "=") (subscript_expression "local_58[0]" (identifier "local_58") ([ "[") (number_literal "0") (] "]"))) (; ";")) (if_statement "if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }" (if "if") (parenthesized_expression "((*(byte *)(plVar20[1] + 0x3a) & 7) != 0)" (( "(") (binary_expression "(*(byte *)(plVar20[1] + 0x3a) & 7) != 0" (parenthesized_expression "(*(byte *)(plVar20[1] + 0x3a) & 7)" (( "(") (binary_expression "*(byte *)(plVar20[1] + 0x3a) & 7" (pointer_expression "*(byte *)(plVar20[1] + 0x3a)" (* "*") (cast_expression "(byte *)(plVar20[1] + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar20[1] + 0x3a)" (( "(") (binary_expression "plVar20[1] + 0x3a" (subscript_expression "plVar20[1]" (identifier "plVar20") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                    \n                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");\n                }" ({ "{") (expression_statement "FUN_001e9890("../../gold/symtab.h",0xa1,"object");" (call_expression "FUN_001e9890("../../gold/symtab.h",0xa1,"object")" (identifier "FUN_001e9890") (argument_list "("../../gold/symtab.h",0xa1,"object")" (( "(") (string_literal ""../../gold/symtab.h"" (" """) (string_content "../../gold/symtab.h") (" """)) (, ",") (number_literal "0xa1") (, ",") (string_literal ""object"" (" """) (string_content "object") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);" (assignment_expression "uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8)" (* "*") (cast_expression "(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(plVar20[1] + 0x10) + 8)" (( "(") (binary_expression "*(long *)(plVar20[1] + 0x10) + 8" (pointer_expression "*(long *)(plVar20[1] + 0x10)" (* "*") (cast_expression "(long *)(plVar20[1] + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar20[1] + 0x10)" (( "(") (binary_expression "plVar20[1] + 0x10" (subscript_expression "plVar20[1]" (identifier "plVar20") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar12 = gettext("%s: linkage table error against `%s\'");" (assignment_expression "uVar12 = gettext("%s: linkage table error against `%s\'")" (identifier "uVar12") (= "=") (call_expression "gettext("%s: linkage table error against `%s\'")" (identifier "gettext") (argument_list "("%s: linkage table error against `%s\'")" (( "(") (string_literal ""%s: linkage table error against `%s\'"" (" """) (string_content "%s: linkage table error against `%s") (escape_sequence "\'") (" """)) () ")")))) (; ";")) (expression_statement "FUN_001e14f0(uVar12,uVar5,puVar7);" (call_expression "FUN_001e14f0(uVar12,uVar5,puVar7)" (identifier "FUN_001e14f0") (argument_list "(uVar12,uVar5,puVar7)" (( "(") (identifier "uVar12") (, ",") (identifier "uVar5") (, ",") (identifier "puVar7") () ")"))) (; ";")) (if_statement "if (local_58[0] != local_48) {\n                  FUN_00338a40();\n                }" (if "if") (parenthesized_expression "(local_58[0] != local_48)" (( "(") (binary_expression "local_58[0] != local_48" (subscript_expression "local_58[0]" (identifier "local_58") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "local_48")) () ")")) (compound_statement "{\n                  FUN_00338a40();\n                }" ({ "{") (expression_statement "FUN_00338a40();" (call_expression "FUN_00338a40()" (identifier "FUN_00338a40") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar11 = (uint)uVar18 & 0xffff;" (assignment_expression "uVar11 = (uint)uVar18 & 0xffff" (identifier "uVar11") (= "=") (binary_expression "(uint)uVar18 & 0xffff" (cast_expression "(uint)uVar18" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar18")) (& "&") (number_literal "0xffff"))) (; ";")) (expression_statement "uVar14 = (uint)uVar18 + 0x8000 >> 0x10;" (assignment_expression "uVar14 = (uint)uVar18 + 0x8000 >> 0x10" (identifier "uVar14") (= "=") (binary_expression "(uint)uVar18 + 0x8000 >> 0x10" (binary_expression "(uint)uVar18 + 0x8000" (cast_expression "(uint)uVar18" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar18")) (+ "+") (number_literal "0x8000")) (>> ">>") (number_literal "0x10"))) (; ";")) (expression_statement "uVar17 = uVar11 + 0xe98c0000;" (assignment_expression "uVar17 = uVar11 + 0xe98c0000" (identifier "uVar17") (= "=") (binary_expression "uVar11 + 0xe98c0000" (identifier "uVar11") (+ "+") (number_literal "0xe98c0000"))) (; ";")) (expression_statement "uVar10 = uVar14 + 0x3d8c0000;" (assignment_expression "uVar10 = uVar14 + 0x3d8c0000" (identifier "uVar10") (= "=") (binary_expression "uVar14 + 0x3d8c0000" (identifier "uVar14") (+ "+") (number_literal "0x3d8c0000"))) (; ";")) (expression_statement "puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18;" (assignment_expression "puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18" (subscript_expression "puVar19[1]" (identifier "puVar19") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                           uVar11 << 0x18" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8" (binary_expression "uVar17 >> 0x18" (identifier "uVar17") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar17 & 0xff0000) >> 8" (parenthesized_expression "(uVar17 & 0xff0000)" (( "(") (binary_expression "uVar17 & 0xff0000" (identifier "uVar17") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar17 & 0xff00) << 8" (parenthesized_expression "(uVar17 & 0xff00)" (( "(") (binary_expression "uVar17 & 0xff00" (identifier "uVar17") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar11 << 0x18" (identifier "uVar11") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "*puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18;" (assignment_expression "*puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18" (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (= "=") (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                         uVar14 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" (identifier "uVar10") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" (( "(") (binary_expression "uVar10 & 0xff0000" (identifier "uVar10") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" (( "(") (binary_expression "uVar10 & 0xff00" (identifier "uVar10") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar14 << 0x18" (identifier "uVar14") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "puVar19[2] = 0xa603897d;" (assignment_expression "puVar19[2] = 0xa603897d" (subscript_expression "puVar19[2]" (identifier "puVar19") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0xa603897d")) (; ";")) (expression_statement "puVar19[3] = 0x2004804e;" (assignment_expression "puVar19[3] = 0x2004804e" (subscript_expression "puVar19[3]" (identifier "puVar19") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0x2004804e")) (; ";")) (expression_statement "plVar20 = (long *)*plVar20;" (assignment_expression "plVar20 = (long *)*plVar20" (identifier "plVar20") (= "=") (cast_expression "(long *)*plVar20" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar20" (* "*") (identifier "plVar20")))) (; ";")) (if_statement "if (plVar20 == (long *)0x0) {\n                return;\n              }" (if "if") (parenthesized_expression "(plVar20 == (long *)0x0)" (( "(") (binary_expression "plVar20 == (long *)0x0" (identifier "plVar20") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                return;\n              }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "puVar22 = (undefined8 *)plVar20[1];" (assignment_expression "puVar22 = (undefined8 *)plVar20[1]" (identifier "puVar22") (= "=") (cast_expression "(undefined8 *)plVar20[1]" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "plVar20[1]" (identifier "plVar20") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "uVar14 = *(uint *)(plVar20 + 2);" (assignment_expression "uVar14 = *(uint *)(plVar20 + 2)" (identifier "uVar14") (= "=") (pointer_expression "*(uint *)(plVar20 + 2)" (* "*") (cast_expression "(uint *)(plVar20 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar20 + 2)" (( "(") (binary_expression "plVar20 + 2" (identifier "plVar20") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "uVar10 = *(uint *)((long)puVar22 + 0x24);" (assignment_expression "uVar10 = *(uint *)((long)puVar22 + 0x24)" (identifier "uVar10") (= "=") (pointer_expression "*(uint *)((long)puVar22 + 0x24)" (* "*") (cast_expression "(uint *)((long)puVar22 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar22 + 0x24)" (( "(") (binary_expression "(long)puVar22 + 0x24" (cast_expression "(long)puVar22" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar22")) (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar10 != 0xffffffff)" (( "(") (binary_expression "uVar10 != 0xffffffff" (identifier "uVar10") (!= "!=") (number_literal "0xffffffff")) () ")")) (; ";")) (} "}"))) (expression_statement "FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");" (call_expression "FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset")" (identifier "FUN_001e9890") (argument_list "("../../gold/symtab.h",0x1ce,"plt_offset")" (( "(") (string_literal ""../../gold/symtab.h"" (" """) (string_content "../../gold/symtab.h") (" """)) (, ",") (number_literal "0x1ce") (, ",") (string_literal ""plt_offset"" (" """) (string_content "plt_offset") (" """)) () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_0017e2fb:\n                    \n        FUN_001e9890("../../gold/output.h",0xc5,"address");" (statement_identifier "LAB_0017e2fb") (: ":") (expression_statement "FUN_001e9890("../../gold/output.h",0xc5,"address");" (call_expression "FUN_001e9890("../../gold/output.h",0xc5,"address")" (identifier "FUN_001e9890") (argument_list "("../../gold/output.h",0xc5,"address")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xc5") (, ",") (string_literal ""address"" (" """) (string_content "address") (" """)) () ")"))) (; ";"))) (} "}"))) (expression_statement "FUN_0016d940();" (call_expression "FUN_0016d940()" (identifier "FUN_0016d940") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_0016e170();" (call_expression "FUN_0016e170()" (identifier "FUN_0016e170") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_001e9890("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_001e9890("../../gold/output.h",0xcf,"data_size")" (identifier "FUN_001e9890") (argument_list "("../../gold/output.h",0xcf,"data_size")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xcf") (, ",") (string_literal ""data_size"" (" """) (string_content "data_size") (" """)) () ")"))) (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void do_write(Output_data_glink<64,_true> * this, Output_file * of) */

void __thiscall
anon_unknown.dwarf_2cac9f::Output_data_glink<64,var_5>::do_write
          (Output_data_glink<64,var_5> *this,type_6 *of)

{
  type_11 var_3;
  long var_6;
  type_1 *var_15;
  var_1<64,var_5> *var_22;
  type_2 ppVVar5;
  type_3 uVar6;
  bool bVar7;
  int var_17;
  type_4 var_8;
  type_4 var_14;
  char *format;
  type_5 var_9;
  type_4 var_12;
  type_6 *this_1;
  size_t in_RDX;
  type_5 *puVar13;
  type_4 *var_13;
  size_t extraout_RDX;
  type_4 var_30;
  type_5 var_24;
  type_4 *var_11;
  var_2<64,var_5> *var_7;
  type_7 *var_18;
  type_5 *var_10;
  type_7 *p_Var20;
  type_2 local_88;
  type_2 var_21;
  bool var_20;
  type_8 var_28 [40];
  
  var_3 = this->field_0x20;
  this_1 = (type_6 *)(type_5)var_3;
  if ((var_3 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
    gold::var_4("../../gold/output.h",0xe3,"offset");
  }
  var_6 = *(long *)&this->field_0x18;
  if ((var_3 & 2) != 0) {
    var_7 = (var_2<64,var_5> *)this;
    if ((-1 < var_6) && (*(long *)&this->field_0x10 + var_6 <= of->file_size_)) {
      var_10 = (type_5 *)(of->base_ + var_6);
      of = (type_6 *)this->targ_;
      var_7 = (var_2<64,var_5> *)((var_2<64,var_5> *)of)->plt_;
      if (var_7 != (var_2<64,var_5> *)0x0) {
        if (((type_5)var_7->got_ & 1) == 0) goto LAB_0017e2fb;
        local_88 = *(type_2 *)&var_7->field_0x8;
        var_8 = this->end_branch_table_;
        if (var_8 != 0) {
          if ((var_3 & 1) == 0) goto LAB_0017e2fb;
          var_9 = (long)local_88 + (-0x10 - *(long *)&this->field_0x8);
          *var_10 = var_9 >> 0x38 | (var_9 & 0xff000000000000) >> 0x28 |
                     (var_9 & 0xff0000000000) >> 0x18 | (var_9 & 0xff00000000) >> 8 |
                     (var_9 & 0xff000000) << 8 | (var_9 & 0xff0000) << 0x18 |
                     (var_9 & 0xff00) << 0x28 | var_9 << 0x38;
          if ((*(type_9 *)&((var_2<64,var_5> *)of)->field_0x10 & 2) == 0) {
            puVar13 = var_10 + 6;
            var_10[1] = 0x5009f42a602887d;
            var_10[2] = 0xf0ff4be8a602687d;
            var_10[3] = 0x145a627da603887d;
            var_10[4] = 0x8004be800008be9;
            var_10[5] = 0x10006be9a603897d;
          }
          else {
            *(type_10 *)(var_10 + 7) = 0x8006be9;
            puVar13 = (type_5 *)((long)var_10 + 0x3c);
            var_10[1] = 0x5009f42a602087c;
            var_10[2] = 0x180041f8a602687d;
            var_10[3] = 0xa603087cf0ff4be8;
            var_10[4] = 0x145a627d50608b7d;
            var_10[5] = 0x8be9d0ff0c38;
            var_10[6] = 0xa603897d82f00078;
          }
          *(type_10 *)puVar13 = 0x2004804e;
          var_8 = (type_4)*(type_9 *)&((var_2<64,var_5> *)of)->field_0x10;
          var_11 = (type_4 *)((long)puVar13 + 4);
          if (var_11 !=
              (type_4 *)((long)var_10 + (-(type_5)((var_8 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {
                    /* WARNING: Subroutine does not return */
            gold::var_4("../../gold/powerpc.cc",0x16c2,"do_write");
          }
          if (var_11 < (type_4 *)((type_5)this->end_branch_table_ + (long)var_10)) {
            var_12 = 0;
            while( true ) {
              var_13 = var_11;
              if ((var_8 & 2) == 0) {
                if (var_12 < 0x8000) {
                  var_8 = var_12 + 0x38000000;
                  var_13 = var_11 + 1;
                  *var_11 = var_8 >> 0x18 | (var_8 & 0xff0000) >> 8 | (var_8 & 0xff00) << 8 |
                             var_12 << 0x18;
                }
                else {
                  var_13 = var_11 + 2;
                  var_8 = (var_12 >> 0x10) + 0x3c000000;
                  *var_11 = var_8 >> 0x18 | (var_8 & 0xff0000) >> 8 | (var_8 & 0xff00) << 8 |
                             (var_12 >> 0x10) << 0x18;
                  var_8 = (var_12 & 0xffff) + 0x60000000;
                  var_11[1] = var_8 >> 0x18 | (var_8 & 0xff0000) >> 8 | (var_8 & 0xff00) << 8 |
                               (var_12 & 0xffff) << 0x18;
                }
              }
              var_11 = var_13 + 1;
              var_12 = var_12 + 1;
              var_8 = 8U - ((int)var_13 - (int)var_10) & 0x3fffffc;
              var_14 = var_8 + 0x48000000;
              *var_13 = var_14 >> 0x18 | (var_14 & 0xff0000) >> 8 | (var_14 & 0xff00) << 8 |
                         var_8 << 0x18;
              if ((type_4 *)((type_5)this->end_branch_table_ + (long)var_10) <= var_11) break;
              var_8 = (type_4)*(type_9 *)&((var_2<64,var_5> *)of)->field_0x10;
            }
          }
          if (((type_5)var_7->got_ & 1) == 0) goto LAB_0017e2fb;
          local_88 = *(type_2 *)&var_7->field_0x8;
          var_8 = this->end_branch_table_;
        }
        var_15 = gold::parameters->options_;
        if (var_15 == (type_1 *)0x0) {
LAB_0017e2f6:
                    /* WARNING: Subroutine does not return */
          var_16<64>();
        }
        if ((var_15->plt_align_).user_set_via_option == false) {
          var_12 = 0xffffffe0;
          var_17 = 0x20;
        }
        else {
          var_17 = 1 << ((type_11)(var_15->plt_align_).value & 0x1f);
          var_12 = -var_17;
        }
        var_9 = (type_5)((var_8 - 1) + var_17 & var_12);
        if ((this->field_0x20 & 1) != 0) {
          var_6 = *(long *)&this->field_0x8;
          var_18 = (this->global_entry_stubs_)._M_h._M_before_begin._M_nxt;
          if (var_18 == (type_7 *)0x0) {
            return;
          }
          p_Var20 = var_18[1]._M_nxt;
          var_8 = *(type_4 *)&var_18[2]._M_nxt;
          var_12 = *(type_4 *)((long)&p_Var20[4]._M_nxt + 4);
          if (var_12 != 0xffffffff) {
            var_21 = (type_2)0xffffffffffffffff;
            do {
              var_11 = (type_4 *)(var_8 + var_9 + (long)var_10);
              ppVVar5 = local_88;
              if (((type_5)p_Var20[7]._M_nxt & 0xf) == 10) {
                if (((type_5)p_Var20[7]._M_nxt & 0x70000) == 0) {
                  if (((type_5)p_Var20[2]._M_nxt[7]._M_nxt & 0x100000000) == 0) {
                    if (*(int *)&p_Var20[3]._M_nxt != 0) goto LAB_0017dff5;
                    if (((type_5)p_Var20[7]._M_nxt & 0x20000000) == 0) {
                      var_3 = *(type_11 *)((long)&p_Var20[7]._M_nxt + 1);
                      goto joined_r0x0017e066;
                    }
                  }
                }
                else if (((type_5)p_Var20[7]._M_nxt & 0x70000) != 0x40000) {
LAB_0017dff5:
                  var_3 = *(type_11 *)((long)&p_Var20[7]._M_nxt + 1);
joined_r0x0017e066:
                  if (((var_3 & 3) == 0) && (((type_5)p_Var20[7]._M_nxt & 0x10000000) == 0)) {
                    var_15 = gold::parameters->options_;
                    if (var_15 == (type_1 *)0x0) {
LAB_0017e365:
                    /* WARNING: Subroutine does not return */
                      gold::var_4("../../gold/parameters.h",0x5c,"options");
                    }
                    if ((var_15->shared_).value != false) {
                      var_7 = (var_2<64,var_5> *)
                                &(var_15->dynamic_list_).version_script_info_;
                      bVar7 = gold::Version_script_info::var_19
                                        ((type_12 *)var_7,(char *)p_Var20->_M_nxt,
                                         (type_13 *)0x0,&var_20);
                      if ((!bVar7) || (var_20 != false)) {
                        var_15 = gold::parameters->options_;
                        if (var_15 == (type_1 *)0x0) goto LAB_0017e365;
                        if (((var_15->Bsymbolic_).value != false) ||
                           ((((type_5)p_Var20[7]._M_nxt & 0xf) != 1 &&
                            ((var_15->Bsymbolic_functions_).value != false)))) goto LAB_0017e024;
                      }
                      goto LAB_0017def5;
                    }
                  }
LAB_0017e024:
                  ppVVar5 = var_21;
                  if (var_21 == (type_2)0xffffffffffffffff) {
                    var_22 = this->targ_->iplt_;
                    if (var_22 == (var_1<64,var_5> *)0x0) {
                      var_2<64,var_5>::var_23(var_7);
                      goto LAB_0017e2f6;
                    }
                    if (((var_22->super_Output_section_data_build).super_Output_section_data.
                         super_Output_data.field_0x20 & 1) == 0) goto LAB_0017e2fb;
                    ppVVar5 = (type_2)(var_22->super_Output_section_data_build).
                                       super_Output_section_data.super_Output_data.address_;
                    var_21 = ppVVar5;
                  }
                }
              }
LAB_0017def5:
              var_24 = (long)ppVVar5 +
                       ((type_5)var_12 - ((type_5)*(type_4 *)&var_18[2]._M_nxt + var_6 + var_9));
              if ((0xffffffff < var_24 + 0x80008000) || ((var_24 & 3) != 0)) {
                gold::Symbol::var_25((type_13 *)var_28,(type_14 *)var_18[1]._M_nxt);
                uVar6 = var_28._0_8_;
                if (((type_5)var_18[1]._M_nxt[7]._M_nxt & 0x70000) != 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */
                  gold::var_4("../../gold/symtab.h",0xa1,"object");
                }
                p_Var20 = var_18[1]._M_nxt[2]._M_nxt[1]._M_nxt;
                format = (char *)var_26("%s: linkage table error against `%s\'");
                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */
                gold::var_27(format,p_Var20,uVar6);
                var_7 = (var_2<64,var_5> *)var_28._0_8_;
                if ((var_2<64,var_5> *)var_28._0_8_ !=
                    (var_2<64,var_5> *)(var_28 + 0x10)) {
                  var_29((void *)var_28._0_8_);
                }
              }
              var_14 = (type_4)var_24 & 0xffff;
              var_8 = (type_4)var_24 + 0x8000 >> 0x10;
              var_30 = var_14 + 0xe98c0000;
              var_12 = var_8 + 0x3d8c0000;
              var_11[1] = var_30 >> 0x18 | (var_30 & 0xff0000) >> 8 | (var_30 & 0xff00) << 8 |
                           var_14 << 0x18;
              *var_11 = var_12 >> 0x18 | (var_12 & 0xff0000) >> 8 | (var_12 & 0xff00) << 8 |
                         var_8 << 0x18;
              var_11[2] = 0xa603897d;
              var_11[3] = 0x2004804e;
              var_18 = var_18->_M_nxt;
              if (var_18 == (type_7 *)0x0) {
                return;
              }
              p_Var20 = var_18[1]._M_nxt;
              var_8 = *(type_4 *)&var_18[2]._M_nxt;
              var_12 = *(type_4 *)((long)&p_Var20[4]._M_nxt + 4);
            } while (var_12 != 0xffffffff);
          }
                    /* WARNING: Subroutine does not return */
          gold::var_4("../../gold/symtab.h",0x1ce,"plt_offset");
        }
LAB_0017e2fb:
                    /* WARNING: Subroutine does not return */
        gold::var_4("../../gold/output.h",0xc5,"address");
      }
      var_2<64,var_5>::var_31((var_2<64,var_5> *)0x0);
      in_RDX = extraout_RDX;
    }
    gold::Output_file::var_32((type_6 *)var_7,(type_9)of,in_RDX,this_1);
  }
                    /* WARNING: Subroutine does not return */
  gold::var_4("../../gold/output.h",0xcf,"data_size");
}


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

void MASKED(long param_1,long param_2)

{
  byte bVar1;
  int iVar2;
  long lVar3;
  long lVar4;
  undefined8 uVar5;
  long lVar6;
  undefined1 *puVar7;
  char cVar8;
  int iVar9;
  uint uVar10;
  uint uVar11;
  undefined8 uVar12;
  ulong uVar13;
  uint uVar14;
  ulong *puVar15;
  uint *puVar16;
  uint uVar17;
  ulong uVar18;
  uint *puVar19;
  long *plVar20;
  ulong *puVar21;
  undefined8 *puVar22;
  long local_88;
  long local_70;
  char local_59;
  undefined1 *local_58 [2];
  undefined1 local_48 [24];
  
  bVar1 = *(byte *)(param_1 + 0x20);
  if ((bVar1 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_001e9890("../../gold/output.h",0xe3,"offset");
  }
  lVar3 = *(long *)(param_1 + 0x18);
  if ((bVar1 & 2) != 0) {
    if ((-1 < lVar3) && (*(long *)(param_1 + 0x10) + lVar3 <= *(long *)(param_2 + 0x10))) {
      puVar21 = (ulong *)(lVar3 + *(long *)(param_2 + 0x18));
      lVar3 = *(long *)(param_1 + 0x38);
      lVar4 = *(long *)(lVar3 + 0x28);
      if (lVar4 != 0) {
        if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;
        local_88 = *(long *)(lVar4 + 8);
        iVar2 = *(int *)(param_1 + 0x78);
        if (iVar2 != 0) {
          if ((bVar1 & 1) == 0) goto LAB_0017e2fb;
          uVar13 = (local_88 - *(long *)(param_1 + 8)) - 0x10;
          *puVar21 = uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |
                     (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |
                     (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |
                     (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38;
          if ((*(byte *)(lVar3 + 0x10) & 2) == 0) {
            puVar15 = puVar21 + 6;
            puVar21[1] = 0x5009f42a602887d;
            puVar21[2] = 0xf0ff4be8a602687d;
            puVar21[3] = 0x145a627da603887d;
            puVar21[4] = 0x8004be800008be9;
            puVar21[5] = 0x10006be9a603897d;
          }
          else {
            *(undefined4 *)(puVar21 + 7) = 0x8006be9;
            puVar15 = (ulong *)((long)puVar21 + 0x3c);
            puVar21[1] = 0x5009f42a602087c;
            puVar21[2] = 0x180041f8a602687d;
            puVar21[3] = 0xa603087cf0ff4be8;
            puVar21[4] = 0x145a627d50608b7d;
            puVar21[5] = 0x8be9d0ff0c38;
            puVar21[6] = 0xa603897d82f00078;
          }
          *(undefined4 *)puVar15 = 0x2004804e;
          uVar14 = *(uint *)(lVar3 + 0x10);
          puVar19 = (uint *)((long)puVar15 + 4);
          if (puVar19 !=
              (uint *)((long)puVar21 + (-(ulong)((uVar14 & 2) == 0) & 0xfffffffffffffff4) + 0x40)) {
                    /* WARNING: Subroutine does not return */
            FUN_001e9890("../../gold/powerpc.cc",0x16c2,"do_write");
          }
          if (puVar19 < (uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21)) {
            uVar10 = 0;
            while( true ) {
              puVar16 = puVar19;
              if ((uVar14 & 2) == 0) {
                if (uVar10 < 0x8000) {
                  uVar14 = uVar10 + 0x38000000;
                  puVar16 = puVar19 + 1;
                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |
                             uVar10 << 0x18;
                }
                else {
                  puVar16 = puVar19 + 2;
                  uVar14 = (uVar10 >> 0x10) + 0x3c000000;
                  *puVar19 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |
                             (uVar10 >> 0x10) << 0x18;
                  uVar14 = (uVar10 & 0xffff) + 0x60000000;
                  puVar19[1] = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |
                               (uVar10 & 0xffff) << 0x18;
                }
              }
              puVar19 = puVar16 + 1;
              uVar10 = uVar10 + 1;
              uVar14 = 8U - ((int)puVar16 - (int)puVar21) & 0x3fffffc;
              uVar11 = uVar14 + 0x48000000;
              *puVar16 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                         uVar14 << 0x18;
              if ((uint *)((ulong)*(uint *)(param_1 + 0x78) + (long)puVar21) <= puVar19) break;
              uVar14 = *(uint *)(lVar3 + 0x10);
            }
          }
          if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;
          local_88 = *(long *)(lVar4 + 8);
          iVar2 = *(int *)(param_1 + 0x78);
        }
        lVar3 = *(long *)(PTR_DAT_004ba7c8 + 0x10);
        if (lVar3 == 0) {
LAB_0017e2f6:
                    /* WARNING: Subroutine does not return */
          FUN_0016da40();
        }
        if (*(char *)(lVar3 + 0x45e8) == '\0') {
          uVar14 = 0xffffffe0;
          iVar9 = 0x20;
        }
        else {
          iVar9 = 1 << ((byte)*(undefined4 *)(lVar3 + 0x45ec) & 0x1f);
          uVar14 = -iVar9;
        }
        uVar13 = (ulong)(iVar2 + -1 + iVar9 & uVar14);
        if ((*(byte *)(param_1 + 0x20) & 1) != 0) {
          lVar3 = *(long *)(param_1 + 8);
          plVar20 = *(long **)(param_1 + 0x50);
          if (plVar20 == (long *)0x0) {
            return;
          }
          puVar22 = (undefined8 *)plVar20[1];
          uVar14 = *(uint *)(plVar20 + 2);
          uVar10 = *(uint *)((long)puVar22 + 0x24);
          if (uVar10 != 0xffffffff) {
            local_70 = -1;
            do {
              puVar19 = (uint *)(uVar14 + uVar13 + (long)puVar21);
              lVar4 = local_88;
              if ((*(byte *)(puVar22 + 7) & 0xf) == 10) {
                if ((*(byte *)((long)puVar22 + 0x3a) & 7) == 0) {
                  if ((*(byte *)(puVar22[2] + 0x3c) & 1) == 0) {
                    if (*(int *)(puVar22 + 3) != 0) goto LAB_0017dff5;
                    if ((*(byte *)((long)puVar22 + 0x3b) & 0x20) == 0) {
                      bVar1 = *(byte *)((long)puVar22 + 0x39);
                      goto joined_r0x0017e066;
                    }
                  }
                }
                else if ((*(byte *)((long)puVar22 + 0x3a) & 7) != 4) {
LAB_0017dff5:
                  bVar1 = *(byte *)((long)puVar22 + 0x39);
joined_r0x0017e066:
                  if (((bVar1 & 3) == 0) && ((*(byte *)((long)puVar22 + 0x3b) & 0x10) == 0)) {
                    lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);
                    if (lVar6 == 0) {
LAB_0017e365:
                    /* WARNING: Subroutine does not return */
                      FUN_001e9890("../../gold/parameters.h",0x5c,"options");
                    }
                    if (*(char *)(lVar6 + 0x2a61) != '\0') {
                      cVar8 = FUN_002d49c0(lVar6 + 0x9120,*puVar22,0,&local_59);
                      if ((cVar8 == '\0') || (local_59 != '\0')) {
                        lVar6 = *(long *)(PTR_DAT_004ba7c8 + 0x10);
                        if (lVar6 == 0) goto LAB_0017e365;
                        if ((*(char *)(lVar6 + 0xd21) != '\0') ||
                           (((*(byte *)(puVar22 + 7) & 0xf) != 1 &&
                            (*(char *)(lVar6 + 0xde9) != '\0')))) goto LAB_0017e024;
                      }
                      goto LAB_0017def5;
                    }
                  }
LAB_0017e024:
                  lVar4 = local_70;
                  if (local_70 == -1) {
                    lVar4 = *(long *)(*(long *)(param_1 + 0x38) + 0x30);
                    if (lVar4 == 0) {
                      FUN_0016d920();
                      goto LAB_0017e2f6;
                    }
                    if ((*(byte *)(lVar4 + 0x20) & 1) == 0) goto LAB_0017e2fb;
                    lVar4 = *(long *)(lVar4 + 8);
                    local_70 = lVar4;
                  }
                }
              }
LAB_0017def5:
              uVar18 = ((ulong)uVar10 + lVar4) - ((ulong)*(uint *)(plVar20 + 2) + lVar3 + uVar13);
              if ((0xffffffff < uVar18 + 0x80008000) || ((uVar18 & 3) != 0)) {
                FUN_002de920(local_58,plVar20[1]);
                puVar7 = local_58[0];
                if ((*(byte *)(plVar20[1] + 0x3a) & 7) != 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0017e2ec to 0017e2f0 has its CatchHandler @ 0017e37d */
                  FUN_001e9890("../../gold/symtab.h",0xa1,"object");
                }
                uVar5 = *(undefined8 *)(*(long *)(plVar20[1] + 0x10) + 8);
                uVar12 = gettext("%s: linkage table error against `%s\'");
                    /* try { // try from 0017df62 to 0017df66 has its CatchHandler @ 0017e37d */
                FUN_001e14f0(uVar12,uVar5,puVar7);
                if (local_58[0] != local_48) {
                  FUN_00338a40();
                }
              }
              uVar11 = (uint)uVar18 & 0xffff;
              uVar14 = (uint)uVar18 + 0x8000 >> 0x10;
              uVar17 = uVar11 + 0xe98c0000;
              uVar10 = uVar14 + 0x3d8c0000;
              puVar19[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |
                           uVar11 << 0x18;
              *puVar19 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |
                         uVar14 << 0x18;
              puVar19[2] = 0xa603897d;
              puVar19[3] = 0x2004804e;
              plVar20 = (long *)*plVar20;
              if (plVar20 == (long *)0x0) {
                return;
              }
              puVar22 = (undefined8 *)plVar20[1];
              uVar14 = *(uint *)(plVar20 + 2);
              uVar10 = *(uint *)((long)puVar22 + 0x24);
            } while (uVar10 != 0xffffffff);
          }
                    /* WARNING: Subroutine does not return */
          FUN_001e9890("../../gold/symtab.h",0x1ce,"plt_offset");
        }
LAB_0017e2fb:
                    /* WARNING: Subroutine does not return */
        FUN_001e9890("../../gold/output.h",0xc5,"address");
      }
      FUN_0016d940();
    }
    FUN_0016e170();
  }
                    /* WARNING: Subroutine does not return */
  FUN_001e9890("../../gold/output.h",0xcf,"data_size");
}

