
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Type propagation algorithm not settling */
/* 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(Stub_table<32,_true> * this, Output_file * of) */

void __thiscall
anon_unknown.dwarf_2af53c::Stub_table<32,_true>::do_write
          (Stub_table<32,_true> *this,Output_file *of)

{
  size_type sVar1;
  Target_powerpc<32,_true> *pTVar2;
  Symbol *pSVar3;
  General_options *pGVar4;
  Output_data_save_res<32,_true> *pOVar5;
  Output_data_got_powerpc<32,_true> *pOVar6;
  _Hash_node_base *p_Var7;
  _Hash_node_base *p_Var8;
  _Hash_node_base *p_Var9;
  int iVar10;
  Parameters *pPVar11;
  bool bVar12;
  uchar *puVar13;
  int iVar14;
  _Hash_node_base *p_Var15;
  uint uVar16;
  uint uVar17;
  Output_data_plt_powerpc<32,_true> *pOVar18;
  uint *puVar19;
  _Hash_node_base *p_Var20;
  uint uVar21;
  uint uVar22;
  uint *puVar23;
  Target_powerpc<32,_true> *in_stack_ffffffa4;
  int local_40;
  bool is_global;
  
  sVar1 = (this->plt_call_stubs_)._M_h._M_element_count;
  if ((sVar1 != 0) || ((this->long_branch_stubs_)._M_h._M_element_count != 0)) {
    if ((this->field_0x1c & 4) == 0) {
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");
    }
    if (gold::parameters->options_ == (General_options *)0x0) {
LAB_000655b6:
                    /* WARNING: Subroutine does not return */
      Stub_table<64,_false>::stub_align((Stub_table<64,_false> *)in_stack_ffffffa4);
    }
    uVar21 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);
    if (uVar21 < 0x10) {
      uVar21 = 0x10;
    }
    uVar21 = (uVar21 - 1) + this->orig_data_size_ + *(int *)&this->field_0x14 & -uVar21;
    if ((this->field_0x1c & 2) == 0) {
LAB_0006566c:
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");
    }
    uVar16 = uVar21 - *(int *)&this->field_0x14;
    uVar22 = *(uint *)&this->field_0xc - uVar16;
    if (*(uint *)&this->field_0x10 != (uint)(*(uint *)&this->field_0xc < uVar16)) {
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");
    }
    uVar16 = (uint)CARRY4(uVar21,uVar22);
    iVar14 = *(int *)((int)&of->file_size_ + 4);
    uVar22 = (uint)((uint)of->file_size_ < uVar21 + uVar22);
    iVar10 = iVar14 - uVar16;
    if ((SBORROW4(iVar14,uVar16) != SBORROW4(iVar10,uVar22)) != (int)(iVar10 - uVar22) < 0) {
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");
    }
    puVar13 = of->base_ + uVar21;
    if ((sVar1 != 0) &&
       (p_Var20 = (this->plt_call_stubs_)._M_h._M_before_begin._M_nxt,
       p_Var20 != (_Hash_node_base *)0x0)) {
      local_40 = -1;
      do {
        p_Var15 = p_Var20[1]._M_nxt;
        pTVar2 = this->targ_;
        if (p_Var15 == (_Hash_node_base *)0x0) {
          p_Var15 = p_Var20[2]._M_nxt;
          p_Var7 = p_Var20[4]._M_nxt;
          if ((_Hash_node_base *)((int)p_Var15[0x38]._M_nxt - (int)p_Var15[0x37]._M_nxt >> 4) <=
              p_Var7) {
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");
          }
          if (((uint)p_Var15[0x37]._M_nxt[(int)p_Var7 * 4 + 2]._M_nxt & 0x40000000) == 0) {
            pOVar18 = pTVar2->lplt_;
          }
          else {
            pOVar18 = pTVar2->iplt_;
            if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {
                    /* WARNING: Subroutine does not return */
              gold::do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");
            }
          }
          p_Var15 = (_Hash_node_base *)(*(code *)p_Var15->_M_nxt[0x2a]._M_nxt)(p_Var15,p_Var7);
        }
        else {
          if (((uint)p_Var15[10]._M_nxt & 0xf) == 10) {
            if (((uint)p_Var15[10]._M_nxt & 0x70000) == 0) goto LAB_00065520;
            if (((uint)p_Var15[10]._M_nxt & 0x70000) != 0x40000) {
              do {
                if ((((uint)p_Var15[10]._M_nxt & 0x300) == 0) &&
                   (((uint)p_Var15[10]._M_nxt & 0x10000000) == 0)) {
                  pGVar4 = gold::parameters->options_;
                  if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;
                  if ((pGVar4->shared_).value != false) {
                    bVar12 = gold::Version_script_info::get_symbol_version
                                       (&(pGVar4->dynamic_list_).version_script_info_,
                                        (char *)p_Var15->_M_nxt,(string *)0x0,&is_global);
                    if ((bVar12) && (is_global == false)) break;
                    pGVar4 = gold::parameters->options_;
                    if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;
                    if (((pGVar4->Bsymbolic_).value == false) &&
                       ((((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||
                        ((pGVar4->Bsymbolic_functions_).value == false)))) break;
                  }
                }
                pOVar18 = pTVar2->iplt_;
                if (pOVar18 != (Output_data_plt_powerpc<32,_true> *)0x0) goto LAB_000650dd;
                Target_powerpc<32,_true>::iplt_section(in_stack_ffffffa4);
LAB_00065520:
                if ((((uint)p_Var15[2]._M_nxt[0xb]._M_nxt & 1) != 0) ||
                   ((p_Var15[3]._M_nxt == (_Hash_node_base *)0x0 &&
                    (((uint)p_Var15[10]._M_nxt & 0x20000000) != 0)))) break;
              } while( true );
            }
          }
          pOVar18 = pTVar2->plt_;
          if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");
          }
LAB_000650dd:
          p_Var15 = p_Var15[6]._M_nxt;
          if (p_Var15 == (_Hash_node_base *)0xffffffff) {
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");
          }
        }
        if (((pOVar18->super_Output_section_data_build).super_Output_section_data.super_Output_data.
             field_0x1c & 1) == 0) goto LAB_00065211;
        uVar21 = (int)&p_Var15->_M_nxt +
                 (int)(pOVar18->super_Output_section_data_build).super_Output_section_data.
                      super_Output_data.address_;
        puVar19 = (uint *)(puVar13 + (int)p_Var20[5]._M_nxt);
        pSVar3 = this->targ_->tls_get_addr_opt_;
        puVar23 = puVar19;
        if ((pSVar3 != (Symbol *)0x0) &&
           ((this->targ_->tls_get_addr_ == (Symbol *)p_Var20[1]._M_nxt ||
            ((Symbol *)p_Var20[1]._M_nxt == pSVar3)))) {
          *puVar19 = 0x6381;
          puVar23 = puVar19 + 8;
          puVar19[1] = 0x4008381;
          puVar19[2] = 0x781b607c;
          puVar19[3] = 0xb2c;
          puVar19[4] = 0x14126c7c;
          puVar19[5] = 0x2000824d;
          puVar19[6] = 0x7803037c;
          puVar19[7] = 0x60;
        }
        pGVar4 = gold::parameters->options_;
        if (pGVar4 == (General_options *)0x0) {
LAB_000655f9:
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
        }
        if (((pGVar4->shared_).value == false) && ((pGVar4->pie_).value == false)) {
          puVar19 = puVar23 + 1;
          uVar16 = uVar21 + 0x8000 >> 0x10;
          uVar17 = (uVar21 & 0xffff) + 0x816b0000;
          uVar22 = uVar16 + 0x3d600000;
          puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |
                       (uVar21 & 0xffff) << 0x18;
          *puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |
                     uVar16 << 0x18;
        }
        else {
          p_Var15 = p_Var20[2]._M_nxt;
          if ((p_Var15 == (_Hash_node_base *)0x0) || (p_Var20[3]._M_nxt < (_Hash_node_base *)0x8000)
             ) {
            iVar14 = local_40;
            if (local_40 == -1) {
              pOVar6 = this->targ_->got_;
              if (pOVar6 == (Output_data_got_powerpc<32,_true> *)0x0) {
                    /* WARNING: Subroutine does not return */
                gold::do_gold_unreachable("../../gold/powerpc.cc",0x3ae,"got_section");
              }
              if (((pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.
                   super_Output_section_data_build.super_Output_section_data.super_Output_data.
                   field_0x1c & 1) == 0) goto LAB_00065211;
              iVar14 = (int)(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.
                            super_Output_section_data_build.super_Output_section_data.
                            super_Output_data.address_ + pOVar6->header_index_ * 4;
              local_40 = iVar14;
            }
          }
          else {
            p_Var7 = p_Var15[0x50]._M_nxt;
            if ((_Hash_node_base *)((int)p_Var15[0x22]._M_nxt - (int)p_Var15[0x21]._M_nxt >> 2) <=
                p_Var7) {
                    /* WARNING: Subroutine does not return */
              gold::do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");
            }
            p_Var8 = p_Var15[0x21]._M_nxt[(int)p_Var7]._M_nxt;
            if (p_Var8 == (_Hash_node_base *)0xffffffff) {
                    /* WARNING: Subroutine does not return */
              gold::do_gold_unreachable("../../gold/powerpc.cc",0x1633,"do_write");
            }
            p_Var9 = p_Var15->_M_nxt[0x18]._M_nxt;
            if (p_Var9 == (_Hash_node_base *)gold::Relobj::do_output_section) {
              if ((_Hash_node_base *)((int)p_Var15[0xf]._M_nxt - (int)p_Var15[0xe]._M_nxt >> 2) <=
                  p_Var7) {
                    /* WARNING: Subroutine does not return */
                gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");
              }
              p_Var15 = p_Var15[0xe]._M_nxt[(int)p_Var7]._M_nxt;
            }
            else {
              p_Var15 = (_Hash_node_base *)(*(code *)p_Var9)(p_Var15,p_Var7);
            }
            if (((uint)p_Var15[7]._M_nxt & 1) == 0) goto LAB_00065211;
            iVar14 = (int)&p_Var8->_M_nxt +
                     (int)&(p_Var15[1]._M_nxt)->_M_nxt + (int)&(p_Var20[3]._M_nxt)->_M_nxt;
          }
          uVar16 = uVar21 - iVar14 & 0xffff;
          uVar21 = (uVar21 - iVar14) + 0x8000 >> 0x10;
          if (uVar21 == 0) {
            uVar21 = uVar16 + 0x817e0000;
            *puVar23 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |
                       uVar16 << 0x18;
            puVar19 = puVar23;
          }
          else {
            uVar22 = uVar21 + 0x3d7e0000;
            uVar17 = uVar16 + 0x816b0000;
            *puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |
                       uVar21 << 0x18;
            puVar19 = puVar23 + 1;
            puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |
                         uVar16 << 0x18;
          }
        }
        puVar19[1] = 0xa603697d;
        puVar19[2] = 0x2004804e;
        p_Var20 = p_Var20->_M_nxt;
      } while (p_Var20 != (_Hash_node_base *)0x0);
    }
    pPVar11 = gold::parameters;
    for (p_Var20 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;
        p_Var20 != (_Hash_node_base *)0x0; p_Var20 = p_Var20->_M_nxt) {
      if (*(char *)&p_Var20[3]._M_nxt == '\0') {
        puVar23 = (uint *)(puVar13 + (int)&(p_Var20[4]._M_nxt)->_M_nxt + this->plt_size_);
        pGVar4 = pPVar11->options_;
        if (pGVar4 == (General_options *)0x0) goto LAB_000655b6;
        uVar21 = 1 << ((byte)(pGVar4->plt_align_).value & 0x1f);
        if (uVar21 < 0x10) {
          uVar21 = 0x10;
        }
        if ((this->field_0x1c & 1) == 0) {
LAB_00065211:
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");
        }
        uVar21 = (int)p_Var20[1]._M_nxt +
                 (-(int)p_Var20[4]._M_nxt -
                 ((-uVar21 & (uVar21 - 1) + *(int *)&this->field_0x4 + this->orig_data_size_) +
                 this->plt_size_));
        if (uVar21 + 0x2000000 < 0x4000000) {
          *puVar23 = (uVar21 & 0x3000000 | 0x48000000) >> 0x18 | (uVar21 & 0xff0000) >> 8 |
                     (uVar21 & 0xff00) << 8 | (uVar21 & 0xfc) << 0x18;
          puVar19 = puVar23;
        }
        else if (((pGVar4->shared_).value == false) && ((pGVar4->pie_).value == false)) {
          puVar19 = puVar23 + 1;
          uVar21 = (uint)(p_Var20[1]._M_nxt + 0x2000) >> 0x10;
          uVar16 = uVar21 + 0x3d800000;
          *puVar23 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |
                     uVar21 << 0x18;
          uVar21 = *(ushort *)&p_Var20[1]._M_nxt + 0x398c0000;
          *puVar19 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |
                     (uint)*(ushort *)&p_Var20[1]._M_nxt << 0x18;
        }
        else {
          *puVar23 = 0xa602087c;
          puVar19 = puVar23 + 5;
          uVar22 = uVar21 + 0x7ff8 >> 0x10;
          uVar21 = uVar21 - 8 & 0xffff;
          puVar23[1] = 0x5009f42;
          uVar17 = uVar22 + 0x3d8c0000;
          uVar16 = uVar21 + 0x398c0000;
          puVar23[2] = 0xa602887d;
          puVar23[3] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |
                       uVar22 << 0x18;
          puVar23[4] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |
                       uVar21 << 0x18;
          *puVar19 = 0xa603087c;
        }
        puVar19[1] = 0xa603897d;
        puVar19[2] = 0x2004804e;
      }
    }
    if (this->need_save_res_ != false) {
      pOVar5 = this->targ_->savres_section_;
      if ((pOVar5->field_0x1c & 2) == 0) goto LAB_0006566c;
      memcpy(puVar13 + this->plt_size_ + this->branch_size_,pOVar5->contents_,
             *(size_t *)&pOVar5->field_0xc);
    }
  }
  return;
}



/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

void FUN_00064f30(int param_1,int param_2)

{
  byte bVar1;
  undefined4 *puVar2;
  int *piVar3;
  int iVar4;
  char cVar5;
  void *__dest;
  int iVar6;
  int iVar7;
  uint uVar8;
  uint uVar9;
  uint *puVar10;
  int *piVar11;
  uint uVar12;
  uint uVar13;
  uint *puVar14;
  int local_40;
  char local_1d [13];
  
  if ((*(int *)(param_1 + 0x44) != 0) || (*(int *)(param_1 + 0x60) != 0)) {
    bVar1 = *(byte *)(param_1 + 0x1c);
    if ((bVar1 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_000da200("../../gold/output.h",0xe3,"offset",bVar1);
    }
    if (*(int *)(DAT_004144e8 + 8) == 0) {
LAB_000655b6:
                    /* WARNING: Subroutine does not return */
      FUN_00052750();
    }
    uVar12 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f);
    if (uVar12 < 0x10) {
      uVar12 = 0x10;
    }
    __dest = (void *)((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12);
    if ((bVar1 & 2) == 0) {
LAB_0006566c:
                    /* WARNING: Subroutine does not return */
      FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);
    }
    uVar12 = (int)__dest - *(int *)(param_1 + 0x14);
    uVar13 = *(uint *)(param_1 + 0xc) - uVar12;
    if (*(uint *)(param_1 + 0x10) != (uint)(*(uint *)(param_1 + 0xc) < uVar12)) {
                    /* WARNING: Subroutine does not return */
      FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest);
    }
    uVar12 = (uint)CARRY4((uint)__dest,uVar13);
    uVar13 = (uint)(*(uint *)(param_2 + 8) < (int)__dest + uVar13);
    iVar4 = *(int *)(param_2 + 0xc) - uVar12;
    if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)) !=
        (int)(iVar4 - uVar13) < 0) {
                    /* WARNING: Subroutine does not return */
      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest);
    }
    iVar4 = *(int *)(param_2 + 0x10);
    if ((*(int *)(param_1 + 0x44) != 0) &&
       (piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0)) {
      local_40 = -1;
      do {
        puVar2 = (undefined4 *)piVar11[1];
        iVar6 = *(int *)(param_1 + 0x34);
        if (puVar2 == (undefined4 *)0x0) {
          piVar3 = (int *)piVar11[2];
          uVar12 = piVar11[4];
          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {
                    /* WARNING: Subroutine does not return */
            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);
          }
          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {
            iVar7 = *(int *)(iVar6 + 0x20);
          }
          else {
            iVar7 = *(int *)(iVar6 + 0x1c);
            if (iVar7 == 0) {
                    /* WARNING: Subroutine does not return */
              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);
            }
          }
          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);
        }
        else {
          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {
            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;
            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {
              do {
                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&
                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {
                  iVar7 = *(int *)(DAT_004144e8 + 8);
                  if (iVar7 == 0) goto LAB_000655f9;
                  if (*(char *)(iVar7 + 0x1a25) != '\0') {
                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);
                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;
                    iVar7 = *(int *)(DAT_004144e8 + 8);
                    if (iVar7 == 0) goto LAB_000655f9;
                    if ((*(char *)(iVar7 + 0x825) == '\0') &&
                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))
                       ) break;
                  }
                }
                iVar7 = *(int *)(iVar6 + 0x1c);
                if (iVar7 != 0) goto LAB_000650dd;
                FUN_000522c0();
LAB_00065520:
                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||
                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;
              } while( true );
            }
          }
          iVar7 = *(int *)(iVar6 + 0x18);
          if (iVar7 == 0) {
                    /* WARNING: Subroutine does not return */
            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");
          }
LAB_000650dd:
          iVar6 = puVar2[6];
          if (iVar6 == -1) {
                    /* WARNING: Subroutine does not return */
            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");
          }
        }
        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;
        uVar12 = iVar6 + *(int *)(iVar7 + 4);
        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);
        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);
        puVar14 = puVar10;
        if ((iVar6 != 0) &&
           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {
          *puVar10 = 0x6381;
          puVar14 = puVar10 + 8;
          puVar10[1] = 0x4008381;
          puVar10[2] = 0x781b607c;
          puVar10[3] = 0xb2c;
          puVar10[4] = 0x14126c7c;
          puVar10[5] = 0x2000824d;
          puVar10[6] = 0x7803037c;
          puVar10[7] = 0x60;
        }
        iVar6 = *(int *)(DAT_004144e8 + 8);
        if (iVar6 == 0) {
LAB_000655f9:
                    /* WARNING: Subroutine does not return */
          FUN_000da200("../../gold/parameters.h",0x5c,"options");
        }
        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {
          puVar10 = puVar14 + 1;
          uVar13 = uVar12 + 0x8000 >> 0x10;
          uVar9 = (uVar12 & 0xffff) + 0x816b0000;
          uVar8 = uVar13 + 0x3d600000;
          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |
                       (uVar12 & 0xffff) << 0x18;
          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |
                     uVar13 << 0x18;
        }
        else {
          piVar3 = (int *)piVar11[2];
          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {
            iVar6 = local_40;
            if (local_40 == -1) {
              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);
              if (iVar6 == 0) {
                    /* WARNING: Subroutine does not return */
                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);
              }
              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;
              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;
              local_40 = iVar6;
            }
          }
          else {
            uVar13 = piVar3[0x50];
            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {
                    /* WARNING: Subroutine does not return */
              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);
            }
            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);
            if (iVar6 == -1) {
                    /* WARNING: Subroutine does not return */
              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);
            }
            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {
              iVar7 = piVar3[0xe];
              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {
                    /* WARNING: Subroutine does not return */
                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);
              }
              iVar7 = *(int *)(iVar7 + uVar13 * 4);
            }
            else {
              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);
            }
            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;
            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;
          }
          uVar13 = uVar12 - iVar6 & 0xffff;
          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;
          if (uVar12 == 0) {
            uVar12 = uVar13 + 0x817e0000;
            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |
                       uVar13 << 0x18;
            puVar10 = puVar14;
          }
          else {
            uVar8 = uVar12 + 0x3d7e0000;
            uVar9 = uVar13 + 0x816b0000;
            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |
                       uVar12 << 0x18;
            puVar10 = puVar14 + 1;
            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |
                         uVar13 << 0x18;
          }
        }
        puVar10[1] = 0xa603697d;
        puVar10[2] = 0x2004804e;
        piVar11 = (int *)*piVar11;
      } while (piVar11 != (int *)0x0);
    }
    iVar6 = DAT_004144e8;
    for (puVar2 = *(undefined4 **)(param_1 + 0x5c); puVar2 != (undefined4 *)0x0;
        puVar2 = (undefined4 *)*puVar2) {
      if (*(char *)(puVar2 + 3) == '\0') {
        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);
        iVar7 = *(int *)(iVar6 + 8);
        if (iVar7 == 0) goto LAB_000655b6;
        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);
        if (uVar12 < 0x10) {
          uVar12 = 0x10;
        }
        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {
LAB_00065211:
                    /* WARNING: Subroutine does not return */
          FUN_000da200("../../gold/output.h",0xc5,"address");
        }
        uVar12 = (puVar2[1] -
                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +
                 *(int *)(param_1 + 0x74))) - puVar2[4];
        if (uVar12 + 0x2000000 < 0x4000000) {
          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |
                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;
          puVar10 = puVar14;
        }
        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {
          puVar10 = puVar14 + 1;
          uVar12 = puVar2[1] + 0x8000 >> 0x10;
          uVar13 = uVar12 + 0x3d800000;
          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |
                     uVar12 << 0x18;
          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;
          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |
                     (uint)*(ushort *)(puVar2 + 1) << 0x18;
        }
        else {
          *puVar14 = 0xa602087c;
          puVar10 = puVar14 + 5;
          uVar8 = uVar12 + 0x7ff8 >> 0x10;
          uVar12 = uVar12 - 8 & 0xffff;
          puVar14[1] = 0x5009f42;
          uVar9 = uVar8 + 0x3d8c0000;
          uVar13 = uVar12 + 0x398c0000;
          puVar14[2] = 0xa602887d;
          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |
                       uVar8 << 0x18;
          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |
                       uVar12 << 0x18;
          *puVar10 = 0xa603087c;
        }
        puVar10[1] = 0xa603897d;
        puVar10[2] = 0x2004804e;
      }
    }
    if (*(char *)(param_1 + 0x88) != '\0') {
      __dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4);
      iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);
      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) goto LAB_0006566c;
      memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc));
    }
  }
  return;
}


CALL 0x000b4846
ADD EAX,0x3af0cb
PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x4c
MOV dword ptr [ESP + 0x2c],EAX
MOV EAX,dword ptr [ESP + 0x60]
MOV EBP,dword ptr [EAX + 0x44]
TEST EBP,EBP
JNZ 0x00064f5b
MOV EAX,dword ptr [EAX + 0x60]
TEST EAX,EAX
JZ 0x000652da
MOV EAX,dword ptr [ESP + 0x60]
MOVZX EAX,byte ptr [EAX + 0x1c]
MOV byte ptr [ESP + 0x20],AL
TEST AL,0x4
JZ 0x000656a3
MOV EAX,dword ptr [ESP + 0x60]
MOV EDX,dword ptr [EAX + 0x18]
MOV EAX,dword ptr [EAX + 0x14]
MOV dword ptr [ESP + 0x10],EAX
MOV dword ptr [ESP + 0x1c],EAX
MOV EAX,dword ptr [ESP + 0x2c]
MOV dword ptr [ESP + 0x14],EDX
LEA EAX,[EAX + 0x4e8]
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x000655b6
MOV ECX,dword ptr [EAX + 0x2b20]
MOV ESI,0x1
MOV EAX,0x10
SHL ESI,CL
CMP ESI,0x10
CMOVC ESI,EAX
MOV EAX,dword ptr [ESP + 0x60]
MOV ECX,dword ptr [EAX + 0x70]
MOV EAX,ESI
ADD ECX,dword ptr [ESP + 0x10]
ADD EAX,-0x1
ADD EAX,ECX
NEG ESI
AND EAX,ESI
TEST byte ptr [ESP + 0x20],0x2
JZ 0x0006566c
MOV EDI,dword ptr [ESP + 0x60]
MOV ECX,EAX
SUB ECX,dword ptr [ESP + 0x1c]
XOR EBX,EBX
MOV ESI,dword ptr [EDI + 0xc]
MOV EDI,dword ptr [EDI + 0x10]
MOV dword ptr [ESP + 0x10],ESI
SUB ESI,ECX
MOV dword ptr [ESP + 0x14],EDI
SBB EDI,EBX
MOV EDX,ESI
MOV EBX,EDI
XOR EDX,ESI
XOR EDI,EDI
MOV ECX,EBX
OR ECX,EDX
JNZ 0x000656fa
MOV ECX,EAX
XOR EBX,EBX
ADD ECX,ESI
ADC EBX,EDI
MOV EDI,dword ptr [ESP + 0x64]
MOV EDX,dword ptr [EDI + 0xc]
CMP dword ptr [EDI + 0x8],ECX
SBB EDX,EBX
JL 0x00065689
MOV EDI,dword ptr [ESP + 0x64]
ADD EAX,dword ptr [EDI + 0x10]
MOV dword ptr [ESP + 0x10],EAX
TEST EBP,EBP
JZ 0x00065190
MOV EAX,dword ptr [ESP + 0x60]
MOV EBP,dword ptr [EAX + 0x40]
TEST EBP,EBP
JZ 0x00065190
LEA EAX,[ESP + 0x3f]
MOV dword ptr [ESP + 0x1c],0xffffffff
MOV dword ptr [ESP + 0x24],EAX
MOV EAX,dword ptr [ESP + 0x2c]
LEA EAX,[EAX + 0xffc91850]
MOV dword ptr [ESP + 0x20],EAX
JMP 0x000650b1
CMP byte ptr [EAX + 0x2931],0x0
JNZ 0x00065145
LEA EAX,[ESI + 0x8000]
MOVZX ESI,SI
LEA EDX,[EBX + 0x4]
SHR EAX,0x10
SUB ESI,0x7e950000
ADD EAX,0x3d600000
BSWAP ESI
MOV dword ptr [EBX + 0x4],ESI
BSWAP EAX
MOV dword ptr [EBX],EAX
MOV dword ptr [EDX + 0x4],0xa603697d
MOV dword ptr [EDX + 0x8],0x2004804e
MOV EBP,dword ptr [EBP]
TEST EBP,EBP
JZ 0x00065190
MOV EAX,dword ptr [ESP + 0x60]
MOV ESI,dword ptr [EBP + 0x4]
MOV EDI,dword ptr [EAX + 0x34]
TEST ESI,ESI
JZ 0x000653d0
MOVZX EAX,byte ptr [ESI + 0x28]
AND EAX,0xf
CMP AL,0xa
JZ 0x000654d0
MOV EBX,dword ptr [EDI + 0x18]
TEST EBX,EBX
JZ 0x000655bb
MOV EAX,dword ptr [ESI + 0x18]
CMP EAX,-0x1
JZ 0x000655da
TEST byte ptr [EBX + 0x1c],0x1
JZ 0x00065211
ADD EAX,dword ptr [EBX + 0x4]
MOV EBX,dword ptr [ESP + 0x10]
MOV ESI,EAX
MOV EAX,dword ptr [ESP + 0x60]
ADD EBX,dword ptr [EBP + 0x14]
MOV EAX,dword ptr [EAX + 0x34]
MOV EDX,dword ptr [EAX + 0xb4]
TEST EDX,EDX
JZ 0x00065127
MOV ECX,dword ptr [EBP + 0x4]
CMP dword ptr [EAX + 0xb0],ECX
JZ 0x00065390
CMP ECX,EDX
JZ 0x00065390
MOV EAX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x000655f9
CMP byte ptr [EAX + 0x1a25],0x0
JZ 0x00065068
MOV EAX,dword ptr [EBP + 0x8]
TEST EAX,EAX
JZ 0x00065159
CMP dword ptr [EBP + 0xc],0x7fff
JA 0x00065450
MOV EAX,dword ptr [ESP + 0x1c]
CMP EAX,-0x1
JZ 0x00065420
SUB ESI,EAX
LEA EDX,[ESI + 0x8000]
MOVZX ESI,SI
SHR EDX,0x10
JNZ 0x00065370
SUB ESI,0x7e820000
MOV EDX,EBX
BSWAP ESI
MOV dword ptr [EBX],ESI
JMP 0x00065098
MOV EAX,dword ptr [ESP + 0x60]
MOV EBP,dword ptr [EAX + 0x5c]
TEST EBP,EBP
JZ 0x00065295
MOV EAX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x28],EAX
LEA ESI,[ESI]
CMP byte ptr [EBP + 0xc],0x0
JNZ 0x0006528a
MOV EAX,dword ptr [ESP + 0x60]
MOV EDI,dword ptr [EBP + 0x10]
MOV EAX,dword ptr [EAX + 0x74]
MOV dword ptr [ESP + 0x24],EDI
MOV dword ptr [ESP + 0x20],EAX
ADD EAX,EDI
MOV EDI,dword ptr [ESP + 0x10]
ADD EDI,EAX
MOV EAX,dword ptr [ESP + 0x28]
MOV ESI,dword ptr [EAX + 0x8]
TEST ESI,ESI
JZ 0x000655b6
MOV ECX,dword ptr [ESI + 0x2b20]
MOV EAX,0x1
MOV EBX,0x10
MOV dword ptr [ESP + 0xc],0x0
SHL EAX,CL
MOV ECX,dword ptr [ESP + 0x60]
CMP EAX,0x10
CMOVC EAX,EBX
MOV dword ptr [ESP + 0x8],EAX
TEST byte ptr [ECX + 0x1c],0x1
JNZ 0x00065230
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x30]
LEA EAX,[EBX + 0xffee22f4]
PUSH EAX
LEA EAX,[EBX + 0xffee2e5c]
PUSH 0xc5
PUSH EAX
CALL 0x000da200
MOV ECX,dword ptr [EBP + 0x4]
MOV EAX,dword ptr [ESP + 0x60]
MOV dword ptr [ESP + 0x1c],ECX
MOV ECX,dword ptr [ESP + 0x8]
ADD ECX,-0x1
ADD ECX,dword ptr [EAX + 0x4]
ADD ECX,dword ptr [EAX + 0x70]
MOV EAX,dword ptr [ESP + 0x8]
NEG EAX
AND EAX,ECX
MOV ECX,dword ptr [ESP + 0x1c]
ADD EAX,dword ptr [ESP + 0x20]
SUB ECX,EAX
MOV EAX,ECX
SUB EAX,dword ptr [ESP + 0x24]
LEA EDX,[EAX + 0x2000000]
CMP EDX,0x3ffffff
JA 0x000652e8
AND EAX,0x3fffffc
OR EAX,0x48000000
BSWAP EAX
MOV dword ptr [EDI],EAX
MOV dword ptr [EDI + 0x4],0xa603897d
MOV dword ptr [EDI + 0x8],0x2004804e
MOV EBP,dword ptr [EBP]
TEST EBP,EBP
JNZ 0x000651b0
MOV EAX,dword ptr [ESP + 0x60]
CMP byte ptr [EAX + 0x88],0x0
JZ 0x000652da
MOV EDI,dword ptr [ESP + 0x60]
MOV EAX,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [EDI + 0x34]
ADD EAX,dword ptr [EDI + 0x7c]
ADD EAX,dword ptr [EDI + 0x74]
MOV EDX,dword ptr [EDX + 0xac]
TEST byte ptr [EDX + 0x1c],0x2
JZ 0x0006566c
MOV ECX,dword ptr [EDX + 0x2c]
SUB ESP,0x4
PUSH dword ptr [EDX + 0xc]
PUSH ECX
PUSH EAX
MOV EBX,dword ptr [ESP + 0x3c]
CALL 0x0002c2d0
ADD ESP,0x10
ADD ESP,0x4c
POP EBX
POP ESI
POP EDI
POP EBP
RET
CMP byte ptr [ESI + 0x1a25],0x0
JNZ 0x00065328
CMP byte ptr [ESI + 0x2931],0x0
JNZ 0x00065328
MOV EAX,dword ptr [ESP + 0x1c]
ADD EDI,0x4
ADD EAX,0x8000
SHR EAX,0x10
ADD EAX,0x3d800000
BSWAP EAX
MOV dword ptr [EDI + -0x4],EAX
MOVZX EAX,word ptr [EBP + 0x4]
ADD EAX,0x398c0000
BSWAP EAX
MOV dword ptr [EDI],EAX
JMP 0x0006527c
LEA EDX,[EAX + 0x7ff8]
SUB EAX,0x8
MOV dword ptr [EDI],0xa602087c
ADD EDI,0x14
SHR EDX,0x10
MOVZX EAX,AX
MOV dword ptr [EDI + -0x10],0x5009f42
ADD EDX,0x3d8c0000
ADD EAX,0x398c0000
MOV dword ptr [EDI + -0xc],0xa602887d
BSWAP EDX
BSWAP EAX
MOV dword ptr [EDI + -0x8],EDX
MOV dword ptr [EDI + -0x4],EAX
MOV dword ptr [EDI],0xa603087c
JMP 0x0006527c
ADD EDX,0x3d7e0000
SUB ESI,0x7e950000
BSWAP EDX
BSWAP ESI
MOV dword ptr [EBX],EDX
LEA EDX,[EBX + 0x4]
MOV dword ptr [EBX + 0x4],ESI
JMP 0x00065098
MOV dword ptr [EBX],0x6381
ADD EBX,0x20
MOV dword ptr [EBX + -0x1c],0x4008381
MOV dword ptr [EBX + -0x18],0x781b607c
MOV dword ptr [EBX + -0x14],0xb2c
MOV dword ptr [EBX + -0x10],0x14126c7c
MOV dword ptr [EBX + -0xc],0x2000824d
MOV dword ptr [EBX + -0x8],0x7803037c
MOV dword ptr [EBX + -0x4],0x60
JMP 0x00065127
MOV EDX,dword ptr [EBP + 0x8]
MOV ECX,dword ptr [EBP + 0x10]
MOV EBX,dword ptr [EDX + 0xdc]
MOV EAX,dword ptr [EDX + 0xe0]
SUB EAX,EBX
SAR EAX,0x4
CMP ECX,EAX
JNC 0x000656c0
MOV EAX,ECX
SHL EAX,0x4
TEST byte ptr [EBX + EAX*0x1 + 0xb],0x40
JZ 0x000654c0
MOV EBX,dword ptr [EDI + 0x1c]
TEST EBX,EBX
JZ 0x00065615
SUB ESP,0x8
MOV EAX,dword ptr [EDX]
PUSH ECX
PUSH EDX
CALL dword ptr [EAX + 0xa8]
ADD ESP,0x10
JMP 0x000650e9
MOV EAX,dword ptr [ESP + 0x60]
MOV EAX,dword ptr [EAX + 0x34]
MOV EAX,dword ptr [EAX + 0x14]
TEST EAX,EAX
JZ 0x00065632
TEST byte ptr [EAX + 0x1c],0x1
JZ 0x00065211
MOV EDX,dword ptr [EAX + 0x68]
MOV EAX,dword ptr [EAX + 0x4]
LEA EAX,[EAX + EDX*0x4]
MOV dword ptr [ESP + 0x1c],EAX
JMP 0x00065166
MOV EDI,dword ptr [EAX + 0x84]
MOV EDX,dword ptr [EAX + 0x88]
MOV ECX,dword ptr [EAX + 0x140]
SUB EDX,EDI
SAR EDX,0x2
CMP ECX,EDX
JNC 0x0006564f
MOV EDI,dword ptr [EDI + ECX*0x4]
CMP EDI,-0x1
JZ 0x00065717
MOV EDX,dword ptr [EAX]
MOV EDX,dword ptr [EDX + 0x60]
CMP EDX,dword ptr [ESP + 0x20]
JNZ 0x00065540
MOV EDX,dword ptr [EAX + 0x38]
MOV EAX,dword ptr [EAX + 0x3c]
SUB EAX,EDX
SAR EAX,0x2
CMP ECX,EAX
JNC 0x000656dd
MOV ECX,dword ptr [EDX + ECX*0x4]
TEST byte ptr [ECX + 0x1c],0x1
JZ 0x00065211
MOV EAX,dword ptr [EBP + 0xc]
ADD EAX,dword ptr [ECX + 0x4]
ADD EAX,EDI
JMP 0x00065166
MOV EBX,dword ptr [EDI + 0x20]
JMP 0x0006540a
MOVZX EAX,byte ptr [ESI + 0x2a]
AND EAX,0x7
JZ 0x00065520
CMP AL,0x4
JZ 0x000650d2
TEST byte ptr [ESI + 0x29],0x3
JNZ 0x00065507
TEST byte ptr [ESI + 0x2b],0x10
JNZ 0x00065507
MOV EAX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x000655f9
CMP byte ptr [EAX + 0x1a25],0x0
JNZ 0x00065551
MOV EBX,dword ptr [EDI + 0x1c]
TEST EBX,EBX
JNZ 0x000650dd
CALL 0x000522c0
LEA ESI,[ESI]
NOP
MOV EAX,dword ptr [ESI + 0x8]
TEST byte ptr [EAX + 0x2c],0x1
JNZ 0x000650d2
MOV EAX,dword ptr [ESI + 0xc]
TEST EAX,EAX
JNZ 0x000654e1
TEST byte ptr [ESI + 0x2b],0x20
JZ 0x000654e1
JMP 0x000650d2
SUB ESP,0x8
PUSH ECX
PUSH EAX
CALL EDX
MOV ECX,EAX
ADD ESP,0x10
JMP 0x000654a0
ADD EAX,0x59a8
PUSH dword ptr [ESP + 0x24]
PUSH 0x0
PUSH dword ptr [ESI]
PUSH EAX
MOV EBX,dword ptr [ESP + 0x3c]
CALL 0x001dd670
ADD ESP,0x10
TEST AL,AL
JZ 0x0006557a
CMP byte ptr [ESP + 0x3f],0x0
JZ 0x000650d2
MOV EAX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x000655f9
CMP byte ptr [EAX + 0x825],0x0
JNZ 0x00065507
MOVZX EDX,byte ptr [ESI + 0x28]
AND EDX,0xf
CMP DL,0x1
JZ 0x000650d2
CMP byte ptr [EAX + 0x8a1],0x0
JZ 0x000650d2
JMP 0x00065507
CALL 0x00052750
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x30]
LEA EAX,[EBX + 0xffee0e98]
PUSH EAX
LEA EAX,[EBX + 0xffee2e84]
PUSH 0x36a
PUSH EAX
CALL 0x000da200
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x30]
LEA EAX,[EBX + 0xffee20fc]
PUSH EAX
LEA EAX,[EBX + 0xffee2f2e]
PUSH 0x1ce
PUSH EAX
CALL 0x000da200
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x30]
LEA EAX,[EBX + 0xffee23a8]
PUSH EAX
LEA EAX,[EBX + 0xffece26d]
PUSH 0x5c
PUSH EAX
CALL 0x000da200
PUSH ESI
MOV EBX,dword ptr [ESP + 0x30]
LEA EAX,[EBX + 0xffee0ea4]
PUSH EAX
LEA EAX,[EBX + 0xffee2e84]
PUSH 0x372
PUSH EAX
CALL 0x000da200
PUSH EAX
MOV EBX,dword ptr [ESP + 0x30]
LEA EAX,[EBX + 0xffee0e7c]
PUSH EAX
LEA EAX,[EBX + 0xffee2e84]
PUSH 0x3ae
PUSH EAX
CALL 0x000da200
PUSH EBX
MOV EBX,dword ptr [ESP + 0x30]
LEA EAX,[EBX + 0xffee2004]
PUSH EAX
LEA EAX,[EBX + 0xffee2e48]
PUSH 0x7f7
PUSH EAX
CALL 0x000da200
PUSH EAX
MOV EBX,dword ptr [ESP + 0x30]
LEA EAX,[EBX + 0xffee23fc]
PUSH EAX
LEA EAX,[EBX + 0xffee2e5c]
PUSH 0xcf
PUSH EAX
CALL 0x000da200
PUSH EAX
MOV EBX,dword ptr [ESP + 0x30]
LEA EAX,[EBX + 0xffee1ea8]
PUSH EAX
LEA EAX,[EBX + 0xffee2e5c]
PUSH 0x6f
PUSH EAX
CALL 0x000da200
PUSH EAX
MOV EBX,dword ptr [ESP + 0x30]
LEA EAX,[EBX + 0xffee1ec8]
PUSH EAX
LEA EAX,[EBX + 0xffee2e5c]
PUSH 0xe3
PUSH EAX
CALL 0x000da200
PUSH EDI
MOV EBX,dword ptr [ESP + 0x30]
LEA EAX,[EBX + 0xffee1bd8]
PUSH EAX
LEA EAX,[EBX + 0xffee2e48]
PUSH 0x8c1
PUSH EAX
CALL 0x000da200
PUSH EDX
MOV EBX,dword ptr [ESP + 0x30]
LEA EAX,[EBX + 0xffee2348]
PUSH EAX
LEA EAX,[EBX + 0xffee2e48]
PUSH 0x5c8
PUSH EAX
CALL 0x000da200
PUSH EAX
MOV EBX,dword ptr [ESP + 0x30]
LEA EAX,[EBX + 0xffee1eb8]
PUSH EAX
LEA EAX,[EBX + 0xffee33bc]
PUSH 0xc0
PUSH EAX
CALL 0x000da200
PUSH ECX
MOV EBX,dword ptr [ESP + 0x30]
LEA EAX,[EBX + 0xffee0dc4]
PUSH EAX
LEA EAX,[EBX + 0xffee2e84]
PUSH 0x1633
PUSH EAX
CALL 0x000da200
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_00064f30(int param_1,int param_2)\n\n{\n  byte bVar1;\n  undefined4 *puVar2;\n  int *piVar3;\n  int iVar4;\n  char cVar5;\n  void *__dest;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  int *piVar11;\n  uint uVar12;\n  uint uVar13;\n  uint *puVar14;\n  int local_40;\n  char local_1d [13];\n  \n  if ((*(int *)(param_1 + 0x44) != 0) || (*(int *)(param_1 + 0x60) != 0)) {\n    bVar1 = *(byte *)(param_1 + 0x1c);\n    if ((bVar1 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0xe3,"offset",bVar1);\n    }\n    if (*(int *)(DAT_004144e8 + 8) == 0) {\nLAB_000655b6:\n                    /* WARNING: Subroutine does not return */\n      FUN_00052750();\n    }\n    uVar12 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f);\n    if (uVar12 < 0x10) {\n      uVar12 = 0x10;\n    }\n    __dest = (void *)((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12);\n    if ((bVar1 & 2) == 0) {\nLAB_0006566c:\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);\n    }\n    uVar12 = (int)__dest - *(int *)(param_1 + 0x14);\n    uVar13 = *(uint *)(param_1 + 0xc) - uVar12;\n    if (*(uint *)(param_1 + 0x10) != (uint)(*(uint *)(param_1 + 0xc) < uVar12)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest);\n    }\n    uVar12 = (uint)CARRY4((uint)__dest,uVar13);\n    uVar13 = (uint)(*(uint *)(param_2 + 8) < (int)__dest + uVar13);\n    iVar4 = *(int *)(param_2 + 0xc) - uVar12;\n    if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)) !=\n        (int)(iVar4 - uVar13) < 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest);\n    }\n    iVar4 = *(int *)(param_2 + 0x10);\n    if ((*(int *)(param_1 + 0x44) != 0) &&\n       (piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0)) {\n      local_40 = -1;\n      do {\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\n    }\n    iVar6 = DAT_004144e8;\n    for (puVar2 = *(undefined4 **)(param_1 + 0x5c); puVar2 != (undefined4 *)0x0;\n        puVar2 = (undefined4 *)*puVar2) {\n      if (*(char *)(puVar2 + 3) == '\0') {\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }\n    }\n    if (*(char *)(param_1 + 0x88) != '\0') {\n      __dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4);\n      iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) goto LAB_0006566c;\n      memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc));\n    }\n  }\n  return;\n}\n\n" comment (function_definition "void FUN_00064f30(int param_1,int param_2)\n\n{\n  byte bVar1;\n  undefined4 *puVar2;\n  int *piVar3;\n  int iVar4;\n  char cVar5;\n  void *__dest;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  int *piVar11;\n  uint uVar12;\n  uint uVar13;\n  uint *puVar14;\n  int local_40;\n  char local_1d [13];\n  \n  if ((*(int *)(param_1 + 0x44) != 0) || (*(int *)(param_1 + 0x60) != 0)) {\n    bVar1 = *(byte *)(param_1 + 0x1c);\n    if ((bVar1 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0xe3,"offset",bVar1);\n    }\n    if (*(int *)(DAT_004144e8 + 8) == 0) {\nLAB_000655b6:\n                    /* WARNING: Subroutine does not return */\n      FUN_00052750();\n    }\n    uVar12 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f);\n    if (uVar12 < 0x10) {\n      uVar12 = 0x10;\n    }\n    __dest = (void *)((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12);\n    if ((bVar1 & 2) == 0) {\nLAB_0006566c:\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);\n    }\n    uVar12 = (int)__dest - *(int *)(param_1 + 0x14);\n    uVar13 = *(uint *)(param_1 + 0xc) - uVar12;\n    if (*(uint *)(param_1 + 0x10) != (uint)(*(uint *)(param_1 + 0xc) < uVar12)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest);\n    }\n    uVar12 = (uint)CARRY4((uint)__dest,uVar13);\n    uVar13 = (uint)(*(uint *)(param_2 + 8) < (int)__dest + uVar13);\n    iVar4 = *(int *)(param_2 + 0xc) - uVar12;\n    if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)) !=\n        (int)(iVar4 - uVar13) < 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest);\n    }\n    iVar4 = *(int *)(param_2 + 0x10);\n    if ((*(int *)(param_1 + 0x44) != 0) &&\n       (piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0)) {\n      local_40 = -1;\n      do {\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\n    }\n    iVar6 = DAT_004144e8;\n    for (puVar2 = *(undefined4 **)(param_1 + 0x5c); puVar2 != (undefined4 *)0x0;\n        puVar2 = (undefined4 *)*puVar2) {\n      if (*(char *)(puVar2 + 3) == '\0') {\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }\n    }\n    if (*(char *)(param_1 + 0x88) != '\0') {\n      __dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4);\n      iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) goto LAB_0006566c;\n      memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc));\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00064f30(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  undefined4 *puVar2;\n  int *piVar3;\n  int iVar4;\n  char cVar5;\n  void *__dest;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  int *piVar11;\n  uint uVar12;\n  uint uVar13;\n  uint *puVar14;\n  int local_40;\n  char local_1d [13];\n  \n  if ((*(int *)(param_1 + 0x44) != 0) || (*(int *)(param_1 + 0x60) != 0)) {\n    bVar1 = *(byte *)(param_1 + 0x1c);\n    if ((bVar1 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0xe3,"offset",bVar1);\n    }\n    if (*(int *)(DAT_004144e8 + 8) == 0) {\nLAB_000655b6:\n                    /* WARNING: Subroutine does not return */\n      FUN_00052750();\n    }\n    uVar12 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f);\n    if (uVar12 < 0x10) {\n      uVar12 = 0x10;\n    }\n    __dest = (void *)((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12);\n    if ((bVar1 & 2) == 0) {\nLAB_0006566c:\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);\n    }\n    uVar12 = (int)__dest - *(int *)(param_1 + 0x14);\n    uVar13 = *(uint *)(param_1 + 0xc) - uVar12;\n    if (*(uint *)(param_1 + 0x10) != (uint)(*(uint *)(param_1 + 0xc) < uVar12)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest);\n    }\n    uVar12 = (uint)CARRY4((uint)__dest,uVar13);\n    uVar13 = (uint)(*(uint *)(param_2 + 8) < (int)__dest + uVar13);\n    iVar4 = *(int *)(param_2 + 0xc) - uVar12;\n    if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)) !=\n        (int)(iVar4 - uVar13) < 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest);\n    }\n    iVar4 = *(int *)(param_2 + 0x10);\n    if ((*(int *)(param_1 + 0x44) != 0) &&\n       (piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0)) {\n      local_40 = -1;\n      do {\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\n    }\n    iVar6 = DAT_004144e8;\n    for (puVar2 = *(undefined4 **)(param_1 + 0x5c); puVar2 != (undefined4 *)0x0;\n        puVar2 = (undefined4 *)*puVar2) {\n      if (*(char *)(puVar2 + 3) == '\0') {\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }\n    }\n    if (*(char *)(param_1 + 0x88) != '\0') {\n      __dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4);\n      iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) goto LAB_0006566c;\n      memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc));\n    }\n  }\n  return;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "void *__dest;" primitive_type (pointer_declarator "*__dest" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "char local_1d [13];" primitive_type (array_declarator "local_1d [13]" identifier [ number_literal ]) ;) (if_statement "if ((*(int *)(param_1 + 0x44) != 0) || (*(int *)(param_1 + 0x60) != 0)) {\n    bVar1 = *(byte *)(param_1 + 0x1c);\n    if ((bVar1 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0xe3,"offset",bVar1);\n    }\n    if (*(int *)(DAT_004144e8 + 8) == 0) {\nLAB_000655b6:\n                    /* WARNING: Subroutine does not return */\n      FUN_00052750();\n    }\n    uVar12 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f);\n    if (uVar12 < 0x10) {\n      uVar12 = 0x10;\n    }\n    __dest = (void *)((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12);\n    if ((bVar1 & 2) == 0) {\nLAB_0006566c:\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);\n    }\n    uVar12 = (int)__dest - *(int *)(param_1 + 0x14);\n    uVar13 = *(uint *)(param_1 + 0xc) - uVar12;\n    if (*(uint *)(param_1 + 0x10) != (uint)(*(uint *)(param_1 + 0xc) < uVar12)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest);\n    }\n    uVar12 = (uint)CARRY4((uint)__dest,uVar13);\n    uVar13 = (uint)(*(uint *)(param_2 + 8) < (int)__dest + uVar13);\n    iVar4 = *(int *)(param_2 + 0xc) - uVar12;\n    if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)) !=\n        (int)(iVar4 - uVar13) < 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest);\n    }\n    iVar4 = *(int *)(param_2 + 0x10);\n    if ((*(int *)(param_1 + 0x44) != 0) &&\n       (piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0)) {\n      local_40 = -1;\n      do {\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\n    }\n    iVar6 = DAT_004144e8;\n    for (puVar2 = *(undefined4 **)(param_1 + 0x5c); puVar2 != (undefined4 *)0x0;\n        puVar2 = (undefined4 *)*puVar2) {\n      if (*(char *)(puVar2 + 3) == '\0') {\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }\n    }\n    if (*(char *)(param_1 + 0x88) != '\0') {\n      __dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4);\n      iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) goto LAB_0006566c;\n      memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc));\n    }\n  }" if (parenthesized_expression "((*(int *)(param_1 + 0x44) != 0) || (*(int *)(param_1 + 0x60) != 0))" ( (binary_expression "(*(int *)(param_1 + 0x44) != 0) || (*(int *)(param_1 + 0x60) != 0)" (parenthesized_expression "(*(int *)(param_1 + 0x44) != 0)" ( (binary_expression "*(int *)(param_1 + 0x44) != 0" (pointer_expression "*(int *)(param_1 + 0x44)" * (cast_expression "(int *)(param_1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) != number_literal) )) || (parenthesized_expression "(*(int *)(param_1 + 0x60) != 0)" ( (binary_expression "*(int *)(param_1 + 0x60) != 0" (pointer_expression "*(int *)(param_1 + 0x60)" * (cast_expression "(int *)(param_1 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n    bVar1 = *(byte *)(param_1 + 0x1c);\n    if ((bVar1 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0xe3,"offset",bVar1);\n    }\n    if (*(int *)(DAT_004144e8 + 8) == 0) {\nLAB_000655b6:\n                    /* WARNING: Subroutine does not return */\n      FUN_00052750();\n    }\n    uVar12 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f);\n    if (uVar12 < 0x10) {\n      uVar12 = 0x10;\n    }\n    __dest = (void *)((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12);\n    if ((bVar1 & 2) == 0) {\nLAB_0006566c:\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);\n    }\n    uVar12 = (int)__dest - *(int *)(param_1 + 0x14);\n    uVar13 = *(uint *)(param_1 + 0xc) - uVar12;\n    if (*(uint *)(param_1 + 0x10) != (uint)(*(uint *)(param_1 + 0xc) < uVar12)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest);\n    }\n    uVar12 = (uint)CARRY4((uint)__dest,uVar13);\n    uVar13 = (uint)(*(uint *)(param_2 + 8) < (int)__dest + uVar13);\n    iVar4 = *(int *)(param_2 + 0xc) - uVar12;\n    if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)) !=\n        (int)(iVar4 - uVar13) < 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest);\n    }\n    iVar4 = *(int *)(param_2 + 0x10);\n    if ((*(int *)(param_1 + 0x44) != 0) &&\n       (piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0)) {\n      local_40 = -1;\n      do {\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\n    }\n    iVar6 = DAT_004144e8;\n    for (puVar2 = *(undefined4 **)(param_1 + 0x5c); puVar2 != (undefined4 *)0x0;\n        puVar2 = (undefined4 *)*puVar2) {\n      if (*(char *)(puVar2 + 3) == '\0') {\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }\n    }\n    if (*(char *)(param_1 + 0x88) != '\0') {\n      __dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4);\n      iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) goto LAB_0006566c;\n      memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc));\n    }\n  }" { (expression_statement "bVar1 = *(byte *)(param_1 + 0x1c);" (assignment_expression "bVar1 = *(byte *)(param_1 + 0x1c)" identifier = (pointer_expression "*(byte *)(param_1 + 0x1c)" * (cast_expression "(byte *)(param_1 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if ((bVar1 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0xe3,"offset",bVar1);\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_000da200("../../gold/output.h",0xe3,"offset",bVar1);\n    }" { comment (expression_statement "FUN_000da200("../../gold/output.h",0xe3,"offset",bVar1);" (call_expression "FUN_000da200("../../gold/output.h",0xe3,"offset",bVar1)" identifier (argument_list "("../../gold/output.h",0xe3,"offset",bVar1)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") , identifier ))) ;) })) (if_statement "if (*(int *)(DAT_004144e8 + 8) == 0) {\nLAB_000655b6:\n                    /* WARNING: Subroutine does not return */\n      FUN_00052750();\n    }" if (parenthesized_expression "(*(int *)(DAT_004144e8 + 8) == 0)" ( (binary_expression "*(int *)(DAT_004144e8 + 8) == 0" (pointer_expression "*(int *)(DAT_004144e8 + 8)" * (cast_expression "(int *)(DAT_004144e8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_004144e8 + 8)" ( (binary_expression "DAT_004144e8 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_000655b6:\n                    /* WARNING: Subroutine does not return */\n      FUN_00052750();\n    }" { (labeled_statement "LAB_000655b6:\n                    /* WARNING: Subroutine does not return */\n      FUN_00052750();" statement_identifier : comment (expression_statement "FUN_00052750();" (call_expression "FUN_00052750()" identifier (argument_list "()" ( ))) ;)) })) (expression_statement "uVar12 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f);" (assignment_expression "uVar12 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f)" identifier = (binary_expression "1 << ((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f)" number_literal << (parenthesized_expression "((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f)" ( (binary_expression "(byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f" (binary_expression "(byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_004144e8 + 8) + 0x2b20)" ( (binary_expression "*(int *)(DAT_004144e8 + 8) + 0x2b20" (pointer_expression "*(int *)(DAT_004144e8 + 8)" * (cast_expression "(int *)(DAT_004144e8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_004144e8 + 8)" ( (binary_expression "DAT_004144e8 + 8" identifier + number_literal) )))) + number_literal) )))) & number_literal) )))) ;) (if_statement "if (uVar12 < 0x10) {\n      uVar12 = 0x10;\n    }" if (parenthesized_expression "(uVar12 < 0x10)" ( (binary_expression "uVar12 < 0x10" identifier < number_literal) )) (compound_statement "{\n      uVar12 = 0x10;\n    }" { (expression_statement "uVar12 = 0x10;" (assignment_expression "uVar12 = 0x10" identifier = number_literal) ;) })) (expression_statement "__dest = (void *)((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12);" (assignment_expression "__dest = (void *)((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12)" identifier = (cast_expression "(void *)((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12)" ( (binary_expression "(uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12" (binary_expression "(uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14)" (binary_expression "(uVar12 - 1) + *(int *)(param_1 + 0x70)" (parenthesized_expression "(uVar12 - 1)" ( (binary_expression "uVar12 - 1" identifier - number_literal) )) + (pointer_expression "*(int *)(param_1 + 0x70)" * (cast_expression "(int *)(param_1 + 0x70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) ))))) + (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) & (unary_expression "-uVar12" - identifier)) )))) ;) (if_statement "if ((bVar1 & 2) == 0) {\nLAB_0006566c:\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);\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 "{\nLAB_0006566c:\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);\n    }" { (labeled_statement "LAB_0006566c:\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);" statement_identifier : comment (expression_statement "FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);" (call_expression "FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest)" identifier (argument_list "("../../gold/output.h",0xcf,"data_size",__dest)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") , identifier ))) ;)) })) (expression_statement "uVar12 = (int)__dest - *(int *)(param_1 + 0x14);" (assignment_expression "uVar12 = (int)__dest - *(int *)(param_1 + 0x14)" identifier = (binary_expression "(int)__dest - *(int *)(param_1 + 0x14)" (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))))) ;) (expression_statement "uVar13 = *(uint *)(param_1 + 0xc) - uVar12;" (assignment_expression "uVar13 = *(uint *)(param_1 + 0xc) - uVar12" identifier = (binary_expression "*(uint *)(param_1 + 0xc) - uVar12" (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) - identifier)) ;) (if_statement "if (*(uint *)(param_1 + 0x10) != (uint)(*(uint *)(param_1 + 0xc) < uVar12)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest);\n    }" if (parenthesized_expression "(*(uint *)(param_1 + 0x10) != (uint)(*(uint *)(param_1 + 0xc) < uVar12))" ( (binary_expression "*(uint *)(param_1 + 0x10) != (uint)(*(uint *)(param_1 + 0xc) < uVar12)" (pointer_expression "*(uint *)(param_1 + 0x10)" * (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) != (call_expression "(uint)(*(uint *)(param_1 + 0xc) < uVar12)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_1 + 0xc) < uVar12)" ( (binary_expression "*(uint *)(param_1 + 0xc) < uVar12" (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) < identifier) )))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest);\n    }" { comment (expression_statement "FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest);" (call_expression "FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest)" identifier (argument_list "("../../gold/gold.h",0xc0,"convert_types",__dest)" ( (string_literal ""../../gold/gold.h"" " string_content ") , number_literal , (string_literal ""convert_types"" " string_content ") , identifier ))) ;) })) (expression_statement "uVar12 = (uint)CARRY4((uint)__dest,uVar13);" (assignment_expression "uVar12 = (uint)CARRY4((uint)__dest,uVar13)" identifier = (cast_expression "(uint)CARRY4((uint)__dest,uVar13)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)__dest,uVar13)" identifier (argument_list "((uint)__dest,uVar13)" ( (cast_expression "(uint)__dest" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier ))))) ;) (expression_statement "uVar13 = (uint)(*(uint *)(param_2 + 8) < (int)__dest + uVar13);" (assignment_expression "uVar13 = (uint)(*(uint *)(param_2 + 8) < (int)__dest + uVar13)" identifier = (call_expression "(uint)(*(uint *)(param_2 + 8) < (int)__dest + uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_2 + 8) < (int)__dest + uVar13)" ( (binary_expression "*(uint *)(param_2 + 8) < (int)__dest + uVar13" (pointer_expression "*(uint *)(param_2 + 8)" * (cast_expression "(uint *)(param_2 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) )))) < (binary_expression "(int)__dest + uVar13" (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) )))) ;) (expression_statement "iVar4 = *(int *)(param_2 + 0xc) - uVar12;" (assignment_expression "iVar4 = *(int *)(param_2 + 0xc) - uVar12" identifier = (binary_expression "*(int *)(param_2 + 0xc) - uVar12" (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) - identifier)) ;) (if_statement "if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)) !=\n        (int)(iVar4 - uVar13) < 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest);\n    }" if (parenthesized_expression "((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)) !=\n        (int)(iVar4 - uVar13) < 0)" ( (binary_expression "(SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)) !=\n        (int)(iVar4 - uVar13) < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13))" ( (binary_expression "SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)" (call_expression "SBORROW4(*(int *)(param_2 + 0xc),uVar12)" identifier (argument_list "(*(int *)(param_2 + 0xc),uVar12)" ( (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) , identifier ))) != (call_expression "SBORROW4(iVar4,uVar13)" identifier (argument_list "(iVar4,uVar13)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar4 - uVar13) < 0" (cast_expression "(int)(iVar4 - uVar13)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar4 - uVar13)" ( (binary_expression "iVar4 - uVar13" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest);\n    }" { comment (expression_statement "FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest);" (call_expression "FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest)" identifier (argument_list "("../../gold/output.h",0x6f,"get_output_view",__dest)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""get_output_view"" " string_content ") , identifier ))) ;) })) (expression_statement "iVar4 = *(int *)(param_2 + 0x10);" (assignment_expression "iVar4 = *(int *)(param_2 + 0x10)" identifier = (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if ((*(int *)(param_1 + 0x44) != 0) &&\n       (piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0)) {\n      local_40 = -1;\n      do {\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\n    }" if (parenthesized_expression "((*(int *)(param_1 + 0x44) != 0) &&\n       (piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0))" ( (binary_expression "(*(int *)(param_1 + 0x44) != 0) &&\n       (piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0)" (parenthesized_expression "(*(int *)(param_1 + 0x44) != 0)" ( (binary_expression "*(int *)(param_1 + 0x44) != 0" (pointer_expression "*(int *)(param_1 + 0x44)" * (cast_expression "(int *)(param_1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0)" ( (comma_expression "piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0" (assignment_expression "piVar11 = *(int **)(param_1 + 0x40)" identifier = (pointer_expression "*(int **)(param_1 + 0x40)" * (cast_expression "(int **)(param_1 + 0x40)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) ))))) , (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      local_40 = -1;\n      do {\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\n    }" { (expression_statement "local_40 = -1;" (assignment_expression "local_40 = -1" identifier = number_literal) ;) (do_statement "do {\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);" do (compound_statement "{\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      }" { (expression_statement "puVar2 = (undefined4 *)piVar11[1];" (assignment_expression "puVar2 = (undefined4 *)piVar11[1]" identifier = (cast_expression "(undefined4 *)piVar11[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar6 = *(int *)(param_1 + 0x34);" (assignment_expression "iVar6 = *(int *)(param_1 + 0x34)" identifier = (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) (if_statement "if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }" if (parenthesized_expression "(puVar2 == (undefined4 *)0x0)" ( (binary_expression "puVar2 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }" { (expression_statement "piVar3 = (int *)piVar11[2];" (assignment_expression "piVar3 = (int *)piVar11[2]" identifier = (cast_expression "(int *)piVar11[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[2]" identifier [ number_literal ]))) ;) (expression_statement "uVar12 = piVar11[4];" (assignment_expression "uVar12 = piVar11[4]" identifier = (subscript_expression "piVar11[4]" identifier [ number_literal ])) ;) (if_statement "if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }" if (parenthesized_expression "((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12)" ( (binary_expression "(uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12" (call_expression "(uint)(piVar3[0x38] - piVar3[0x37] >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar3[0x38] - piVar3[0x37] >> 4)" ( (binary_expression "piVar3[0x38] - piVar3[0x37] >> 4" (binary_expression "piVar3[0x38] - piVar3[0x37]" (subscript_expression "piVar3[0x38]" identifier [ number_literal ]) - (subscript_expression "piVar3[0x37]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }" { comment (expression_statement "FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);" (call_expression "FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6)" identifier (argument_list "("../../gold/object.h",0x8c1,"local_symbol",iVar6)" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""local_symbol"" " string_content ") , identifier ))) ;) })) (if_statement "if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }" if (parenthesized_expression "((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0)" ( (binary_expression "(*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0" (parenthesized_expression "(*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40)" ( (binary_expression "*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40" (pointer_expression "*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10)" * (cast_expression "(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3[0x37] + 0xb + uVar12 * 0x10)" ( (binary_expression "piVar3[0x37] + 0xb + uVar12 * 0x10" (binary_expression "piVar3[0x37] + 0xb" (subscript_expression "piVar3[0x37]" identifier [ number_literal ]) + number_literal) + (binary_expression "uVar12 * 0x10" identifier * number_literal)) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }" { (expression_statement "iVar7 = *(int *)(iVar6 + 0x20);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x20)" identifier = (pointer_expression "*(int *)(iVar6 + 0x20)" * (cast_expression "(int *)(iVar6 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" identifier + number_literal) ))))) ;) }) (else_clause "else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }" else (compound_statement "{\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }" { (expression_statement "iVar7 = *(int *)(iVar6 + 0x1c);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar6 + 0x1c)" * (cast_expression "(int *)(iVar6 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }" { comment (expression_statement "FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);" (call_expression "FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0)" identifier (argument_list "("../../gold/powerpc.cc",0x372,"iplt_section",0)" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""iplt_section"" " string_content ") , number_literal ))) ;) })) }))) (expression_statement "iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);" (assignment_expression "iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12)" identifier = (call_expression "(**(code **)(*piVar3 + 0xa8))(piVar3,uVar12)" (parenthesized_expression "(**(code **)(*piVar3 + 0xa8))" ( (pointer_expression "**(code **)(*piVar3 + 0xa8)" * (pointer_expression "*(code **)(*piVar3 + 0xa8)" * (cast_expression "(code **)(*piVar3 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0xa8)" ( (binary_expression "*piVar3 + 0xa8" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) )) (argument_list "(piVar3,uVar12)" ( identifier , identifier )))) ;) }) (else_clause "else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }" else (compound_statement "{\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }" { (if_statement "if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }" if (parenthesized_expression "((*(byte *)(puVar2 + 10) & 0xf) == 10)" ( (binary_expression "(*(byte *)(puVar2 + 10) & 0xf) == 10" (parenthesized_expression "(*(byte *)(puVar2 + 10) & 0xf)" ( (binary_expression "*(byte *)(puVar2 + 10) & 0xf" (pointer_expression "*(byte *)(puVar2 + 10)" * (cast_expression "(byte *)(puVar2 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 10)" ( (binary_expression "puVar2 + 10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }" { (if_statement "if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;" if (parenthesized_expression "((*(byte *)((int)puVar2 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)puVar2 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)puVar2 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)puVar2 + 0x2a) & 7" (pointer_expression "*(byte *)((int)puVar2 + 0x2a)" * (cast_expression "(byte *)((int)puVar2 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar2 + 0x2a)" ( (binary_expression "(int)puVar2 + 0x2a" (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00065520;" goto statement_identifier ;)) (if_statement "if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }" if (parenthesized_expression "((*(byte *)((int)puVar2 + 0x2a) & 7) != 4)" ( (binary_expression "(*(byte *)((int)puVar2 + 0x2a) & 7) != 4" (parenthesized_expression "(*(byte *)((int)puVar2 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)puVar2 + 0x2a) & 7" (pointer_expression "*(byte *)((int)puVar2 + 0x2a)" * (cast_expression "(byte *)((int)puVar2 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar2 + 0x2a)" ( (binary_expression "(int)puVar2 + 0x2a" (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }" { (do_statement "do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );" do (compound_statement "{\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              }" { (if_statement "if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }" if (parenthesized_expression "(((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0))" ( (binary_expression "((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)" (parenthesized_expression "((*(byte *)((int)puVar2 + 0x29) & 3) == 0)" ( (binary_expression "(*(byte *)((int)puVar2 + 0x29) & 3) == 0" (parenthesized_expression "(*(byte *)((int)puVar2 + 0x29) & 3)" ( (binary_expression "*(byte *)((int)puVar2 + 0x29) & 3" (pointer_expression "*(byte *)((int)puVar2 + 0x29)" * (cast_expression "(byte *)((int)puVar2 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar2 + 0x29)" ( (binary_expression "(int)puVar2 + 0x29" (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)" ( (binary_expression "(*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)puVar2 + 0x2b) & 0x10)" ( (binary_expression "*(byte *)((int)puVar2 + 0x2b) & 0x10" (pointer_expression "*(byte *)((int)puVar2 + 0x2b)" * (cast_expression "(byte *)((int)puVar2 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar2 + 0x2b)" ( (binary_expression "(int)puVar2 + 0x2b" (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }" { (expression_statement "iVar7 = *(int *)(DAT_004144e8 + 8);" (assignment_expression "iVar7 = *(int *)(DAT_004144e8 + 8)" identifier = (pointer_expression "*(int *)(DAT_004144e8 + 8)" * (cast_expression "(int *)(DAT_004144e8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_004144e8 + 8)" ( (binary_expression "DAT_004144e8 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar7 == 0) goto LAB_000655f9;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000655f9;" goto statement_identifier ;)) (if_statement "if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }" if (parenthesized_expression "(*(char *)(iVar7 + 0x1a25) != '\0')" ( (binary_expression "*(char *)(iVar7 + 0x1a25) != '\0'" (pointer_expression "*(char *)(iVar7 + 0x1a25)" * (cast_expression "(char *)(iVar7 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1a25)" ( (binary_expression "iVar7 + 0x1a25" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }" { (expression_statement "cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);" (assignment_expression "cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d)" identifier = (call_expression "FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d)" identifier (argument_list "(iVar7 + 0x59a8,*puVar2,0,local_1d)" ( (binary_expression "iVar7 + 0x59a8" identifier + number_literal) , (pointer_expression "*puVar2" * identifier) , number_literal , identifier )))) ;) (if_statement "if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;" if (parenthesized_expression "((cVar5 != '\0') && (local_1d[0] == '\0'))" ( (binary_expression "(cVar5 != '\0') && (local_1d[0] == '\0')" (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(local_1d[0] == '\0')" ( (binary_expression "local_1d[0] == '\0'" (subscript_expression "local_1d[0]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = *(int *)(DAT_004144e8 + 8);" (assignment_expression "iVar7 = *(int *)(DAT_004144e8 + 8)" identifier = (pointer_expression "*(int *)(DAT_004144e8 + 8)" * (cast_expression "(int *)(DAT_004144e8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_004144e8 + 8)" ( (binary_expression "DAT_004144e8 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar7 == 0) goto LAB_000655f9;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000655f9;" goto statement_identifier ;)) (if_statement "if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;" if (parenthesized_expression "((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       )" ( (binary_expression "(*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))" (parenthesized_expression "(*(char *)(iVar7 + 0x825) == '\0')" ( (binary_expression "*(char *)(iVar7 + 0x825) == '\0'" (pointer_expression "*(char *)(iVar7 + 0x825)" * (cast_expression "(char *)(iVar7 + 0x825)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x825)" ( (binary_expression "iVar7 + 0x825" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))" ( (parenthesized_expression "((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0'))" ( (binary_expression "(*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')" (binary_expression "(*(byte *)(puVar2 + 10) & 0xf) == 1" (parenthesized_expression "(*(byte *)(puVar2 + 10) & 0xf)" ( (binary_expression "*(byte *)(puVar2 + 10) & 0xf" (pointer_expression "*(byte *)(puVar2 + 10)" * (cast_expression "(byte *)(puVar2 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 10)" ( (binary_expression "puVar2 + 10" identifier + number_literal) )))) & number_literal) )) == number_literal) || (parenthesized_expression "(*(char *)(iVar7 + 0x8a1) == '\0')" ( (binary_expression "*(char *)(iVar7 + 0x8a1) == '\0'" (pointer_expression "*(char *)(iVar7 + 0x8a1)" * (cast_expression "(char *)(iVar7 + 0x8a1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x8a1)" ( (binary_expression "iVar7 + 0x8a1" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (break_statement "break;" break ;)) })) })) (expression_statement "iVar7 = *(int *)(iVar6 + 0x1c);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar6 + 0x1c)" * (cast_expression "(int *)(iVar6 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar7 != 0) goto LAB_000650dd;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000650dd;" goto statement_identifier ;)) (expression_statement "FUN_000522c0();" (call_expression "FUN_000522c0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;" statement_identifier : (if_statement "if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;" if (parenthesized_expression "(((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0))))" ( (binary_expression "((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))" (parenthesized_expression "((*(byte *)(puVar2[2] + 0x2c) & 1) != 0)" ( (binary_expression "(*(byte *)(puVar2[2] + 0x2c) & 1) != 0" (parenthesized_expression "(*(byte *)(puVar2[2] + 0x2c) & 1)" ( (binary_expression "*(byte *)(puVar2[2] + 0x2c) & 1" (pointer_expression "*(byte *)(puVar2[2] + 0x2c)" * (cast_expression "(byte *)(puVar2[2] + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2[2] + 0x2c)" ( (binary_expression "puVar2[2] + 0x2c" (subscript_expression "puVar2[2]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))" ( (parenthesized_expression "(puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0))" ( (binary_expression "puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)" (binary_expression "puVar2[3] == 0" (subscript_expression "puVar2[3]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)puVar2 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)puVar2 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)puVar2 + 0x2b)" * (cast_expression "(byte *)((int)puVar2 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar2 + 0x2b)" ( (binary_expression "(int)puVar2 + 0x2b" (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) ))) )) (break_statement "break;" break ;))) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (expression_statement "iVar7 = *(int *)(iVar6 + 0x18);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x18)" identifier = (pointer_expression "*(int *)(iVar6 + 0x18)" * (cast_expression "(int *)(iVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }" { comment (expression_statement "FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");" (call_expression "FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section")" identifier (argument_list "("../../gold/powerpc.cc",0x36a,"plt_section")" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""plt_section"" " string_content ") ))) ;) })) (labeled_statement "LAB_000650dd:\n          iVar6 = puVar2[6];" statement_identifier : (expression_statement "iVar6 = puVar2[6];" (assignment_expression "iVar6 = puVar2[6]" identifier = (subscript_expression "puVar2[6]" identifier [ number_literal ])) ;)) (if_statement "if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }" if (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }" { comment (expression_statement "FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");" (call_expression "FUN_000da200("../../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 ") ))) ;) })) }))) (if_statement "if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;" if (parenthesized_expression "((*(byte *)(iVar7 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar7 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar7 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar7 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar7 + 0x1c)" * (cast_expression "(byte *)(iVar7 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00065211;" goto statement_identifier ;)) (expression_statement "uVar12 = iVar6 + *(int *)(iVar7 + 4);" (assignment_expression "uVar12 = iVar6 + *(int *)(iVar7 + 4)" identifier = (binary_expression "iVar6 + *(int *)(iVar7 + 4)" identifier + (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))))) ;) (expression_statement "puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);" (assignment_expression "puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4)" identifier = (cast_expression "(uint *)((int)__dest + piVar11[5] + iVar4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__dest + piVar11[5] + iVar4)" ( (binary_expression "(int)__dest + piVar11[5] + iVar4" (binary_expression "(int)__dest + piVar11[5]" (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier) + (subscript_expression "piVar11[5]" identifier [ number_literal ])) + identifier) )))) ;) (expression_statement "iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);" (assignment_expression "iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4)" identifier = (pointer_expression "*(int *)(*(int *)(param_1 + 0x34) + 0xb4)" * (cast_expression "(int *)(*(int *)(param_1 + 0x34) + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0xb4)" ( (binary_expression "*(int *)(param_1 + 0x34) + 0xb4" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "puVar14 = puVar10;" (assignment_expression "puVar14 = puVar10" identifier = identifier) ;) (if_statement "if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }" if (parenthesized_expression "((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6))))" ( (binary_expression "(iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))" (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) && (parenthesized_expression "((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))" ( (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6))" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)" (binary_expression "*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1]" (pointer_expression "*(int *)(*(int *)(param_1 + 0x34) + 0xb0)" * (cast_expression "(int *)(*(int *)(param_1 + 0x34) + 0xb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0xb0)" ( (binary_expression "*(int *)(param_1 + 0x34) + 0xb0" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) )))) == (subscript_expression "piVar11[1]" identifier [ number_literal ])) || (parenthesized_expression "(piVar11[1] == iVar6)" ( (binary_expression "piVar11[1] == iVar6" (subscript_expression "piVar11[1]" identifier [ number_literal ]) == identifier) ))) )) ))) )) (compound_statement "{\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }" { (expression_statement "*puVar10 = 0x6381;" (assignment_expression "*puVar10 = 0x6381" (pointer_expression "*puVar10" * identifier) = number_literal) ;) (expression_statement "puVar14 = puVar10 + 8;" (assignment_expression "puVar14 = puVar10 + 8" identifier = (binary_expression "puVar10 + 8" identifier + number_literal)) ;) (expression_statement "puVar10[1] = 0x4008381;" (assignment_expression "puVar10[1] = 0x4008381" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[2] = 0x781b607c;" (assignment_expression "puVar10[2] = 0x781b607c" (subscript_expression "puVar10[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[3] = 0xb2c;" (assignment_expression "puVar10[3] = 0xb2c" (subscript_expression "puVar10[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[4] = 0x14126c7c;" (assignment_expression "puVar10[4] = 0x14126c7c" (subscript_expression "puVar10[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[5] = 0x2000824d;" (assignment_expression "puVar10[5] = 0x2000824d" (subscript_expression "puVar10[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[6] = 0x7803037c;" (assignment_expression "puVar10[6] = 0x7803037c" (subscript_expression "puVar10[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[7] = 0x60;" (assignment_expression "puVar10[7] = 0x60" (subscript_expression "puVar10[7]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "iVar6 = *(int *)(DAT_004144e8 + 8);" (assignment_expression "iVar6 = *(int *)(DAT_004144e8 + 8)" identifier = (pointer_expression "*(int *)(DAT_004144e8 + 8)" * (cast_expression "(int *)(DAT_004144e8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_004144e8 + 8)" ( (binary_expression "DAT_004144e8 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar6 == 0) {\nLAB_000655f9:\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000655f9:\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }" { (labeled_statement "LAB_000655f9:\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/parameters.h",0x5c,"options");" statement_identifier : comment (expression_statement "FUN_000da200("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_000da200("../../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 *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }" if (parenthesized_expression "((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0'))" ( (binary_expression "(*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')" (parenthesized_expression "(*(char *)(iVar6 + 0x1a25) == '\0')" ( (binary_expression "*(char *)(iVar6 + 0x1a25) == '\0'" (pointer_expression "*(char *)(iVar6 + 0x1a25)" * (cast_expression "(char *)(iVar6 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1a25)" ( (binary_expression "iVar6 + 0x1a25" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(iVar6 + 0x2931) == '\0')" ( (binary_expression "*(char *)(iVar6 + 0x2931) == '\0'" (pointer_expression "*(char *)(iVar6 + 0x2931)" * (cast_expression "(char *)(iVar6 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x2931)" ( (binary_expression "iVar6 + 0x2931" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }" { (expression_statement "puVar10 = puVar14 + 1;" (assignment_expression "puVar10 = puVar14 + 1" identifier = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) (expression_statement "uVar13 = uVar12 + 0x8000 >> 0x10;" (assignment_expression "uVar13 = uVar12 + 0x8000 >> 0x10" identifier = (binary_expression "uVar12 + 0x8000 >> 0x10" (binary_expression "uVar12 + 0x8000" identifier + number_literal) >> number_literal)) ;) (expression_statement "uVar9 = (uVar12 & 0xffff) + 0x816b0000;" (assignment_expression "uVar9 = (uVar12 & 0xffff) + 0x816b0000" identifier = (binary_expression "(uVar12 & 0xffff) + 0x816b0000" (parenthesized_expression "(uVar12 & 0xffff)" ( (binary_expression "uVar12 & 0xffff" identifier & number_literal) )) + number_literal)) ;) (expression_statement "uVar8 = uVar13 + 0x3d600000;" (assignment_expression "uVar8 = uVar13 + 0x3d600000" identifier = (binary_expression "uVar13 + 0x3d600000" identifier + number_literal)) ;) (expression_statement "puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;" (assignment_expression "puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18" (subscript_expression "puVar14[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 "*puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;" (assignment_expression "*puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18" (pointer_expression "*puVar14" * identifier) = (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8" (binary_expression "uVar8 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar8 & 0xff0000) >> 8" (parenthesized_expression "(uVar8 & 0xff0000)" ( (binary_expression "uVar8 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff00) << 8" (parenthesized_expression "(uVar8 & 0xff00)" ( (binary_expression "uVar8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar13 << 0x18" identifier << number_literal))) ;) }) (else_clause "else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }" else (compound_statement "{\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }" { (expression_statement "piVar3 = (int *)piVar11[2];" (assignment_expression "piVar3 = (int *)piVar11[2]" identifier = (cast_expression "(int *)piVar11[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[2]" identifier [ number_literal ]))) ;) (if_statement "if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }" if (parenthesized_expression "((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000))" ( (binary_expression "(piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)" (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((uint)piVar11[3] < 0x8000)" ( (binary_expression "(uint)piVar11[3] < 0x8000" (cast_expression "(uint)piVar11[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar11[3]" identifier [ number_literal ])) < number_literal) ))) )) (compound_statement "{\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }" { (expression_statement "iVar6 = local_40;" (assignment_expression "iVar6 = local_40" identifier = identifier) ;) (if_statement "if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }" if (parenthesized_expression "(local_40 == -1)" ( (binary_expression "local_40 == -1" identifier == number_literal) )) (compound_statement "{\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }" { (expression_statement "iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);" (assignment_expression "iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14)" identifier = (pointer_expression "*(int *)(*(int *)(param_1 + 0x34) + 0x14)" * (cast_expression "(int *)(*(int *)(param_1 + 0x34) + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0x14)" ( (binary_expression "*(int *)(param_1 + 0x34) + 0x14" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (iVar6 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }" { comment (expression_statement "FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);" (call_expression "FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0)" identifier (argument_list "("../../gold/powerpc.cc",0x3ae,"got_section",0)" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""got_section"" " string_content ") , number_literal ))) ;) })) (if_statement "if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;" if (parenthesized_expression "((*(byte *)(iVar6 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar6 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar6 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar6 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar6 + 0x1c)" * (cast_expression "(byte *)(iVar6 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00065211;" goto statement_identifier ;)) (expression_statement "iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;" (assignment_expression "iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4" identifier = (binary_expression "*(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4" (pointer_expression "*(int *)(iVar6 + 4)" * (cast_expression "(int *)(iVar6 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 4)" ( (binary_expression "iVar6 + 4" identifier + number_literal) )))) + (binary_expression "*(int *)(iVar6 + 0x68) * 4" (pointer_expression "*(int *)(iVar6 + 0x68)" * (cast_expression "(int *)(iVar6 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x68)" ( (binary_expression "iVar6 + 0x68" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "local_40 = iVar6;" (assignment_expression "local_40 = iVar6" identifier = identifier) ;) })) }) (else_clause "else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }" else (compound_statement "{\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }" { (expression_statement "uVar13 = piVar3[0x50];" (assignment_expression "uVar13 = piVar3[0x50]" identifier = (subscript_expression "piVar3[0x50]" identifier [ number_literal ])) ;) (if_statement "if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }" if (parenthesized_expression "((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13)" ( (binary_expression "(uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13" (call_expression "(uint)(piVar3[0x22] - piVar3[0x21] >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar3[0x22] - piVar3[0x21] >> 2)" ( (binary_expression "piVar3[0x22] - piVar3[0x21] >> 2" (binary_expression "piVar3[0x22] - piVar3[0x21]" (subscript_expression "piVar3[0x22]" identifier [ number_literal ]) - (subscript_expression "piVar3[0x21]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }" { comment (expression_statement "FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);" (call_expression "FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14)" identifier (argument_list "("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14)" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""get_output_section_offset"" " string_content ") , identifier ))) ;) })) (expression_statement "iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);" (assignment_expression "iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4)" identifier = (pointer_expression "*(int *)(piVar3[0x21] + uVar13 * 4)" * (cast_expression "(int *)(piVar3[0x21] + uVar13 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3[0x21] + uVar13 * 4)" ( (binary_expression "piVar3[0x21] + uVar13 * 4" (subscript_expression "piVar3[0x21]" identifier [ number_literal ]) + (binary_expression "uVar13 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar6 == -1) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }" if (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }" { comment (expression_statement "FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);" (call_expression "FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13)" identifier (argument_list "("../../gold/powerpc.cc",0x1633,"do_write",uVar13)" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") , identifier ))) ;) })) (if_statement "if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }" if (parenthesized_expression "(*(code **)(*piVar3 + 0x60) == FUN_000a5850)" ( (binary_expression "*(code **)(*piVar3 + 0x60) == FUN_000a5850" (pointer_expression "*(code **)(*piVar3 + 0x60)" * (cast_expression "(code **)(*piVar3 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0x60)" ( (binary_expression "*piVar3 + 0x60" (pointer_expression "*piVar3" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }" { (expression_statement "iVar7 = piVar3[0xe];" (assignment_expression "iVar7 = piVar3[0xe]" identifier = (subscript_expression "piVar3[0xe]" identifier [ number_literal ])) ;) (if_statement "if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }" if (parenthesized_expression "((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13)" ( (binary_expression "(uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13" (call_expression "(uint)(piVar3[0xf] - iVar7 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar3[0xf] - iVar7 >> 2)" ( (binary_expression "piVar3[0xf] - iVar7 >> 2" (binary_expression "piVar3[0xf] - iVar7" (subscript_expression "piVar3[0xf]" identifier [ number_literal ]) - identifier) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }" { comment (expression_statement "FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);" (call_expression "FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7)" identifier (argument_list "("../../gold/object.h",0x5c8,"do_output_section",iVar7)" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""do_output_section"" " string_content ") , identifier ))) ;) })) (expression_statement "iVar7 = *(int *)(iVar7 + uVar13 * 4);" (assignment_expression "iVar7 = *(int *)(iVar7 + uVar13 * 4)" identifier = (pointer_expression "*(int *)(iVar7 + uVar13 * 4)" * (cast_expression "(int *)(iVar7 + uVar13 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + uVar13 * 4)" ( (binary_expression "iVar7 + uVar13 * 4" identifier + (binary_expression "uVar13 * 4" identifier * number_literal)) ))))) ;) }) (else_clause "else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }" else (compound_statement "{\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }" { (expression_statement "iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);" (assignment_expression "iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13)" identifier = (call_expression "(**(code **)(*piVar3 + 0x60))(piVar3,uVar13)" (parenthesized_expression "(**(code **)(*piVar3 + 0x60))" ( (pointer_expression "**(code **)(*piVar3 + 0x60)" * (pointer_expression "*(code **)(*piVar3 + 0x60)" * (cast_expression "(code **)(*piVar3 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0x60)" ( (binary_expression "*piVar3 + 0x60" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) )) (argument_list "(piVar3,uVar13)" ( identifier , identifier )))) ;) }))) (if_statement "if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;" if (parenthesized_expression "((*(byte *)(iVar7 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar7 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar7 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar7 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar7 + 0x1c)" * (cast_expression "(byte *)(iVar7 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00065211;" goto statement_identifier ;)) (expression_statement "iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;" (assignment_expression "iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6" identifier = (binary_expression "piVar11[3] + *(int *)(iVar7 + 4) + iVar6" (binary_expression "piVar11[3] + *(int *)(iVar7 + 4)" (subscript_expression "piVar11[3]" identifier [ number_literal ]) + (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) ))))) + identifier)) ;) }))) (expression_statement "uVar13 = uVar12 - iVar6 & 0xffff;" (assignment_expression "uVar13 = uVar12 - iVar6 & 0xffff" identifier = (binary_expression "uVar12 - iVar6 & 0xffff" (binary_expression "uVar12 - iVar6" identifier - identifier) & number_literal)) ;) (expression_statement "uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;" (assignment_expression "uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10" identifier = (binary_expression "(uVar12 - iVar6) + 0x8000 >> 0x10" (binary_expression "(uVar12 - iVar6) + 0x8000" (parenthesized_expression "(uVar12 - iVar6)" ( (binary_expression "uVar12 - iVar6" identifier - identifier) )) + number_literal) >> number_literal)) ;) (if_statement "if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }" if (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }" { (expression_statement "uVar12 = uVar13 + 0x817e0000;" (assignment_expression "uVar12 = uVar13 + 0x817e0000" identifier = (binary_expression "uVar13 + 0x817e0000" identifier + number_literal)) ;) (expression_statement "*puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;" (assignment_expression "*puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18" (pointer_expression "*puVar14" * identifier) = (binary_expression "uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 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 "uVar13 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar10 = puVar14;" (assignment_expression "puVar10 = puVar14" identifier = identifier) ;) }) (else_clause "else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }" else (compound_statement "{\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }" { (expression_statement "uVar8 = uVar12 + 0x3d7e0000;" (assignment_expression "uVar8 = uVar12 + 0x3d7e0000" identifier = (binary_expression "uVar12 + 0x3d7e0000" identifier + number_literal)) ;) (expression_statement "uVar9 = uVar13 + 0x816b0000;" (assignment_expression "uVar9 = uVar13 + 0x816b0000" identifier = (binary_expression "uVar13 + 0x816b0000" identifier + number_literal)) ;) (expression_statement "*puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;" (assignment_expression "*puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18" (pointer_expression "*puVar14" * identifier) = (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8" (binary_expression "uVar8 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar8 & 0xff0000) >> 8" (parenthesized_expression "(uVar8 & 0xff0000)" ( (binary_expression "uVar8 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff00) << 8" (parenthesized_expression "(uVar8 & 0xff00)" ( (binary_expression "uVar8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar12 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar10 = puVar14 + 1;" (assignment_expression "puVar10 = puVar14 + 1" identifier = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) (expression_statement "puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;" (assignment_expression "puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18" (subscript_expression "puVar14[1]" identifier [ number_literal ]) = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 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 "uVar13 << 0x18" identifier << number_literal))) ;) }))) }))) (expression_statement "puVar10[1] = 0xa603697d;" (assignment_expression "puVar10[1] = 0xa603697d" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[2] = 0x2004804e;" (assignment_expression "puVar10[2] = 0x2004804e" (subscript_expression "puVar10[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar11 = (int *)*piVar11;" (assignment_expression "piVar11 = (int *)*piVar11" identifier = (cast_expression "(int *)*piVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) ;) }) while (parenthesized_expression "(piVar11 != (int *)0x0)" ( (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "iVar6 = DAT_004144e8;" (assignment_expression "iVar6 = DAT_004144e8" identifier = identifier) ;) (for_statement "for (puVar2 = *(undefined4 **)(param_1 + 0x5c); puVar2 != (undefined4 *)0x0;\n        puVar2 = (undefined4 *)*puVar2) {\n      if (*(char *)(puVar2 + 3) == '\0') {\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }\n    }" for ( (assignment_expression "puVar2 = *(undefined4 **)(param_1 + 0x5c)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x5c)" * (cast_expression "(undefined4 **)(param_1 + 0x5c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) ))))) ; (binary_expression "puVar2 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar2 = (undefined4 *)*puVar2" identifier = (cast_expression "(undefined4 *)*puVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier))) ) (compound_statement "{\n      if (*(char *)(puVar2 + 3) == '\0') {\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }\n    }" { (if_statement "if (*(char *)(puVar2 + 3) == '\0') {\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }" if (parenthesized_expression "(*(char *)(puVar2 + 3) == '\0')" ( (binary_expression "*(char *)(puVar2 + 3) == '\0'" (pointer_expression "*(char *)(puVar2 + 3)" * (cast_expression "(char *)(puVar2 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 3)" ( (binary_expression "puVar2 + 3" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }" { (expression_statement "puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);" (assignment_expression "puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4)" identifier = (cast_expression "(uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4)" ( (binary_expression "(int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4" (binary_expression "(int)__dest + *(int *)(param_1 + 0x74) + puVar2[4]" (binary_expression "(int)__dest + *(int *)(param_1 + 0x74)" (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(param_1 + 0x74)" * (cast_expression "(int *)(param_1 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) ))))) + (subscript_expression "puVar2[4]" identifier [ number_literal ])) + identifier) )))) ;) (expression_statement "iVar7 = *(int *)(iVar6 + 8);" (assignment_expression "iVar7 = *(int *)(iVar6 + 8)" identifier = (pointer_expression "*(int *)(iVar6 + 8)" * (cast_expression "(int *)(iVar6 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 8)" ( (binary_expression "iVar6 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar7 == 0) goto LAB_000655b6;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000655b6;" goto statement_identifier ;)) (expression_statement "uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);" (assignment_expression "uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f)" identifier = (binary_expression "1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f)" number_literal << (parenthesized_expression "((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f)" ( (binary_expression "(byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f" (binary_expression "(byte)*(undefined4 *)(iVar7 + 0x2b20)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(undefined4 *)(iVar7 + 0x2b20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x2b20)" ( (binary_expression "iVar7 + 0x2b20" identifier + number_literal) )))) & number_literal) )))) ;) (if_statement "if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }" if (parenthesized_expression "(uVar12 < 0x10)" ( (binary_expression "uVar12 < 0x10" identifier < number_literal) )) (compound_statement "{\n          uVar12 = 0x10;\n        }" { (expression_statement "uVar12 = 0x10;" (assignment_expression "uVar12 = 0x10" identifier = number_literal) ;) })) (if_statement "if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }" if (parenthesized_expression "((*(byte *)(param_1 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(param_1 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0x1c) & 1)" ( (binary_expression "*(byte *)(param_1 + 0x1c) & 1" (pointer_expression "*(byte *)(param_1 + 0x1c)" * (cast_expression "(byte *)(param_1 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_00065211:\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }" { (labeled_statement "LAB_00065211:\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/output.h",0xc5,"address");" statement_identifier : comment (expression_statement "FUN_000da200("../../gold/output.h",0xc5,"address");" (call_expression "FUN_000da200("../../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 "uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];" (assignment_expression "uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4]" identifier = (binary_expression "(puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4]" (parenthesized_expression "(puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74)))" ( (binary_expression "puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))" (subscript_expression "puVar2[1]" identifier [ number_literal ]) - (parenthesized_expression "((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))" ( (binary_expression "(-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74)" (parenthesized_expression "(-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70))" ( (binary_expression "-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)" (unary_expression "-uVar12" - identifier) & (binary_expression "(uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)" (binary_expression "(uVar12 - 1) + *(int *)(param_1 + 4)" (parenthesized_expression "(uVar12 - 1)" ( (binary_expression "uVar12 - 1" identifier - number_literal) )) + (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) + (pointer_expression "*(int *)(param_1 + 0x70)" * (cast_expression "(int *)(param_1 + 0x70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) )))))) )) + (pointer_expression "*(int *)(param_1 + 0x74)" * (cast_expression "(int *)(param_1 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) ))))) ))) )) - (subscript_expression "puVar2[4]" identifier [ number_literal ]))) ;) (if_statement "if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }" if (parenthesized_expression "(uVar12 + 0x2000000 < 0x4000000)" ( (binary_expression "uVar12 + 0x2000000 < 0x4000000" (binary_expression "uVar12 + 0x2000000" identifier + number_literal) < number_literal) )) (compound_statement "{\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }" { (expression_statement "*puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;" (assignment_expression "*puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18" (pointer_expression "*puVar14" * identifier) = (binary_expression "(uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18" (binary_expression "(uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8" (binary_expression "(uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8" (binary_expression "(uVar12 & 0x3000000 | 0x48000000) >> 0x18" (parenthesized_expression "(uVar12 & 0x3000000 | 0x48000000)" ( (binary_expression "uVar12 & 0x3000000 | 0x48000000" (binary_expression "uVar12 & 0x3000000" identifier & number_literal) | number_literal) )) >> 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 "(uVar12 & 0xfc) << 0x18" (parenthesized_expression "(uVar12 & 0xfc)" ( (binary_expression "uVar12 & 0xfc" identifier & number_literal) )) << number_literal))) ;) (expression_statement "puVar10 = puVar14;" (assignment_expression "puVar10 = puVar14" identifier = identifier) ;) }) (else_clause "else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }" else (if_statement "if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }" if (parenthesized_expression "((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0'))" ( (binary_expression "(*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')" (parenthesized_expression "(*(char *)(iVar7 + 0x1a25) == '\0')" ( (binary_expression "*(char *)(iVar7 + 0x1a25) == '\0'" (pointer_expression "*(char *)(iVar7 + 0x1a25)" * (cast_expression "(char *)(iVar7 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1a25)" ( (binary_expression "iVar7 + 0x1a25" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(iVar7 + 0x2931) == '\0')" ( (binary_expression "*(char *)(iVar7 + 0x2931) == '\0'" (pointer_expression "*(char *)(iVar7 + 0x2931)" * (cast_expression "(char *)(iVar7 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x2931)" ( (binary_expression "iVar7 + 0x2931" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }" { (expression_statement "puVar10 = puVar14 + 1;" (assignment_expression "puVar10 = puVar14 + 1" identifier = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) (expression_statement "uVar12 = puVar2[1] + 0x8000 >> 0x10;" (assignment_expression "uVar12 = puVar2[1] + 0x8000 >> 0x10" identifier = (binary_expression "puVar2[1] + 0x8000 >> 0x10" (binary_expression "puVar2[1] + 0x8000" (subscript_expression "puVar2[1]" identifier [ number_literal ]) + number_literal) >> number_literal)) ;) (expression_statement "uVar13 = uVar12 + 0x3d800000;" (assignment_expression "uVar13 = uVar12 + 0x3d800000" identifier = (binary_expression "uVar12 + 0x3d800000" identifier + number_literal)) ;) (expression_statement "*puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;" (assignment_expression "*puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18" (pointer_expression "*puVar14" * identifier) = (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" ( (binary_expression "uVar13 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" ( (binary_expression "uVar13 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar12 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;" (assignment_expression "uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000" identifier = (binary_expression "*(ushort *)(puVar2 + 1) + 0x398c0000" (pointer_expression "*(ushort *)(puVar2 + 1)" * (cast_expression "(ushort *)(puVar2 + 1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 1)" ( (binary_expression "puVar2 + 1" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;" (assignment_expression "*puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18" (pointer_expression "*puVar10" * identifier) = (binary_expression "uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 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 "(uint)*(ushort *)(puVar2 + 1) << 0x18" (binary_expression "(uint)*(ushort *)(puVar2 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(puVar2 + 1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 1)" ( (binary_expression "puVar2 + 1" identifier + number_literal) )))) << number_literal))) ;) }) (else_clause "else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }" else (compound_statement "{\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }" { (expression_statement "*puVar14 = 0xa602087c;" (assignment_expression "*puVar14 = 0xa602087c" (pointer_expression "*puVar14" * identifier) = number_literal) ;) (expression_statement "puVar10 = puVar14 + 5;" (assignment_expression "puVar10 = puVar14 + 5" identifier = (binary_expression "puVar14 + 5" identifier + number_literal)) ;) (expression_statement "uVar8 = uVar12 + 0x7ff8 >> 0x10;" (assignment_expression "uVar8 = uVar12 + 0x7ff8 >> 0x10" identifier = (binary_expression "uVar12 + 0x7ff8 >> 0x10" (binary_expression "uVar12 + 0x7ff8" identifier + number_literal) >> number_literal)) ;) (expression_statement "uVar12 = uVar12 - 8 & 0xffff;" (assignment_expression "uVar12 = uVar12 - 8 & 0xffff" identifier = (binary_expression "uVar12 - 8 & 0xffff" (binary_expression "uVar12 - 8" identifier - number_literal) & number_literal)) ;) (expression_statement "puVar14[1] = 0x5009f42;" (assignment_expression "puVar14[1] = 0x5009f42" (subscript_expression "puVar14[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar9 = uVar8 + 0x3d8c0000;" (assignment_expression "uVar9 = uVar8 + 0x3d8c0000" identifier = (binary_expression "uVar8 + 0x3d8c0000" identifier + number_literal)) ;) (expression_statement "uVar13 = uVar12 + 0x398c0000;" (assignment_expression "uVar13 = uVar12 + 0x398c0000" identifier = (binary_expression "uVar12 + 0x398c0000" identifier + number_literal)) ;) (expression_statement "puVar14[2] = 0xa602887d;" (assignment_expression "puVar14[2] = 0xa602887d" (subscript_expression "puVar14[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;" (assignment_expression "puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18" (subscript_expression "puVar14[3]" identifier [ number_literal ]) = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 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 "uVar8 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;" (assignment_expression "puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18" (subscript_expression "puVar14[4]" identifier [ number_literal ]) = (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" ( (binary_expression "uVar13 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" ( (binary_expression "uVar13 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar12 << 0x18" identifier << number_literal))) ;) (expression_statement "*puVar10 = 0xa603087c;" (assignment_expression "*puVar10 = 0xa603087c" (pointer_expression "*puVar10" * identifier) = number_literal) ;) }))))) (expression_statement "puVar10[1] = 0xa603897d;" (assignment_expression "puVar10[1] = 0xa603897d" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[2] = 0x2004804e;" (assignment_expression "puVar10[2] = 0x2004804e" (subscript_expression "puVar10[2]" identifier [ number_literal ]) = number_literal) ;) })) })) (if_statement "if (*(char *)(param_1 + 0x88) != '\0') {\n      __dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4);\n      iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) goto LAB_0006566c;\n      memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc));\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x88) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x88) != '\0'" (pointer_expression "*(char *)(param_1 + 0x88)" * (cast_expression "(char *)(param_1 + 0x88)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x88)" ( (binary_expression "param_1 + 0x88" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      __dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4);\n      iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) goto LAB_0006566c;\n      memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc));\n    }" { (expression_statement "__dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4);" (assignment_expression "__dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4)" identifier = (cast_expression "(void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4)" ( (binary_expression "(int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4" (binary_expression "(int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c)" (binary_expression "(int)__dest + *(int *)(param_1 + 0x74)" (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(param_1 + 0x74)" * (cast_expression "(int *)(param_1 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) ))))) + (pointer_expression "*(int *)(param_1 + 0x7c)" * (cast_expression "(int *)(param_1 + 0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x7c)" ( (binary_expression "param_1 + 0x7c" identifier + number_literal) ))))) + identifier) )))) ;) (expression_statement "iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);" (assignment_expression "iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac)" identifier = (pointer_expression "*(int *)(*(int *)(param_1 + 0x34) + 0xac)" * (cast_expression "(int *)(*(int *)(param_1 + 0x34) + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0xac)" ( (binary_expression "*(int *)(param_1 + 0x34) + 0xac" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) goto LAB_0006566c;" if (parenthesized_expression "((*(byte *)(iVar4 + 0x1c) & 2) == 0)" ( (binary_expression "(*(byte *)(iVar4 + 0x1c) & 2) == 0" (parenthesized_expression "(*(byte *)(iVar4 + 0x1c) & 2)" ( (binary_expression "*(byte *)(iVar4 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar4 + 0x1c)" * (cast_expression "(byte *)(iVar4 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1c)" ( (binary_expression "iVar4 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0006566c;" goto statement_identifier ;)) (expression_statement "memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc));" (call_expression "memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc))" identifier (argument_list "(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc))" ( identifier , (pointer_expression "*(void **)(iVar4 + 0x2c)" * (cast_expression "(void **)(iVar4 + 0x2c)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(iVar4 + 0xc)" * (cast_expression "(size_t *)(iVar4 + 0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) ))) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Type propagation algorithm not settling */\n/* 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(Stub_table<32,_true> * this, Output_file * of) */\n\nvoid __thiscall\nanon_unknown.dwarf_2af53c::Stub_table<32,_true>::do_write\n          (Stub_table<32,_true> *this,Output_file *of)\n\n{\n  size_type sVar1;\n  Target_powerpc<32,_true> *pTVar2;\n  Symbol *pSVar3;\n  General_options *pGVar4;\n  Output_data_save_res<32,_true> *pOVar5;\n  Output_data_got_powerpc<32,_true> *pOVar6;\n  _Hash_node_base *p_Var7;\n  _Hash_node_base *p_Var8;\n  _Hash_node_base *p_Var9;\n  int iVar10;\n  Parameters *pPVar11;\n  bool bVar12;\n  uchar *puVar13;\n  int iVar14;\n  _Hash_node_base *p_Var15;\n  uint uVar16;\n  uint uVar17;\n  Output_data_plt_powerpc<32,_true> *pOVar18;\n  uint *puVar19;\n  _Hash_node_base *p_Var20;\n  uint uVar21;\n  uint uVar22;\n  uint *puVar23;\n  Target_powerpc<32,_true> *in_stack_ffffffa4;\n  int local_40;\n  bool is_global;\n  \n  sVar1 = (this->plt_call_stubs_)._M_h._M_element_count;\n  if ((sVar1 != 0) || ((this->long_branch_stubs_)._M_h._M_element_count != 0)) {\n    if ((this->field_0x1c & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n    }\n    if (gold::parameters->options_ == (General_options *)0x0) {\nLAB_000655b6:\n                    /* WARNING: Subroutine does not return */\n      Stub_table<64,_false>::stub_align((Stub_table<64,_false> *)in_stack_ffffffa4);\n    }\n    uVar21 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n    if (uVar21 < 0x10) {\n      uVar21 = 0x10;\n    }\n    uVar21 = (uVar21 - 1) + this->orig_data_size_ + *(int *)&this->field_0x14 & -uVar21;\n    if ((this->field_0x1c & 2) == 0) {\nLAB_0006566c:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n    }\n    uVar16 = uVar21 - *(int *)&this->field_0x14;\n    uVar22 = *(uint *)&this->field_0xc - uVar16;\n    if (*(uint *)&this->field_0x10 != (uint)(*(uint *)&this->field_0xc < uVar16)) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }\n    uVar16 = (uint)CARRY4(uVar21,uVar22);\n    iVar14 = *(int *)((int)&of->file_size_ + 4);\n    uVar22 = (uint)((uint)of->file_size_ < uVar21 + uVar22);\n    iVar10 = iVar14 - uVar16;\n    if ((SBORROW4(iVar14,uVar16) != SBORROW4(iVar10,uVar22)) != (int)(iVar10 - uVar22) < 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n    }\n    puVar13 = of->base_ + uVar21;\n    if ((sVar1 != 0) &&\n       (p_Var20 = (this->plt_call_stubs_)._M_h._M_before_begin._M_nxt,\n       p_Var20 != (_Hash_node_base *)0x0)) {\n      local_40 = -1;\n      do {\n        p_Var15 = p_Var20[1]._M_nxt;\n        pTVar2 = this->targ_;\n        if (p_Var15 == (_Hash_node_base *)0x0) {\n          p_Var15 = p_Var20[2]._M_nxt;\n          p_Var7 = p_Var20[4]._M_nxt;\n          if ((_Hash_node_base *)((int)p_Var15[0x38]._M_nxt - (int)p_Var15[0x37]._M_nxt >> 4) <=\n              p_Var7) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          if (((uint)p_Var15[0x37]._M_nxt[(int)p_Var7 * 4 + 2]._M_nxt & 0x40000000) == 0) {\n            pOVar18 = pTVar2->lplt_;\n          }\n          else {\n            pOVar18 = pTVar2->iplt_;\n            if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");\n            }\n          }\n          p_Var15 = (_Hash_node_base *)(*(code *)p_Var15->_M_nxt[0x2a]._M_nxt)(p_Var15,p_Var7);\n        }\n        else {\n          if (((uint)p_Var15[10]._M_nxt & 0xf) == 10) {\n            if (((uint)p_Var15[10]._M_nxt & 0x70000) == 0) goto LAB_00065520;\n            if (((uint)p_Var15[10]._M_nxt & 0x70000) != 0x40000) {\n              do {\n                if ((((uint)p_Var15[10]._M_nxt & 0x300) == 0) &&\n                   (((uint)p_Var15[10]._M_nxt & 0x10000000) == 0)) {\n                  pGVar4 = gold::parameters->options_;\n                  if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                  if ((pGVar4->shared_).value != false) {\n                    bVar12 = gold::Version_script_info::get_symbol_version\n                                       (&(pGVar4->dynamic_list_).version_script_info_,\n                                        (char *)p_Var15->_M_nxt,(string *)0x0,&is_global);\n                    if ((bVar12) && (is_global == false)) break;\n                    pGVar4 = gold::parameters->options_;\n                    if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                    if (((pGVar4->Bsymbolic_).value == false) &&\n                       ((((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false)))) break;\n                  }\n                }\n                pOVar18 = pTVar2->iplt_;\n                if (pOVar18 != (Output_data_plt_powerpc<32,_true> *)0x0) goto LAB_000650dd;\n                Target_powerpc<32,_true>::iplt_section(in_stack_ffffffa4);\nLAB_00065520:\n                if ((((uint)p_Var15[2]._M_nxt[0xb]._M_nxt & 1) != 0) ||\n                   ((p_Var15[3]._M_nxt == (_Hash_node_base *)0x0 &&\n                    (((uint)p_Var15[10]._M_nxt & 0x20000000) != 0)))) break;\n              } while( true );\n            }\n          }\n          pOVar18 = pTVar2->plt_;\n          if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          p_Var15 = p_Var15[6]._M_nxt;\n          if (p_Var15 == (_Hash_node_base *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if (((pOVar18->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0) goto LAB_00065211;\n        uVar21 = (int)&p_Var15->_M_nxt +\n                 (int)(pOVar18->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.address_;\n        puVar19 = (uint *)(puVar13 + (int)p_Var20[5]._M_nxt);\n        pSVar3 = this->targ_->tls_get_addr_opt_;\n        puVar23 = puVar19;\n        if ((pSVar3 != (Symbol *)0x0) &&\n           ((this->targ_->tls_get_addr_ == (Symbol *)p_Var20[1]._M_nxt ||\n            ((Symbol *)p_Var20[1]._M_nxt == pSVar3)))) {\n          *puVar19 = 0x6381;\n          puVar23 = puVar19 + 8;\n          puVar19[1] = 0x4008381;\n          puVar19[2] = 0x781b607c;\n          puVar19[3] = 0xb2c;\n          puVar19[4] = 0x14126c7c;\n          puVar19[5] = 0x2000824d;\n          puVar19[6] = 0x7803037c;\n          puVar19[7] = 0x60;\n        }\n        pGVar4 = gold::parameters->options_;\n        if (pGVar4 == (General_options *)0x0) {\nLAB_000655f9:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if (((pGVar4->shared_).value == false) && ((pGVar4->pie_).value == false)) {\n          puVar19 = puVar23 + 1;\n          uVar16 = uVar21 + 0x8000 >> 0x10;\n          uVar17 = (uVar21 & 0xffff) + 0x816b0000;\n          uVar22 = uVar16 + 0x3d600000;\n          puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       (uVar21 & 0xffff) << 0x18;\n          *puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                     uVar16 << 0x18;\n        }\n        else {\n          p_Var15 = p_Var20[2]._M_nxt;\n          if ((p_Var15 == (_Hash_node_base *)0x0) || (p_Var20[3]._M_nxt < (_Hash_node_base *)0x8000)\n             ) {\n            iVar14 = local_40;\n            if (local_40 == -1) {\n              pOVar6 = this->targ_->got_;\n              if (pOVar6 == (Output_data_got_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/powerpc.cc",0x3ae,"got_section");\n              }\n              if (((pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                   super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                   field_0x1c & 1) == 0) goto LAB_00065211;\n              iVar14 = (int)(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                            super_Output_section_data_build.super_Output_section_data.\n                            super_Output_data.address_ + pOVar6->header_index_ * 4;\n              local_40 = iVar14;\n            }\n          }\n          else {\n            p_Var7 = p_Var15[0x50]._M_nxt;\n            if ((_Hash_node_base *)((int)p_Var15[0x22]._M_nxt - (int)p_Var15[0x21]._M_nxt >> 2) <=\n                p_Var7) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n            }\n            p_Var8 = p_Var15[0x21]._M_nxt[(int)p_Var7]._M_nxt;\n            if (p_Var8 == (_Hash_node_base *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x1633,"do_write");\n            }\n            p_Var9 = p_Var15->_M_nxt[0x18]._M_nxt;\n            if (p_Var9 == (_Hash_node_base *)gold::Relobj::do_output_section) {\n              if ((_Hash_node_base *)((int)p_Var15[0xf]._M_nxt - (int)p_Var15[0xe]._M_nxt >> 2) <=\n                  p_Var7) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n              }\n              p_Var15 = p_Var15[0xe]._M_nxt[(int)p_Var7]._M_nxt;\n            }\n            else {\n              p_Var15 = (_Hash_node_base *)(*(code *)p_Var9)(p_Var15,p_Var7);\n            }\n            if (((uint)p_Var15[7]._M_nxt & 1) == 0) goto LAB_00065211;\n            iVar14 = (int)&p_Var8->_M_nxt +\n                     (int)&(p_Var15[1]._M_nxt)->_M_nxt + (int)&(p_Var20[3]._M_nxt)->_M_nxt;\n          }\n          uVar16 = uVar21 - iVar14 & 0xffff;\n          uVar21 = (uVar21 - iVar14) + 0x8000 >> 0x10;\n          if (uVar21 == 0) {\n            uVar21 = uVar16 + 0x817e0000;\n            *puVar23 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                       uVar16 << 0x18;\n            puVar19 = puVar23;\n          }\n          else {\n            uVar22 = uVar21 + 0x3d7e0000;\n            uVar17 = uVar16 + 0x816b0000;\n            *puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar21 << 0x18;\n            puVar19 = puVar23 + 1;\n            puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n          }\n        }\n        puVar19[1] = 0xa603697d;\n        puVar19[2] = 0x2004804e;\n        p_Var20 = p_Var20->_M_nxt;\n      } while (p_Var20 != (_Hash_node_base *)0x0);\n    }\n    pPVar11 = gold::parameters;\n    for (p_Var20 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\n        p_Var20 != (_Hash_node_base *)0x0; p_Var20 = p_Var20->_M_nxt) {\n      if (*(char *)&p_Var20[3]._M_nxt == '\0') {\n        puVar23 = (uint *)(puVar13 + (int)&(p_Var20[4]._M_nxt)->_M_nxt + this->plt_size_);\n        pGVar4 = pPVar11->options_;\n        if (pGVar4 == (General_options *)0x0) goto LAB_000655b6;\n        uVar21 = 1 << ((byte)(pGVar4->plt_align_).value & 0x1f);\n        if (uVar21 < 0x10) {\n          uVar21 = 0x10;\n        }\n        if ((this->field_0x1c & 1) == 0) {\nLAB_00065211:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n        uVar21 = (int)p_Var20[1]._M_nxt +\n                 (-(int)p_Var20[4]._M_nxt -\n                 ((-uVar21 & (uVar21 - 1) + *(int *)&this->field_0x4 + this->orig_data_size_) +\n                 this->plt_size_));\n        if (uVar21 + 0x2000000 < 0x4000000) {\n          *puVar23 = (uVar21 & 0x3000000 | 0x48000000) >> 0x18 | (uVar21 & 0xff0000) >> 8 |\n                     (uVar21 & 0xff00) << 8 | (uVar21 & 0xfc) << 0x18;\n          puVar19 = puVar23;\n        }\n        else if (((pGVar4->shared_).value == false) && ((pGVar4->pie_).value == false)) {\n          puVar19 = puVar23 + 1;\n          uVar21 = (uint)(p_Var20[1]._M_nxt + 0x2000) >> 0x10;\n          uVar16 = uVar21 + 0x3d800000;\n          *puVar23 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar21 << 0x18;\n          uVar21 = *(ushort *)&p_Var20[1]._M_nxt + 0x398c0000;\n          *puVar19 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                     (uint)*(ushort *)&p_Var20[1]._M_nxt << 0x18;\n        }\n        else {\n          *puVar23 = 0xa602087c;\n          puVar19 = puVar23 + 5;\n          uVar22 = uVar21 + 0x7ff8 >> 0x10;\n          uVar21 = uVar21 - 8 & 0xffff;\n          puVar23[1] = 0x5009f42;\n          uVar17 = uVar22 + 0x3d8c0000;\n          uVar16 = uVar21 + 0x398c0000;\n          puVar23[2] = 0xa602887d;\n          puVar23[3] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       uVar22 << 0x18;\n          puVar23[4] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar21 << 0x18;\n          *puVar19 = 0xa603087c;\n        }\n        puVar19[1] = 0xa603897d;\n        puVar19[2] = 0x2004804e;\n      }\n    }\n    if (this->need_save_res_ != false) {\n      pOVar5 = this->targ_->savres_section_;\n      if ((pOVar5->field_0x1c & 2) == 0) goto LAB_0006566c;\n      memcpy(puVar13 + this->plt_size_ + this->branch_size_,pOVar5->contents_,\n             *(size_t *)&pOVar5->field_0xc);\n    }\n  }\n  return;\n}\n\n" comment comment comment comment comment (declaration "void __thiscall\nanon_unknown.dwarf_2af53c::Stub_table<32,_true>::do_write\n          (Stub_table<32,_true> *this,Output_file *of)\n\n{\n  size_type sVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) identifier (ERROR ".dwarf_2af53c::Stub_table<32" . identifier : : identifier < number_literal) , (ERROR "_true>::do_write\n          (Stub_table<32,_true> *this,Output_file *of)\n\n{\n  size_type" identifier > : : (function_declarator "do_write\n          (Stub_table<32,_true> *this,Output_file *of)" identifier (parameter_list "(Stub_table<32,_true> *this,Output_file *of)" ( (parameter_declaration "Stub_table" type_identifier) (ERROR "<32" < 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 ;) (expression_statement "Target_powerpc<32,_true> *pTVar2;" (update_expression "Target_powerpc<32,_true> *pTVar2" (binary_expression "Target_powerpc<32,_true> *pTVar2" (binary_expression "Target_powerpc<32" identifier < number_literal) (ERROR ",_true" , identifier) > (pointer_expression "*pTVar2" * identifier)) --) ;) (declaration "Symbol *pSVar3;" type_identifier (pointer_declarator "*pSVar3" * identifier) ;) (declaration "General_options *pGVar4;" type_identifier (pointer_declarator "*pGVar4" * identifier) ;) (expression_statement "Output_data_save_res<32,_true> *pOVar5;" (update_expression "Output_data_save_res<32,_true> *pOVar5" (binary_expression "Output_data_save_res<32,_true> *pOVar5" (binary_expression "Output_data_save_res<32" identifier < number_literal) (ERROR ",_true" , identifier) > (pointer_expression "*pOVar5" * identifier)) --) ;) (expression_statement "Output_data_got_powerpc<32,_true> *pOVar6;" (update_expression "Output_data_got_powerpc<32,_true> *pOVar6" (binary_expression "Output_data_got_powerpc<32,_true> *pOVar6" (binary_expression "Output_data_got_powerpc<32" identifier < number_literal) (ERROR ",_true" , identifier) > (pointer_expression "*pOVar6" * identifier)) --) ;) (declaration "_Hash_node_base *p_Var7;" type_identifier (pointer_declarator "*p_Var7" * identifier) ;) (declaration "_Hash_node_base *p_Var8;" type_identifier (pointer_declarator "*p_Var8" * identifier) ;) (declaration "_Hash_node_base *p_Var9;" type_identifier (pointer_declarator "*p_Var9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "Parameters *pPVar11;" type_identifier (pointer_declarator "*pPVar11" * identifier) ;) (declaration "bool bVar12;" primitive_type identifier ;) (declaration "uchar *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "_Hash_node_base *p_Var15;" type_identifier (pointer_declarator "*p_Var15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (expression_statement "Output_data_plt_powerpc<32,_true> *pOVar18;" (update_expression "Output_data_plt_powerpc<32,_true> *pOVar18" (binary_expression "Output_data_plt_powerpc<32,_true> *pOVar18" (binary_expression "Output_data_plt_powerpc<32" identifier < number_literal) (ERROR ",_true" , identifier) > (pointer_expression "*pOVar18" * identifier)) --) ;) (declaration "uint *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "_Hash_node_base *p_Var20;" type_identifier (pointer_declarator "*p_Var20" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "uint *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (expression_statement "Target_powerpc<32,_true> *in_stack_ffffffa4;" (update_expression "Target_powerpc<32,_true> *in_stack_ffffffa4" (binary_expression "Target_powerpc<32,_true> *in_stack_ffffffa4" (binary_expression "Target_powerpc<32" identifier < number_literal) (ERROR ",_true" , identifier) > (pointer_expression "*in_stack_ffffffa4" * identifier)) --) ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "bool is_global;" primitive_type identifier ;) (expression_statement "sVar1 = (this->plt_call_stubs_)._M_h._M_element_count;" (assignment_expression "sVar1 = (this->plt_call_stubs_)._M_h._M_element_count" identifier = (field_expression "(this->plt_call_stubs_)._M_h._M_element_count" (field_expression "(this->plt_call_stubs_)._M_h" (parenthesized_expression "(this->plt_call_stubs_)" ( (field_expression "this->plt_call_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if ((sVar1 != 0) || ((this->long_branch_stubs_)._M_h._M_element_count != 0)) {\n    if ((this->field_0x1c & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n    }\n    if (gold::parameters->options_ == (General_options *)0x0) {\nLAB_000655b6:\n                    /* WARNING: Subroutine does not return */\n      Stub_table<64,_false>::stub_align((Stub_table<64,_false> *)in_stack_ffffffa4);\n    }\n    uVar21 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n    if (uVar21 < 0x10) {\n      uVar21 = 0x10;\n    }\n    uVar21 = (uVar21 - 1) + this->orig_data_size_ + *(int *)&this->field_0x14 & -uVar21;\n    if ((this->field_0x1c & 2) == 0) {\nLAB_0006566c:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n    }\n    uVar16 = uVar21 - *(int *)&this->field_0x14;\n    uVar22 = *(uint *)&this->field_0xc - uVar16;\n    if (*(uint *)&this->field_0x10 != (uint)(*(uint *)&this->field_0xc < uVar16)) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }\n    uVar16 = (uint)CARRY4(uVar21,uVar22);\n    iVar14 = *(int *)((int)&of->file_size_ + 4);\n    uVar22 = (uint)((uint)of->file_size_ < uVar21 + uVar22);\n    iVar10 = iVar14 - uVar16;\n    if ((SBORROW4(iVar14,uVar16) != SBORROW4(iVar10,uVar22)) != (int)(iVar10 - uVar22) < 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n    }\n    puVar13 = of->base_ + uVar21;\n    if ((sVar1 != 0) &&\n       (p_Var20 = (this->plt_call_stubs_)._M_h._M_before_begin._M_nxt,\n       p_Var20 != (_Hash_node_base *)0x0)) {\n      local_40 = -1;\n      do {\n        p_Var15 = p_Var20[1]._M_nxt;\n        pTVar2 = this->targ_;\n        if (p_Var15 == (_Hash_node_base *)0x0) {\n          p_Var15 = p_Var20[2]._M_nxt;\n          p_Var7 = p_Var20[4]._M_nxt;\n          if ((_Hash_node_base *)((int)p_Var15[0x38]._M_nxt - (int)p_Var15[0x37]._M_nxt >> 4) <=\n              p_Var7) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          if (((uint)p_Var15[0x37]._M_nxt[(int)p_Var7 * 4 + 2]._M_nxt & 0x40000000) == 0) {\n            pOVar18 = pTVar2->lplt_;\n          }\n          else {\n            pOVar18 = pTVar2->iplt_;\n            if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");\n            }\n          }\n          p_Var15 = (_Hash_node_base *)(*(code *)p_Var15->_M_nxt[0x2a]._M_nxt)(p_Var15,p_Var7);\n        }\n        else {\n          if (((uint)p_Var15[10]._M_nxt & 0xf) == 10) {\n            if (((uint)p_Var15[10]._M_nxt & 0x70000) == 0) goto LAB_00065520;\n            if (((uint)p_Var15[10]._M_nxt & 0x70000) != 0x40000) {\n              do {\n                if ((((uint)p_Var15[10]._M_nxt & 0x300) == 0) &&\n                   (((uint)p_Var15[10]._M_nxt & 0x10000000) == 0)) {\n                  pGVar4 = gold::parameters->options_;\n                  if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                  if ((pGVar4->shared_).value != false) {\n                    bVar12 = gold::Version_script_info::get_symbol_version\n                                       (&(pGVar4->dynamic_list_).version_script_info_,\n                                        (char *)p_Var15->_M_nxt,(string *)0x0,&is_global);\n                    if ((bVar12) && (is_global == false)) break;\n                    pGVar4 = gold::parameters->options_;\n                    if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                    if (((pGVar4->Bsymbolic_).value == false) &&\n                       ((((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false)))) break;\n                  }\n                }\n                pOVar18 = pTVar2->iplt_;\n                if (pOVar18 != (Output_data_plt_powerpc<32,_true> *)0x0) goto LAB_000650dd;\n                Target_powerpc<32,_true>::iplt_section(in_stack_ffffffa4);\nLAB_00065520:\n                if ((((uint)p_Var15[2]._M_nxt[0xb]._M_nxt & 1) != 0) ||\n                   ((p_Var15[3]._M_nxt == (_Hash_node_base *)0x0 &&\n                    (((uint)p_Var15[10]._M_nxt & 0x20000000) != 0)))) break;\n              } while( true );\n            }\n          }\n          pOVar18 = pTVar2->plt_;\n          if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          p_Var15 = p_Var15[6]._M_nxt;\n          if (p_Var15 == (_Hash_node_base *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if (((pOVar18->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0) goto LAB_00065211;\n        uVar21 = (int)&p_Var15->_M_nxt +\n                 (int)(pOVar18->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.address_;\n        puVar19 = (uint *)(puVar13 + (int)p_Var20[5]._M_nxt);\n        pSVar3 = this->targ_->tls_get_addr_opt_;\n        puVar23 = puVar19;\n        if ((pSVar3 != (Symbol *)0x0) &&\n           ((this->targ_->tls_get_addr_ == (Symbol *)p_Var20[1]._M_nxt ||\n            ((Symbol *)p_Var20[1]._M_nxt == pSVar3)))) {\n          *puVar19 = 0x6381;\n          puVar23 = puVar19 + 8;\n          puVar19[1] = 0x4008381;\n          puVar19[2] = 0x781b607c;\n          puVar19[3] = 0xb2c;\n          puVar19[4] = 0x14126c7c;\n          puVar19[5] = 0x2000824d;\n          puVar19[6] = 0x7803037c;\n          puVar19[7] = 0x60;\n        }\n        pGVar4 = gold::parameters->options_;\n        if (pGVar4 == (General_options *)0x0) {\nLAB_000655f9:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if (((pGVar4->shared_).value == false) && ((pGVar4->pie_).value == false)) {\n          puVar19 = puVar23 + 1;\n          uVar16 = uVar21 + 0x8000 >> 0x10;\n          uVar17 = (uVar21 & 0xffff) + 0x816b0000;\n          uVar22 = uVar16 + 0x3d600000;\n          puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       (uVar21 & 0xffff) << 0x18;\n          *puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                     uVar16 << 0x18;\n        }\n        else {\n          p_Var15 = p_Var20[2]._M_nxt;\n          if ((p_Var15 == (_Hash_node_base *)0x0) || (p_Var20[3]._M_nxt < (_Hash_node_base *)0x8000)\n             ) {\n            iVar14 = local_40;\n            if (local_40 == -1) {\n              pOVar6 = this->targ_->got_;\n              if (pOVar6 == (Output_data_got_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/powerpc.cc",0x3ae,"got_section");\n              }\n              if (((pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                   super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                   field_0x1c & 1) == 0) goto LAB_00065211;\n              iVar14 = (int)(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                            super_Output_section_data_build.super_Output_section_data.\n                            super_Output_data.address_ + pOVar6->header_index_ * 4;\n              local_40 = iVar14;\n            }\n          }\n          else {\n            p_Var7 = p_Var15[0x50]._M_nxt;\n            if ((_Hash_node_base *)((int)p_Var15[0x22]._M_nxt - (int)p_Var15[0x21]._M_nxt >> 2) <=\n                p_Var7) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n            }\n            p_Var8 = p_Var15[0x21]._M_nxt[(int)p_Var7]._M_nxt;\n            if (p_Var8 == (_Hash_node_base *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x1633,"do_write");\n            }\n            p_Var9 = p_Var15->_M_nxt[0x18]._M_nxt;\n            if (p_Var9 == (_Hash_node_base *)gold::Relobj::do_output_section) {\n              if ((_Hash_node_base *)((int)p_Var15[0xf]._M_nxt - (int)p_Var15[0xe]._M_nxt >> 2) <=\n                  p_Var7) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n              }\n              p_Var15 = p_Var15[0xe]._M_nxt[(int)p_Var7]._M_nxt;\n            }\n            else {\n              p_Var15 = (_Hash_node_base *)(*(code *)p_Var9)(p_Var15,p_Var7);\n            }\n            if (((uint)p_Var15[7]._M_nxt & 1) == 0) goto LAB_00065211;\n            iVar14 = (int)&p_Var8->_M_nxt +\n                     (int)&(p_Var15[1]._M_nxt)->_M_nxt + (int)&(p_Var20[3]._M_nxt)->_M_nxt;\n          }\n          uVar16 = uVar21 - iVar14 & 0xffff;\n          uVar21 = (uVar21 - iVar14) + 0x8000 >> 0x10;\n          if (uVar21 == 0) {\n            uVar21 = uVar16 + 0x817e0000;\n            *puVar23 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                       uVar16 << 0x18;\n            puVar19 = puVar23;\n          }\n          else {\n            uVar22 = uVar21 + 0x3d7e0000;\n            uVar17 = uVar16 + 0x816b0000;\n            *puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar21 << 0x18;\n            puVar19 = puVar23 + 1;\n            puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n          }\n        }\n        puVar19[1] = 0xa603697d;\n        puVar19[2] = 0x2004804e;\n        p_Var20 = p_Var20->_M_nxt;\n      } while (p_Var20 != (_Hash_node_base *)0x0);\n    }\n    pPVar11 = gold::parameters;\n    for (p_Var20 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\n        p_Var20 != (_Hash_node_base *)0x0; p_Var20 = p_Var20->_M_nxt) {\n      if (*(char *)&p_Var20[3]._M_nxt == '\0') {\n        puVar23 = (uint *)(puVar13 + (int)&(p_Var20[4]._M_nxt)->_M_nxt + this->plt_size_);\n        pGVar4 = pPVar11->options_;\n        if (pGVar4 == (General_options *)0x0) goto LAB_000655b6;\n        uVar21 = 1 << ((byte)(pGVar4->plt_align_).value & 0x1f);\n        if (uVar21 < 0x10) {\n          uVar21 = 0x10;\n        }\n        if ((this->field_0x1c & 1) == 0) {\nLAB_00065211:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n        uVar21 = (int)p_Var20[1]._M_nxt +\n                 (-(int)p_Var20[4]._M_nxt -\n                 ((-uVar21 & (uVar21 - 1) + *(int *)&this->field_0x4 + this->orig_data_size_) +\n                 this->plt_size_));\n        if (uVar21 + 0x2000000 < 0x4000000) {\n          *puVar23 = (uVar21 & 0x3000000 | 0x48000000) >> 0x18 | (uVar21 & 0xff0000) >> 8 |\n                     (uVar21 & 0xff00) << 8 | (uVar21 & 0xfc) << 0x18;\n          puVar19 = puVar23;\n        }\n        else if (((pGVar4->shared_).value == false) && ((pGVar4->pie_).value == false)) {\n          puVar19 = puVar23 + 1;\n          uVar21 = (uint)(p_Var20[1]._M_nxt + 0x2000) >> 0x10;\n          uVar16 = uVar21 + 0x3d800000;\n          *puVar23 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar21 << 0x18;\n          uVar21 = *(ushort *)&p_Var20[1]._M_nxt + 0x398c0000;\n          *puVar19 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                     (uint)*(ushort *)&p_Var20[1]._M_nxt << 0x18;\n        }\n        else {\n          *puVar23 = 0xa602087c;\n          puVar19 = puVar23 + 5;\n          uVar22 = uVar21 + 0x7ff8 >> 0x10;\n          uVar21 = uVar21 - 8 & 0xffff;\n          puVar23[1] = 0x5009f42;\n          uVar17 = uVar22 + 0x3d8c0000;\n          uVar16 = uVar21 + 0x398c0000;\n          puVar23[2] = 0xa602887d;\n          puVar23[3] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       uVar22 << 0x18;\n          puVar23[4] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar21 << 0x18;\n          *puVar19 = 0xa603087c;\n        }\n        puVar19[1] = 0xa603897d;\n        puVar19[2] = 0x2004804e;\n      }\n    }\n    if (this->need_save_res_ != false) {\n      pOVar5 = this->targ_->savres_section_;\n      if ((pOVar5->field_0x1c & 2) == 0) goto LAB_0006566c;\n      memcpy(puVar13 + this->plt_size_ + this->branch_size_,pOVar5->contents_,\n             *(size_t *)&pOVar5->field_0xc);\n    }\n  }" if (parenthesized_expression "((sVar1 != 0) || ((this->long_branch_stubs_)._M_h._M_element_count != 0))" ( (binary_expression "(sVar1 != 0) || ((this->long_branch_stubs_)._M_h._M_element_count != 0)" (parenthesized_expression "(sVar1 != 0)" ( (binary_expression "sVar1 != 0" identifier != number_literal) )) || (parenthesized_expression "((this->long_branch_stubs_)._M_h._M_element_count != 0)" ( (binary_expression "(this->long_branch_stubs_)._M_h._M_element_count != 0" (field_expression "(this->long_branch_stubs_)._M_h._M_element_count" (field_expression "(this->long_branch_stubs_)._M_h" (parenthesized_expression "(this->long_branch_stubs_)" ( (field_expression "this->long_branch_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) != number_literal) ))) )) (compound_statement "{\n    if ((this->field_0x1c & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n    }\n    if (gold::parameters->options_ == (General_options *)0x0) {\nLAB_000655b6:\n                    /* WARNING: Subroutine does not return */\n      Stub_table<64,_false>::stub_align((Stub_table<64,_false> *)in_stack_ffffffa4);\n    }\n    uVar21 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n    if (uVar21 < 0x10) {\n      uVar21 = 0x10;\n    }\n    uVar21 = (uVar21 - 1) + this->orig_data_size_ + *(int *)&this->field_0x14 & -uVar21;\n    if ((this->field_0x1c & 2) == 0) {\nLAB_0006566c:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n    }\n    uVar16 = uVar21 - *(int *)&this->field_0x14;\n    uVar22 = *(uint *)&this->field_0xc - uVar16;\n    if (*(uint *)&this->field_0x10 != (uint)(*(uint *)&this->field_0xc < uVar16)) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }\n    uVar16 = (uint)CARRY4(uVar21,uVar22);\n    iVar14 = *(int *)((int)&of->file_size_ + 4);\n    uVar22 = (uint)((uint)of->file_size_ < uVar21 + uVar22);\n    iVar10 = iVar14 - uVar16;\n    if ((SBORROW4(iVar14,uVar16) != SBORROW4(iVar10,uVar22)) != (int)(iVar10 - uVar22) < 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n    }\n    puVar13 = of->base_ + uVar21;\n    if ((sVar1 != 0) &&\n       (p_Var20 = (this->plt_call_stubs_)._M_h._M_before_begin._M_nxt,\n       p_Var20 != (_Hash_node_base *)0x0)) {\n      local_40 = -1;\n      do {\n        p_Var15 = p_Var20[1]._M_nxt;\n        pTVar2 = this->targ_;\n        if (p_Var15 == (_Hash_node_base *)0x0) {\n          p_Var15 = p_Var20[2]._M_nxt;\n          p_Var7 = p_Var20[4]._M_nxt;\n          if ((_Hash_node_base *)((int)p_Var15[0x38]._M_nxt - (int)p_Var15[0x37]._M_nxt >> 4) <=\n              p_Var7) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          if (((uint)p_Var15[0x37]._M_nxt[(int)p_Var7 * 4 + 2]._M_nxt & 0x40000000) == 0) {\n            pOVar18 = pTVar2->lplt_;\n          }\n          else {\n            pOVar18 = pTVar2->iplt_;\n            if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");\n            }\n          }\n          p_Var15 = (_Hash_node_base *)(*(code *)p_Var15->_M_nxt[0x2a]._M_nxt)(p_Var15,p_Var7);\n        }\n        else {\n          if (((uint)p_Var15[10]._M_nxt & 0xf) == 10) {\n            if (((uint)p_Var15[10]._M_nxt & 0x70000) == 0) goto LAB_00065520;\n            if (((uint)p_Var15[10]._M_nxt & 0x70000) != 0x40000) {\n              do {\n                if ((((uint)p_Var15[10]._M_nxt & 0x300) == 0) &&\n                   (((uint)p_Var15[10]._M_nxt & 0x10000000) == 0)) {\n                  pGVar4 = gold::parameters->options_;\n                  if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                  if ((pGVar4->shared_).value != false) {\n                    bVar12 = gold::Version_script_info::get_symbol_version\n                                       (&(pGVar4->dynamic_list_).version_script_info_,\n                                        (char *)p_Var15->_M_nxt,(string *)0x0,&is_global);\n                    if ((bVar12) && (is_global == false)) break;\n                    pGVar4 = gold::parameters->options_;\n                    if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                    if (((pGVar4->Bsymbolic_).value == false) &&\n                       ((((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false)))) break;\n                  }\n                }\n                pOVar18 = pTVar2->iplt_;\n                if (pOVar18 != (Output_data_plt_powerpc<32,_true> *)0x0) goto LAB_000650dd;\n                Target_powerpc<32,_true>::iplt_section(in_stack_ffffffa4);\nLAB_00065520:\n                if ((((uint)p_Var15[2]._M_nxt[0xb]._M_nxt & 1) != 0) ||\n                   ((p_Var15[3]._M_nxt == (_Hash_node_base *)0x0 &&\n                    (((uint)p_Var15[10]._M_nxt & 0x20000000) != 0)))) break;\n              } while( true );\n            }\n          }\n          pOVar18 = pTVar2->plt_;\n          if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          p_Var15 = p_Var15[6]._M_nxt;\n          if (p_Var15 == (_Hash_node_base *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if (((pOVar18->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0) goto LAB_00065211;\n        uVar21 = (int)&p_Var15->_M_nxt +\n                 (int)(pOVar18->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.address_;\n        puVar19 = (uint *)(puVar13 + (int)p_Var20[5]._M_nxt);\n        pSVar3 = this->targ_->tls_get_addr_opt_;\n        puVar23 = puVar19;\n        if ((pSVar3 != (Symbol *)0x0) &&\n           ((this->targ_->tls_get_addr_ == (Symbol *)p_Var20[1]._M_nxt ||\n            ((Symbol *)p_Var20[1]._M_nxt == pSVar3)))) {\n          *puVar19 = 0x6381;\n          puVar23 = puVar19 + 8;\n          puVar19[1] = 0x4008381;\n          puVar19[2] = 0x781b607c;\n          puVar19[3] = 0xb2c;\n          puVar19[4] = 0x14126c7c;\n          puVar19[5] = 0x2000824d;\n          puVar19[6] = 0x7803037c;\n          puVar19[7] = 0x60;\n        }\n        pGVar4 = gold::parameters->options_;\n        if (pGVar4 == (General_options *)0x0) {\nLAB_000655f9:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if (((pGVar4->shared_).value == false) && ((pGVar4->pie_).value == false)) {\n          puVar19 = puVar23 + 1;\n          uVar16 = uVar21 + 0x8000 >> 0x10;\n          uVar17 = (uVar21 & 0xffff) + 0x816b0000;\n          uVar22 = uVar16 + 0x3d600000;\n          puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       (uVar21 & 0xffff) << 0x18;\n          *puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                     uVar16 << 0x18;\n        }\n        else {\n          p_Var15 = p_Var20[2]._M_nxt;\n          if ((p_Var15 == (_Hash_node_base *)0x0) || (p_Var20[3]._M_nxt < (_Hash_node_base *)0x8000)\n             ) {\n            iVar14 = local_40;\n            if (local_40 == -1) {\n              pOVar6 = this->targ_->got_;\n              if (pOVar6 == (Output_data_got_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/powerpc.cc",0x3ae,"got_section");\n              }\n              if (((pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                   super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                   field_0x1c & 1) == 0) goto LAB_00065211;\n              iVar14 = (int)(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                            super_Output_section_data_build.super_Output_section_data.\n                            super_Output_data.address_ + pOVar6->header_index_ * 4;\n              local_40 = iVar14;\n            }\n          }\n          else {\n            p_Var7 = p_Var15[0x50]._M_nxt;\n            if ((_Hash_node_base *)((int)p_Var15[0x22]._M_nxt - (int)p_Var15[0x21]._M_nxt >> 2) <=\n                p_Var7) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n            }\n            p_Var8 = p_Var15[0x21]._M_nxt[(int)p_Var7]._M_nxt;\n            if (p_Var8 == (_Hash_node_base *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x1633,"do_write");\n            }\n            p_Var9 = p_Var15->_M_nxt[0x18]._M_nxt;\n            if (p_Var9 == (_Hash_node_base *)gold::Relobj::do_output_section) {\n              if ((_Hash_node_base *)((int)p_Var15[0xf]._M_nxt - (int)p_Var15[0xe]._M_nxt >> 2) <=\n                  p_Var7) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n              }\n              p_Var15 = p_Var15[0xe]._M_nxt[(int)p_Var7]._M_nxt;\n            }\n            else {\n              p_Var15 = (_Hash_node_base *)(*(code *)p_Var9)(p_Var15,p_Var7);\n            }\n            if (((uint)p_Var15[7]._M_nxt & 1) == 0) goto LAB_00065211;\n            iVar14 = (int)&p_Var8->_M_nxt +\n                     (int)&(p_Var15[1]._M_nxt)->_M_nxt + (int)&(p_Var20[3]._M_nxt)->_M_nxt;\n          }\n          uVar16 = uVar21 - iVar14 & 0xffff;\n          uVar21 = (uVar21 - iVar14) + 0x8000 >> 0x10;\n          if (uVar21 == 0) {\n            uVar21 = uVar16 + 0x817e0000;\n            *puVar23 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                       uVar16 << 0x18;\n            puVar19 = puVar23;\n          }\n          else {\n            uVar22 = uVar21 + 0x3d7e0000;\n            uVar17 = uVar16 + 0x816b0000;\n            *puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar21 << 0x18;\n            puVar19 = puVar23 + 1;\n            puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n          }\n        }\n        puVar19[1] = 0xa603697d;\n        puVar19[2] = 0x2004804e;\n        p_Var20 = p_Var20->_M_nxt;\n      } while (p_Var20 != (_Hash_node_base *)0x0);\n    }\n    pPVar11 = gold::parameters;\n    for (p_Var20 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\n        p_Var20 != (_Hash_node_base *)0x0; p_Var20 = p_Var20->_M_nxt) {\n      if (*(char *)&p_Var20[3]._M_nxt == '\0') {\n        puVar23 = (uint *)(puVar13 + (int)&(p_Var20[4]._M_nxt)->_M_nxt + this->plt_size_);\n        pGVar4 = pPVar11->options_;\n        if (pGVar4 == (General_options *)0x0) goto LAB_000655b6;\n        uVar21 = 1 << ((byte)(pGVar4->plt_align_).value & 0x1f);\n        if (uVar21 < 0x10) {\n          uVar21 = 0x10;\n        }\n        if ((this->field_0x1c & 1) == 0) {\nLAB_00065211:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n        uVar21 = (int)p_Var20[1]._M_nxt +\n                 (-(int)p_Var20[4]._M_nxt -\n                 ((-uVar21 & (uVar21 - 1) + *(int *)&this->field_0x4 + this->orig_data_size_) +\n                 this->plt_size_));\n        if (uVar21 + 0x2000000 < 0x4000000) {\n          *puVar23 = (uVar21 & 0x3000000 | 0x48000000) >> 0x18 | (uVar21 & 0xff0000) >> 8 |\n                     (uVar21 & 0xff00) << 8 | (uVar21 & 0xfc) << 0x18;\n          puVar19 = puVar23;\n        }\n        else if (((pGVar4->shared_).value == false) && ((pGVar4->pie_).value == false)) {\n          puVar19 = puVar23 + 1;\n          uVar21 = (uint)(p_Var20[1]._M_nxt + 0x2000) >> 0x10;\n          uVar16 = uVar21 + 0x3d800000;\n          *puVar23 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar21 << 0x18;\n          uVar21 = *(ushort *)&p_Var20[1]._M_nxt + 0x398c0000;\n          *puVar19 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                     (uint)*(ushort *)&p_Var20[1]._M_nxt << 0x18;\n        }\n        else {\n          *puVar23 = 0xa602087c;\n          puVar19 = puVar23 + 5;\n          uVar22 = uVar21 + 0x7ff8 >> 0x10;\n          uVar21 = uVar21 - 8 & 0xffff;\n          puVar23[1] = 0x5009f42;\n          uVar17 = uVar22 + 0x3d8c0000;\n          uVar16 = uVar21 + 0x398c0000;\n          puVar23[2] = 0xa602887d;\n          puVar23[3] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       uVar22 << 0x18;\n          puVar23[4] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar21 << 0x18;\n          *puVar19 = 0xa603087c;\n        }\n        puVar19[1] = 0xa603897d;\n        puVar19[2] = 0x2004804e;\n      }\n    }\n    if (this->need_save_res_ != false) {\n      pOVar5 = this->targ_->savres_section_;\n      if ((pOVar5->field_0x1c & 2) == 0) goto LAB_0006566c;\n      memcpy(puVar13 + this->plt_size_ + this->branch_size_,pOVar5->contents_,\n             *(size_t *)&pOVar5->field_0xc);\n    }\n  }" { (if_statement "if ((this->field_0x1c & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n    }" if (parenthesized_expression "((this->field_0x1c & 4) == 0)" ( (binary_expression "(this->field_0x1c & 4) == 0" (parenthesized_expression "(this->field_0x1c & 4)" ( (binary_expression "this->field_0x1c & 4" (field_expression "this->field_0x1c" identifier -> field_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 ") ))) ;)) })) (if_statement "if (gold::parameters->options_ == (General_options *)0x0) {\nLAB_000655b6:\n                    /* WARNING: Subroutine does not return */\n      Stub_table<64,_false>::stub_align((Stub_table<64,_false> *)in_stack_ffffffa4);\n    }" if (parenthesized_expression "(gold::parameters->options_ == (General_options *)0x0)" ( (ERROR "gold::" identifier : :) (binary_expression "parameters->options_ == (General_options *)0x0" (field_expression "parameters->options_" identifier -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000655b6:\n                    /* WARNING: Subroutine does not return */\n      Stub_table<64,_false>::stub_align((Stub_table<64,_false> *)in_stack_ffffffa4);\n    }" { (labeled_statement "LAB_000655b6:\n                    /* WARNING: Subroutine does not return */\n      Stub_table<64,_false>::stub_align((Stub_table<64,_false> *)in_stack_ffffffa4);" statement_identifier : comment (expression_statement "Stub_table<64,_false>::stub_align((Stub_table<64,_false> *)in_stack_ffffffa4);" (comma_expression "Stub_table<64,_false>::stub_align((Stub_table<64,_false> *)in_stack_ffffffa4)" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false>::stub_align((Stub_table<64,_false> *)in_stack_ffffffa4)" identifier > (ERROR "::" : :) (call_expression "stub_align((Stub_table<64,_false> *)in_stack_ffffffa4)" identifier (argument_list "((Stub_table<64,_false> *)in_stack_ffffffa4)" ( (parenthesized_expression "(Stub_table<64,_false> *)in_stack_ffffffa4)" ( (comma_expression "Stub_table<64,_false> *)in_stack_ffffffa4" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false> *)in_stack_ffffffa4" identifier > (pointer_expression "*)in_stack_ffffffa4" * (ERROR ")" )) identifier))) )) ))))) ;)) })) (expression_statement "uVar21 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);" (assignment_expression "uVar21 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f)" identifier = (binary_expression "1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f)" number_literal << (parenthesized_expression "((byte)(gold::parameters->options_->plt_align_).value & 0x1f)" ( (binary_expression "(byte)(gold::parameters->options_->plt_align_).value & 0x1f" (field_expression "(byte)(gold::parameters->options_->plt_align_).value" (call_expression "(byte)(gold::parameters->options_->plt_align_)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(gold::parameters->options_->plt_align_)" ( (ERROR "gold::" identifier : :) (field_expression "parameters->options_->plt_align_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) ))) . field_identifier) & number_literal) )))) ;) (if_statement "if (uVar21 < 0x10) {\n      uVar21 = 0x10;\n    }" if (parenthesized_expression "(uVar21 < 0x10)" ( (binary_expression "uVar21 < 0x10" identifier < number_literal) )) (compound_statement "{\n      uVar21 = 0x10;\n    }" { (expression_statement "uVar21 = 0x10;" (assignment_expression "uVar21 = 0x10" identifier = number_literal) ;) })) (expression_statement "uVar21 = (uVar21 - 1) + this->orig_data_size_ + *(int *)&this->field_0x14 & -uVar21;" (assignment_expression "uVar21 = (uVar21 - 1) + this->orig_data_size_ + *(int *)&this->field_0x14 & -uVar21" identifier = (binary_expression "(uVar21 - 1) + this->orig_data_size_ + *(int *)&this->field_0x14 & -uVar21" (binary_expression "(uVar21 - 1) + this->orig_data_size_ + *(int *)&this->field_0x14" (binary_expression "(uVar21 - 1) + this->orig_data_size_" (parenthesized_expression "(uVar21 - 1)" ( (binary_expression "uVar21 - 1" identifier - number_literal) )) + (field_expression "this->orig_data_size_" identifier -> field_identifier)) + (pointer_expression "*(int *)&this->field_0x14" * (cast_expression "(int *)&this->field_0x14" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0x14" & (field_expression "this->field_0x14" identifier -> field_identifier))))) & (unary_expression "-uVar21" - identifier))) ;) (if_statement "if ((this->field_0x1c & 2) == 0) {\nLAB_0006566c:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n    }" if (parenthesized_expression "((this->field_0x1c & 2) == 0)" ( (binary_expression "(this->field_0x1c & 2) == 0" (parenthesized_expression "(this->field_0x1c & 2)" ( (binary_expression "this->field_0x1c & 2" (field_expression "this->field_0x1c" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0006566c:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n    }" { (labeled_statement "LAB_0006566c:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");" statement_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 ") ))) ;))) })) (expression_statement "uVar16 = uVar21 - *(int *)&this->field_0x14;" (assignment_expression "uVar16 = uVar21 - *(int *)&this->field_0x14" identifier = (binary_expression "uVar21 - *(int *)&this->field_0x14" identifier - (pointer_expression "*(int *)&this->field_0x14" * (cast_expression "(int *)&this->field_0x14" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0x14" & (field_expression "this->field_0x14" identifier -> field_identifier)))))) ;) (expression_statement "uVar22 = *(uint *)&this->field_0xc - uVar16;" (assignment_expression "uVar22 = *(uint *)&this->field_0xc - uVar16" identifier = (binary_expression "*(uint *)&this->field_0xc - uVar16" (pointer_expression "*(uint *)&this->field_0xc" * (cast_expression "(uint *)&this->field_0xc" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0xc" & (field_expression "this->field_0xc" identifier -> field_identifier)))) - identifier)) ;) (if_statement "if (*(uint *)&this->field_0x10 != (uint)(*(uint *)&this->field_0xc < uVar16)) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }" if (parenthesized_expression "(*(uint *)&this->field_0x10 != (uint)(*(uint *)&this->field_0xc < uVar16))" ( (binary_expression "*(uint *)&this->field_0x10 != (uint)(*(uint *)&this->field_0xc < uVar16)" (pointer_expression "*(uint *)&this->field_0x10" * (cast_expression "(uint *)&this->field_0x10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0x10" & (field_expression "this->field_0x10" identifier -> field_identifier)))) != (call_expression "(uint)(*(uint *)&this->field_0xc < uVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)&this->field_0xc < uVar16)" ( (binary_expression "*(uint *)&this->field_0xc < uVar16" (pointer_expression "*(uint *)&this->field_0xc" * (cast_expression "(uint *)&this->field_0xc" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0xc" & (field_expression "this->field_0xc" identifier -> field_identifier)))) < identifier) )))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");" (call_expression "do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types")" identifier (argument_list "("../../gold/gold.h",0xc0,"convert_types")" ( (string_literal ""../../gold/gold.h"" " string_content ") , number_literal , (string_literal ""convert_types"" " string_content ") ))) ;)) })) (expression_statement "uVar16 = (uint)CARRY4(uVar21,uVar22);" (assignment_expression "uVar16 = (uint)CARRY4(uVar21,uVar22)" identifier = (cast_expression "(uint)CARRY4(uVar21,uVar22)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar21,uVar22)" identifier (argument_list "(uVar21,uVar22)" ( identifier , identifier ))))) ;) (expression_statement "iVar14 = *(int *)((int)&of->file_size_ + 4);" (assignment_expression "iVar14 = *(int *)((int)&of->file_size_ + 4)" identifier = (pointer_expression "*(int *)((int)&of->file_size_ + 4)" * (cast_expression "(int *)((int)&of->file_size_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&of->file_size_ + 4)" ( (binary_expression "(int)&of->file_size_ + 4" (cast_expression "(int)&of->file_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&of->file_size_" & (field_expression "of->file_size_" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar22 = (uint)((uint)of->file_size_ < uVar21 + uVar22);" (assignment_expression "uVar22 = (uint)((uint)of->file_size_ < uVar21 + uVar22)" identifier = (call_expression "(uint)((uint)of->file_size_ < uVar21 + uVar22)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)of->file_size_ < uVar21 + uVar22)" ( (binary_expression "(uint)of->file_size_ < uVar21 + uVar22" (cast_expression "(uint)of->file_size_" ( (type_descriptor "uint" type_identifier) ) (field_expression "of->file_size_" identifier -> field_identifier)) < (binary_expression "uVar21 + uVar22" identifier + identifier)) )))) ;) (expression_statement "iVar10 = iVar14 - uVar16;" (assignment_expression "iVar10 = iVar14 - uVar16" identifier = (binary_expression "iVar14 - uVar16" identifier - identifier)) ;) (if_statement "if ((SBORROW4(iVar14,uVar16) != SBORROW4(iVar10,uVar22)) != (int)(iVar10 - uVar22) < 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n    }" if (parenthesized_expression "((SBORROW4(iVar14,uVar16) != SBORROW4(iVar10,uVar22)) != (int)(iVar10 - uVar22) < 0)" ( (binary_expression "(SBORROW4(iVar14,uVar16) != SBORROW4(iVar10,uVar22)) != (int)(iVar10 - uVar22) < 0" (parenthesized_expression "(SBORROW4(iVar14,uVar16) != SBORROW4(iVar10,uVar22))" ( (binary_expression "SBORROW4(iVar14,uVar16) != SBORROW4(iVar10,uVar22)" (call_expression "SBORROW4(iVar14,uVar16)" identifier (argument_list "(iVar14,uVar16)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar10,uVar22)" identifier (argument_list "(iVar10,uVar22)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar10 - uVar22) < 0" (cast_expression "(int)(iVar10 - uVar22)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar10 - uVar22)" ( (binary_expression "iVar10 - uVar22" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n    }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");" (call_expression "do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view")" identifier (argument_list "("../../gold/output.h",0x6f,"get_output_view")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""get_output_view"" " string_content ") ))) ;)) })) (expression_statement "puVar13 = of->base_ + uVar21;" (assignment_expression "puVar13 = of->base_ + uVar21" identifier = (binary_expression "of->base_ + uVar21" (field_expression "of->base_" identifier -> field_identifier) + identifier)) ;) (if_statement "if ((sVar1 != 0) &&\n       (p_Var20 = (this->plt_call_stubs_)._M_h._M_before_begin._M_nxt,\n       p_Var20 != (_Hash_node_base *)0x0)) {\n      local_40 = -1;\n      do {\n        p_Var15 = p_Var20[1]._M_nxt;\n        pTVar2 = this->targ_;\n        if (p_Var15 == (_Hash_node_base *)0x0) {\n          p_Var15 = p_Var20[2]._M_nxt;\n          p_Var7 = p_Var20[4]._M_nxt;\n          if ((_Hash_node_base *)((int)p_Var15[0x38]._M_nxt - (int)p_Var15[0x37]._M_nxt >> 4) <=\n              p_Var7) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          if (((uint)p_Var15[0x37]._M_nxt[(int)p_Var7 * 4 + 2]._M_nxt & 0x40000000) == 0) {\n            pOVar18 = pTVar2->lplt_;\n          }\n          else {\n            pOVar18 = pTVar2->iplt_;\n            if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");\n            }\n          }\n          p_Var15 = (_Hash_node_base *)(*(code *)p_Var15->_M_nxt[0x2a]._M_nxt)(p_Var15,p_Var7);\n        }\n        else {\n          if (((uint)p_Var15[10]._M_nxt & 0xf) == 10) {\n            if (((uint)p_Var15[10]._M_nxt & 0x70000) == 0) goto LAB_00065520;\n            if (((uint)p_Var15[10]._M_nxt & 0x70000) != 0x40000) {\n              do {\n                if ((((uint)p_Var15[10]._M_nxt & 0x300) == 0) &&\n                   (((uint)p_Var15[10]._M_nxt & 0x10000000) == 0)) {\n                  pGVar4 = gold::parameters->options_;\n                  if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                  if ((pGVar4->shared_).value != false) {\n                    bVar12 = gold::Version_script_info::get_symbol_version\n                                       (&(pGVar4->dynamic_list_).version_script_info_,\n                                        (char *)p_Var15->_M_nxt,(string *)0x0,&is_global);\n                    if ((bVar12) && (is_global == false)) break;\n                    pGVar4 = gold::parameters->options_;\n                    if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                    if (((pGVar4->Bsymbolic_).value == false) &&\n                       ((((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false)))) break;\n                  }\n                }\n                pOVar18 = pTVar2->iplt_;\n                if (pOVar18 != (Output_data_plt_powerpc<32,_true> *)0x0) goto LAB_000650dd;\n                Target_powerpc<32,_true>::iplt_section(in_stack_ffffffa4);\nLAB_00065520:\n                if ((((uint)p_Var15[2]._M_nxt[0xb]._M_nxt & 1) != 0) ||\n                   ((p_Var15[3]._M_nxt == (_Hash_node_base *)0x0 &&\n                    (((uint)p_Var15[10]._M_nxt & 0x20000000) != 0)))) break;\n              } while( true );\n            }\n          }\n          pOVar18 = pTVar2->plt_;\n          if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          p_Var15 = p_Var15[6]._M_nxt;\n          if (p_Var15 == (_Hash_node_base *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if (((pOVar18->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0) goto LAB_00065211;\n        uVar21 = (int)&p_Var15->_M_nxt +\n                 (int)(pOVar18->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.address_;\n        puVar19 = (uint *)(puVar13 + (int)p_Var20[5]._M_nxt);\n        pSVar3 = this->targ_->tls_get_addr_opt_;\n        puVar23 = puVar19;\n        if ((pSVar3 != (Symbol *)0x0) &&\n           ((this->targ_->tls_get_addr_ == (Symbol *)p_Var20[1]._M_nxt ||\n            ((Symbol *)p_Var20[1]._M_nxt == pSVar3)))) {\n          *puVar19 = 0x6381;\n          puVar23 = puVar19 + 8;\n          puVar19[1] = 0x4008381;\n          puVar19[2] = 0x781b607c;\n          puVar19[3] = 0xb2c;\n          puVar19[4] = 0x14126c7c;\n          puVar19[5] = 0x2000824d;\n          puVar19[6] = 0x7803037c;\n          puVar19[7] = 0x60;\n        }\n        pGVar4 = gold::parameters->options_;\n        if (pGVar4 == (General_options *)0x0) {\nLAB_000655f9:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if (((pGVar4->shared_).value == false) && ((pGVar4->pie_).value == false)) {\n          puVar19 = puVar23 + 1;\n          uVar16 = uVar21 + 0x8000 >> 0x10;\n          uVar17 = (uVar21 & 0xffff) + 0x816b0000;\n          uVar22 = uVar16 + 0x3d600000;\n          puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       (uVar21 & 0xffff) << 0x18;\n          *puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                     uVar16 << 0x18;\n        }\n        else {\n          p_Var15 = p_Var20[2]._M_nxt;\n          if ((p_Var15 == (_Hash_node_base *)0x0) || (p_Var20[3]._M_nxt < (_Hash_node_base *)0x8000)\n             ) {\n            iVar14 = local_40;\n            if (local_40 == -1) {\n              pOVar6 = this->targ_->got_;\n              if (pOVar6 == (Output_data_got_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/powerpc.cc",0x3ae,"got_section");\n              }\n              if (((pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                   super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                   field_0x1c & 1) == 0) goto LAB_00065211;\n              iVar14 = (int)(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                            super_Output_section_data_build.super_Output_section_data.\n                            super_Output_data.address_ + pOVar6->header_index_ * 4;\n              local_40 = iVar14;\n            }\n          }\n          else {\n            p_Var7 = p_Var15[0x50]._M_nxt;\n            if ((_Hash_node_base *)((int)p_Var15[0x22]._M_nxt - (int)p_Var15[0x21]._M_nxt >> 2) <=\n                p_Var7) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n            }\n            p_Var8 = p_Var15[0x21]._M_nxt[(int)p_Var7]._M_nxt;\n            if (p_Var8 == (_Hash_node_base *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x1633,"do_write");\n            }\n            p_Var9 = p_Var15->_M_nxt[0x18]._M_nxt;\n            if (p_Var9 == (_Hash_node_base *)gold::Relobj::do_output_section) {\n              if ((_Hash_node_base *)((int)p_Var15[0xf]._M_nxt - (int)p_Var15[0xe]._M_nxt >> 2) <=\n                  p_Var7) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n              }\n              p_Var15 = p_Var15[0xe]._M_nxt[(int)p_Var7]._M_nxt;\n            }\n            else {\n              p_Var15 = (_Hash_node_base *)(*(code *)p_Var9)(p_Var15,p_Var7);\n            }\n            if (((uint)p_Var15[7]._M_nxt & 1) == 0) goto LAB_00065211;\n            iVar14 = (int)&p_Var8->_M_nxt +\n                     (int)&(p_Var15[1]._M_nxt)->_M_nxt + (int)&(p_Var20[3]._M_nxt)->_M_nxt;\n          }\n          uVar16 = uVar21 - iVar14 & 0xffff;\n          uVar21 = (uVar21 - iVar14) + 0x8000 >> 0x10;\n          if (uVar21 == 0) {\n            uVar21 = uVar16 + 0x817e0000;\n            *puVar23 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                       uVar16 << 0x18;\n            puVar19 = puVar23;\n          }\n          else {\n            uVar22 = uVar21 + 0x3d7e0000;\n            uVar17 = uVar16 + 0x816b0000;\n            *puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar21 << 0x18;\n            puVar19 = puVar23 + 1;\n            puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n          }\n        }\n        puVar19[1] = 0xa603697d;\n        puVar19[2] = 0x2004804e;\n        p_Var20 = p_Var20->_M_nxt;\n      } while (p_Var20 != (_Hash_node_base *)0x0);\n    }" if (parenthesized_expression "((sVar1 != 0) &&\n       (p_Var20 = (this->plt_call_stubs_)._M_h._M_before_begin._M_nxt,\n       p_Var20 != (_Hash_node_base *)0x0))" ( (binary_expression "(sVar1 != 0) &&\n       (p_Var20 = (this->plt_call_stubs_)._M_h._M_before_begin._M_nxt,\n       p_Var20 != (_Hash_node_base *)0x0)" (parenthesized_expression "(sVar1 != 0)" ( (binary_expression "sVar1 != 0" identifier != number_literal) )) && (parenthesized_expression "(p_Var20 = (this->plt_call_stubs_)._M_h._M_before_begin._M_nxt,\n       p_Var20 != (_Hash_node_base *)0x0)" ( (comma_expression "p_Var20 = (this->plt_call_stubs_)._M_h._M_before_begin._M_nxt,\n       p_Var20 != (_Hash_node_base *)0x0" (assignment_expression "p_Var20 = (this->plt_call_stubs_)._M_h._M_before_begin._M_nxt" identifier = (field_expression "(this->plt_call_stubs_)._M_h._M_before_begin._M_nxt" (field_expression "(this->plt_call_stubs_)._M_h._M_before_begin" (field_expression "(this->plt_call_stubs_)._M_h" (parenthesized_expression "(this->plt_call_stubs_)" ( (field_expression "this->plt_call_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) , (binary_expression "p_Var20 != (_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      local_40 = -1;\n      do {\n        p_Var15 = p_Var20[1]._M_nxt;\n        pTVar2 = this->targ_;\n        if (p_Var15 == (_Hash_node_base *)0x0) {\n          p_Var15 = p_Var20[2]._M_nxt;\n          p_Var7 = p_Var20[4]._M_nxt;\n          if ((_Hash_node_base *)((int)p_Var15[0x38]._M_nxt - (int)p_Var15[0x37]._M_nxt >> 4) <=\n              p_Var7) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          if (((uint)p_Var15[0x37]._M_nxt[(int)p_Var7 * 4 + 2]._M_nxt & 0x40000000) == 0) {\n            pOVar18 = pTVar2->lplt_;\n          }\n          else {\n            pOVar18 = pTVar2->iplt_;\n            if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");\n            }\n          }\n          p_Var15 = (_Hash_node_base *)(*(code *)p_Var15->_M_nxt[0x2a]._M_nxt)(p_Var15,p_Var7);\n        }\n        else {\n          if (((uint)p_Var15[10]._M_nxt & 0xf) == 10) {\n            if (((uint)p_Var15[10]._M_nxt & 0x70000) == 0) goto LAB_00065520;\n            if (((uint)p_Var15[10]._M_nxt & 0x70000) != 0x40000) {\n              do {\n                if ((((uint)p_Var15[10]._M_nxt & 0x300) == 0) &&\n                   (((uint)p_Var15[10]._M_nxt & 0x10000000) == 0)) {\n                  pGVar4 = gold::parameters->options_;\n                  if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                  if ((pGVar4->shared_).value != false) {\n                    bVar12 = gold::Version_script_info::get_symbol_version\n                                       (&(pGVar4->dynamic_list_).version_script_info_,\n                                        (char *)p_Var15->_M_nxt,(string *)0x0,&is_global);\n                    if ((bVar12) && (is_global == false)) break;\n                    pGVar4 = gold::parameters->options_;\n                    if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                    if (((pGVar4->Bsymbolic_).value == false) &&\n                       ((((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false)))) break;\n                  }\n                }\n                pOVar18 = pTVar2->iplt_;\n                if (pOVar18 != (Output_data_plt_powerpc<32,_true> *)0x0) goto LAB_000650dd;\n                Target_powerpc<32,_true>::iplt_section(in_stack_ffffffa4);\nLAB_00065520:\n                if ((((uint)p_Var15[2]._M_nxt[0xb]._M_nxt & 1) != 0) ||\n                   ((p_Var15[3]._M_nxt == (_Hash_node_base *)0x0 &&\n                    (((uint)p_Var15[10]._M_nxt & 0x20000000) != 0)))) break;\n              } while( true );\n            }\n          }\n          pOVar18 = pTVar2->plt_;\n          if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          p_Var15 = p_Var15[6]._M_nxt;\n          if (p_Var15 == (_Hash_node_base *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if (((pOVar18->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0) goto LAB_00065211;\n        uVar21 = (int)&p_Var15->_M_nxt +\n                 (int)(pOVar18->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.address_;\n        puVar19 = (uint *)(puVar13 + (int)p_Var20[5]._M_nxt);\n        pSVar3 = this->targ_->tls_get_addr_opt_;\n        puVar23 = puVar19;\n        if ((pSVar3 != (Symbol *)0x0) &&\n           ((this->targ_->tls_get_addr_ == (Symbol *)p_Var20[1]._M_nxt ||\n            ((Symbol *)p_Var20[1]._M_nxt == pSVar3)))) {\n          *puVar19 = 0x6381;\n          puVar23 = puVar19 + 8;\n          puVar19[1] = 0x4008381;\n          puVar19[2] = 0x781b607c;\n          puVar19[3] = 0xb2c;\n          puVar19[4] = 0x14126c7c;\n          puVar19[5] = 0x2000824d;\n          puVar19[6] = 0x7803037c;\n          puVar19[7] = 0x60;\n        }\n        pGVar4 = gold::parameters->options_;\n        if (pGVar4 == (General_options *)0x0) {\nLAB_000655f9:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if (((pGVar4->shared_).value == false) && ((pGVar4->pie_).value == false)) {\n          puVar19 = puVar23 + 1;\n          uVar16 = uVar21 + 0x8000 >> 0x10;\n          uVar17 = (uVar21 & 0xffff) + 0x816b0000;\n          uVar22 = uVar16 + 0x3d600000;\n          puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       (uVar21 & 0xffff) << 0x18;\n          *puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                     uVar16 << 0x18;\n        }\n        else {\n          p_Var15 = p_Var20[2]._M_nxt;\n          if ((p_Var15 == (_Hash_node_base *)0x0) || (p_Var20[3]._M_nxt < (_Hash_node_base *)0x8000)\n             ) {\n            iVar14 = local_40;\n            if (local_40 == -1) {\n              pOVar6 = this->targ_->got_;\n              if (pOVar6 == (Output_data_got_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/powerpc.cc",0x3ae,"got_section");\n              }\n              if (((pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                   super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                   field_0x1c & 1) == 0) goto LAB_00065211;\n              iVar14 = (int)(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                            super_Output_section_data_build.super_Output_section_data.\n                            super_Output_data.address_ + pOVar6->header_index_ * 4;\n              local_40 = iVar14;\n            }\n          }\n          else {\n            p_Var7 = p_Var15[0x50]._M_nxt;\n            if ((_Hash_node_base *)((int)p_Var15[0x22]._M_nxt - (int)p_Var15[0x21]._M_nxt >> 2) <=\n                p_Var7) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n            }\n            p_Var8 = p_Var15[0x21]._M_nxt[(int)p_Var7]._M_nxt;\n            if (p_Var8 == (_Hash_node_base *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x1633,"do_write");\n            }\n            p_Var9 = p_Var15->_M_nxt[0x18]._M_nxt;\n            if (p_Var9 == (_Hash_node_base *)gold::Relobj::do_output_section) {\n              if ((_Hash_node_base *)((int)p_Var15[0xf]._M_nxt - (int)p_Var15[0xe]._M_nxt >> 2) <=\n                  p_Var7) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n              }\n              p_Var15 = p_Var15[0xe]._M_nxt[(int)p_Var7]._M_nxt;\n            }\n            else {\n              p_Var15 = (_Hash_node_base *)(*(code *)p_Var9)(p_Var15,p_Var7);\n            }\n            if (((uint)p_Var15[7]._M_nxt & 1) == 0) goto LAB_00065211;\n            iVar14 = (int)&p_Var8->_M_nxt +\n                     (int)&(p_Var15[1]._M_nxt)->_M_nxt + (int)&(p_Var20[3]._M_nxt)->_M_nxt;\n          }\n          uVar16 = uVar21 - iVar14 & 0xffff;\n          uVar21 = (uVar21 - iVar14) + 0x8000 >> 0x10;\n          if (uVar21 == 0) {\n            uVar21 = uVar16 + 0x817e0000;\n            *puVar23 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                       uVar16 << 0x18;\n            puVar19 = puVar23;\n          }\n          else {\n            uVar22 = uVar21 + 0x3d7e0000;\n            uVar17 = uVar16 + 0x816b0000;\n            *puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar21 << 0x18;\n            puVar19 = puVar23 + 1;\n            puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n          }\n        }\n        puVar19[1] = 0xa603697d;\n        puVar19[2] = 0x2004804e;\n        p_Var20 = p_Var20->_M_nxt;\n      } while (p_Var20 != (_Hash_node_base *)0x0);\n    }" { (expression_statement "local_40 = -1;" (assignment_expression "local_40 = -1" identifier = number_literal) ;) (do_statement "do {\n        p_Var15 = p_Var20[1]._M_nxt;\n        pTVar2 = this->targ_;\n        if (p_Var15 == (_Hash_node_base *)0x0) {\n          p_Var15 = p_Var20[2]._M_nxt;\n          p_Var7 = p_Var20[4]._M_nxt;\n          if ((_Hash_node_base *)((int)p_Var15[0x38]._M_nxt - (int)p_Var15[0x37]._M_nxt >> 4) <=\n              p_Var7) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          if (((uint)p_Var15[0x37]._M_nxt[(int)p_Var7 * 4 + 2]._M_nxt & 0x40000000) == 0) {\n            pOVar18 = pTVar2->lplt_;\n          }\n          else {\n            pOVar18 = pTVar2->iplt_;\n            if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");\n            }\n          }\n          p_Var15 = (_Hash_node_base *)(*(code *)p_Var15->_M_nxt[0x2a]._M_nxt)(p_Var15,p_Var7);\n        }\n        else {\n          if (((uint)p_Var15[10]._M_nxt & 0xf) == 10) {\n            if (((uint)p_Var15[10]._M_nxt & 0x70000) == 0) goto LAB_00065520;\n            if (((uint)p_Var15[10]._M_nxt & 0x70000) != 0x40000) {\n              do {\n                if ((((uint)p_Var15[10]._M_nxt & 0x300) == 0) &&\n                   (((uint)p_Var15[10]._M_nxt & 0x10000000) == 0)) {\n                  pGVar4 = gold::parameters->options_;\n                  if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                  if ((pGVar4->shared_).value != false) {\n                    bVar12 = gold::Version_script_info::get_symbol_version\n                                       (&(pGVar4->dynamic_list_).version_script_info_,\n                                        (char *)p_Var15->_M_nxt,(string *)0x0,&is_global);\n                    if ((bVar12) && (is_global == false)) break;\n                    pGVar4 = gold::parameters->options_;\n                    if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                    if (((pGVar4->Bsymbolic_).value == false) &&\n                       ((((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false)))) break;\n                  }\n                }\n                pOVar18 = pTVar2->iplt_;\n                if (pOVar18 != (Output_data_plt_powerpc<32,_true> *)0x0) goto LAB_000650dd;\n                Target_powerpc<32,_true>::iplt_section(in_stack_ffffffa4);\nLAB_00065520:\n                if ((((uint)p_Var15[2]._M_nxt[0xb]._M_nxt & 1) != 0) ||\n                   ((p_Var15[3]._M_nxt == (_Hash_node_base *)0x0 &&\n                    (((uint)p_Var15[10]._M_nxt & 0x20000000) != 0)))) break;\n              } while( true );\n            }\n          }\n          pOVar18 = pTVar2->plt_;\n          if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          p_Var15 = p_Var15[6]._M_nxt;\n          if (p_Var15 == (_Hash_node_base *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if (((pOVar18->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0) goto LAB_00065211;\n        uVar21 = (int)&p_Var15->_M_nxt +\n                 (int)(pOVar18->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.address_;\n        puVar19 = (uint *)(puVar13 + (int)p_Var20[5]._M_nxt);\n        pSVar3 = this->targ_->tls_get_addr_opt_;\n        puVar23 = puVar19;\n        if ((pSVar3 != (Symbol *)0x0) &&\n           ((this->targ_->tls_get_addr_ == (Symbol *)p_Var20[1]._M_nxt ||\n            ((Symbol *)p_Var20[1]._M_nxt == pSVar3)))) {\n          *puVar19 = 0x6381;\n          puVar23 = puVar19 + 8;\n          puVar19[1] = 0x4008381;\n          puVar19[2] = 0x781b607c;\n          puVar19[3] = 0xb2c;\n          puVar19[4] = 0x14126c7c;\n          puVar19[5] = 0x2000824d;\n          puVar19[6] = 0x7803037c;\n          puVar19[7] = 0x60;\n        }\n        pGVar4 = gold::parameters->options_;\n        if (pGVar4 == (General_options *)0x0) {\nLAB_000655f9:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if (((pGVar4->shared_).value == false) && ((pGVar4->pie_).value == false)) {\n          puVar19 = puVar23 + 1;\n          uVar16 = uVar21 + 0x8000 >> 0x10;\n          uVar17 = (uVar21 & 0xffff) + 0x816b0000;\n          uVar22 = uVar16 + 0x3d600000;\n          puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       (uVar21 & 0xffff) << 0x18;\n          *puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                     uVar16 << 0x18;\n        }\n        else {\n          p_Var15 = p_Var20[2]._M_nxt;\n          if ((p_Var15 == (_Hash_node_base *)0x0) || (p_Var20[3]._M_nxt < (_Hash_node_base *)0x8000)\n             ) {\n            iVar14 = local_40;\n            if (local_40 == -1) {\n              pOVar6 = this->targ_->got_;\n              if (pOVar6 == (Output_data_got_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/powerpc.cc",0x3ae,"got_section");\n              }\n              if (((pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                   super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                   field_0x1c & 1) == 0) goto LAB_00065211;\n              iVar14 = (int)(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                            super_Output_section_data_build.super_Output_section_data.\n                            super_Output_data.address_ + pOVar6->header_index_ * 4;\n              local_40 = iVar14;\n            }\n          }\n          else {\n            p_Var7 = p_Var15[0x50]._M_nxt;\n            if ((_Hash_node_base *)((int)p_Var15[0x22]._M_nxt - (int)p_Var15[0x21]._M_nxt >> 2) <=\n                p_Var7) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n            }\n            p_Var8 = p_Var15[0x21]._M_nxt[(int)p_Var7]._M_nxt;\n            if (p_Var8 == (_Hash_node_base *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x1633,"do_write");\n            }\n            p_Var9 = p_Var15->_M_nxt[0x18]._M_nxt;\n            if (p_Var9 == (_Hash_node_base *)gold::Relobj::do_output_section) {\n              if ((_Hash_node_base *)((int)p_Var15[0xf]._M_nxt - (int)p_Var15[0xe]._M_nxt >> 2) <=\n                  p_Var7) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n              }\n              p_Var15 = p_Var15[0xe]._M_nxt[(int)p_Var7]._M_nxt;\n            }\n            else {\n              p_Var15 = (_Hash_node_base *)(*(code *)p_Var9)(p_Var15,p_Var7);\n            }\n            if (((uint)p_Var15[7]._M_nxt & 1) == 0) goto LAB_00065211;\n            iVar14 = (int)&p_Var8->_M_nxt +\n                     (int)&(p_Var15[1]._M_nxt)->_M_nxt + (int)&(p_Var20[3]._M_nxt)->_M_nxt;\n          }\n          uVar16 = uVar21 - iVar14 & 0xffff;\n          uVar21 = (uVar21 - iVar14) + 0x8000 >> 0x10;\n          if (uVar21 == 0) {\n            uVar21 = uVar16 + 0x817e0000;\n            *puVar23 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                       uVar16 << 0x18;\n            puVar19 = puVar23;\n          }\n          else {\n            uVar22 = uVar21 + 0x3d7e0000;\n            uVar17 = uVar16 + 0x816b0000;\n            *puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar21 << 0x18;\n            puVar19 = puVar23 + 1;\n            puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n          }\n        }\n        puVar19[1] = 0xa603697d;\n        puVar19[2] = 0x2004804e;\n        p_Var20 = p_Var20->_M_nxt;\n      } while (p_Var20 != (_Hash_node_base *)0x0);" do (compound_statement "{\n        p_Var15 = p_Var20[1]._M_nxt;\n        pTVar2 = this->targ_;\n        if (p_Var15 == (_Hash_node_base *)0x0) {\n          p_Var15 = p_Var20[2]._M_nxt;\n          p_Var7 = p_Var20[4]._M_nxt;\n          if ((_Hash_node_base *)((int)p_Var15[0x38]._M_nxt - (int)p_Var15[0x37]._M_nxt >> 4) <=\n              p_Var7) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          if (((uint)p_Var15[0x37]._M_nxt[(int)p_Var7 * 4 + 2]._M_nxt & 0x40000000) == 0) {\n            pOVar18 = pTVar2->lplt_;\n          }\n          else {\n            pOVar18 = pTVar2->iplt_;\n            if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");\n            }\n          }\n          p_Var15 = (_Hash_node_base *)(*(code *)p_Var15->_M_nxt[0x2a]._M_nxt)(p_Var15,p_Var7);\n        }\n        else {\n          if (((uint)p_Var15[10]._M_nxt & 0xf) == 10) {\n            if (((uint)p_Var15[10]._M_nxt & 0x70000) == 0) goto LAB_00065520;\n            if (((uint)p_Var15[10]._M_nxt & 0x70000) != 0x40000) {\n              do {\n                if ((((uint)p_Var15[10]._M_nxt & 0x300) == 0) &&\n                   (((uint)p_Var15[10]._M_nxt & 0x10000000) == 0)) {\n                  pGVar4 = gold::parameters->options_;\n                  if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                  if ((pGVar4->shared_).value != false) {\n                    bVar12 = gold::Version_script_info::get_symbol_version\n                                       (&(pGVar4->dynamic_list_).version_script_info_,\n                                        (char *)p_Var15->_M_nxt,(string *)0x0,&is_global);\n                    if ((bVar12) && (is_global == false)) break;\n                    pGVar4 = gold::parameters->options_;\n                    if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                    if (((pGVar4->Bsymbolic_).value == false) &&\n                       ((((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false)))) break;\n                  }\n                }\n                pOVar18 = pTVar2->iplt_;\n                if (pOVar18 != (Output_data_plt_powerpc<32,_true> *)0x0) goto LAB_000650dd;\n                Target_powerpc<32,_true>::iplt_section(in_stack_ffffffa4);\nLAB_00065520:\n                if ((((uint)p_Var15[2]._M_nxt[0xb]._M_nxt & 1) != 0) ||\n                   ((p_Var15[3]._M_nxt == (_Hash_node_base *)0x0 &&\n                    (((uint)p_Var15[10]._M_nxt & 0x20000000) != 0)))) break;\n              } while( true );\n            }\n          }\n          pOVar18 = pTVar2->plt_;\n          if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          p_Var15 = p_Var15[6]._M_nxt;\n          if (p_Var15 == (_Hash_node_base *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if (((pOVar18->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0) goto LAB_00065211;\n        uVar21 = (int)&p_Var15->_M_nxt +\n                 (int)(pOVar18->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.address_;\n        puVar19 = (uint *)(puVar13 + (int)p_Var20[5]._M_nxt);\n        pSVar3 = this->targ_->tls_get_addr_opt_;\n        puVar23 = puVar19;\n        if ((pSVar3 != (Symbol *)0x0) &&\n           ((this->targ_->tls_get_addr_ == (Symbol *)p_Var20[1]._M_nxt ||\n            ((Symbol *)p_Var20[1]._M_nxt == pSVar3)))) {\n          *puVar19 = 0x6381;\n          puVar23 = puVar19 + 8;\n          puVar19[1] = 0x4008381;\n          puVar19[2] = 0x781b607c;\n          puVar19[3] = 0xb2c;\n          puVar19[4] = 0x14126c7c;\n          puVar19[5] = 0x2000824d;\n          puVar19[6] = 0x7803037c;\n          puVar19[7] = 0x60;\n        }\n        pGVar4 = gold::parameters->options_;\n        if (pGVar4 == (General_options *)0x0) {\nLAB_000655f9:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        if (((pGVar4->shared_).value == false) && ((pGVar4->pie_).value == false)) {\n          puVar19 = puVar23 + 1;\n          uVar16 = uVar21 + 0x8000 >> 0x10;\n          uVar17 = (uVar21 & 0xffff) + 0x816b0000;\n          uVar22 = uVar16 + 0x3d600000;\n          puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       (uVar21 & 0xffff) << 0x18;\n          *puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                     uVar16 << 0x18;\n        }\n        else {\n          p_Var15 = p_Var20[2]._M_nxt;\n          if ((p_Var15 == (_Hash_node_base *)0x0) || (p_Var20[3]._M_nxt < (_Hash_node_base *)0x8000)\n             ) {\n            iVar14 = local_40;\n            if (local_40 == -1) {\n              pOVar6 = this->targ_->got_;\n              if (pOVar6 == (Output_data_got_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/powerpc.cc",0x3ae,"got_section");\n              }\n              if (((pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                   super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                   field_0x1c & 1) == 0) goto LAB_00065211;\n              iVar14 = (int)(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                            super_Output_section_data_build.super_Output_section_data.\n                            super_Output_data.address_ + pOVar6->header_index_ * 4;\n              local_40 = iVar14;\n            }\n          }\n          else {\n            p_Var7 = p_Var15[0x50]._M_nxt;\n            if ((_Hash_node_base *)((int)p_Var15[0x22]._M_nxt - (int)p_Var15[0x21]._M_nxt >> 2) <=\n                p_Var7) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n            }\n            p_Var8 = p_Var15[0x21]._M_nxt[(int)p_Var7]._M_nxt;\n            if (p_Var8 == (_Hash_node_base *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x1633,"do_write");\n            }\n            p_Var9 = p_Var15->_M_nxt[0x18]._M_nxt;\n            if (p_Var9 == (_Hash_node_base *)gold::Relobj::do_output_section) {\n              if ((_Hash_node_base *)((int)p_Var15[0xf]._M_nxt - (int)p_Var15[0xe]._M_nxt >> 2) <=\n                  p_Var7) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n              }\n              p_Var15 = p_Var15[0xe]._M_nxt[(int)p_Var7]._M_nxt;\n            }\n            else {\n              p_Var15 = (_Hash_node_base *)(*(code *)p_Var9)(p_Var15,p_Var7);\n            }\n            if (((uint)p_Var15[7]._M_nxt & 1) == 0) goto LAB_00065211;\n            iVar14 = (int)&p_Var8->_M_nxt +\n                     (int)&(p_Var15[1]._M_nxt)->_M_nxt + (int)&(p_Var20[3]._M_nxt)->_M_nxt;\n          }\n          uVar16 = uVar21 - iVar14 & 0xffff;\n          uVar21 = (uVar21 - iVar14) + 0x8000 >> 0x10;\n          if (uVar21 == 0) {\n            uVar21 = uVar16 + 0x817e0000;\n            *puVar23 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                       uVar16 << 0x18;\n            puVar19 = puVar23;\n          }\n          else {\n            uVar22 = uVar21 + 0x3d7e0000;\n            uVar17 = uVar16 + 0x816b0000;\n            *puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar21 << 0x18;\n            puVar19 = puVar23 + 1;\n            puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n          }\n        }\n        puVar19[1] = 0xa603697d;\n        puVar19[2] = 0x2004804e;\n        p_Var20 = p_Var20->_M_nxt;\n      }" { (expression_statement "p_Var15 = p_Var20[1]._M_nxt;" (assignment_expression "p_Var15 = p_Var20[1]._M_nxt" identifier = (field_expression "p_Var20[1]._M_nxt" (subscript_expression "p_Var20[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pTVar2 = this->targ_;" (assignment_expression "pTVar2 = this->targ_" identifier = (field_expression "this->targ_" identifier -> field_identifier)) ;) (if_statement "if (p_Var15 == (_Hash_node_base *)0x0) {\n          p_Var15 = p_Var20[2]._M_nxt;\n          p_Var7 = p_Var20[4]._M_nxt;\n          if ((_Hash_node_base *)((int)p_Var15[0x38]._M_nxt - (int)p_Var15[0x37]._M_nxt >> 4) <=\n              p_Var7) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          if (((uint)p_Var15[0x37]._M_nxt[(int)p_Var7 * 4 + 2]._M_nxt & 0x40000000) == 0) {\n            pOVar18 = pTVar2->lplt_;\n          }\n          else {\n            pOVar18 = pTVar2->iplt_;\n            if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");\n            }\n          }\n          p_Var15 = (_Hash_node_base *)(*(code *)p_Var15->_M_nxt[0x2a]._M_nxt)(p_Var15,p_Var7);\n        }\n        else {\n          if (((uint)p_Var15[10]._M_nxt & 0xf) == 10) {\n            if (((uint)p_Var15[10]._M_nxt & 0x70000) == 0) goto LAB_00065520;\n            if (((uint)p_Var15[10]._M_nxt & 0x70000) != 0x40000) {\n              do {\n                if ((((uint)p_Var15[10]._M_nxt & 0x300) == 0) &&\n                   (((uint)p_Var15[10]._M_nxt & 0x10000000) == 0)) {\n                  pGVar4 = gold::parameters->options_;\n                  if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                  if ((pGVar4->shared_).value != false) {\n                    bVar12 = gold::Version_script_info::get_symbol_version\n                                       (&(pGVar4->dynamic_list_).version_script_info_,\n                                        (char *)p_Var15->_M_nxt,(string *)0x0,&is_global);\n                    if ((bVar12) && (is_global == false)) break;\n                    pGVar4 = gold::parameters->options_;\n                    if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                    if (((pGVar4->Bsymbolic_).value == false) &&\n                       ((((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false)))) break;\n                  }\n                }\n                pOVar18 = pTVar2->iplt_;\n                if (pOVar18 != (Output_data_plt_powerpc<32,_true> *)0x0) goto LAB_000650dd;\n                Target_powerpc<32,_true>::iplt_section(in_stack_ffffffa4);\nLAB_00065520:\n                if ((((uint)p_Var15[2]._M_nxt[0xb]._M_nxt & 1) != 0) ||\n                   ((p_Var15[3]._M_nxt == (_Hash_node_base *)0x0 &&\n                    (((uint)p_Var15[10]._M_nxt & 0x20000000) != 0)))) break;\n              } while( true );\n            }\n          }\n          pOVar18 = pTVar2->plt_;\n          if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          p_Var15 = p_Var15[6]._M_nxt;\n          if (p_Var15 == (_Hash_node_base *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }" if (parenthesized_expression "(p_Var15 == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var15 == (_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          p_Var15 = p_Var20[2]._M_nxt;\n          p_Var7 = p_Var20[4]._M_nxt;\n          if ((_Hash_node_base *)((int)p_Var15[0x38]._M_nxt - (int)p_Var15[0x37]._M_nxt >> 4) <=\n              p_Var7) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          if (((uint)p_Var15[0x37]._M_nxt[(int)p_Var7 * 4 + 2]._M_nxt & 0x40000000) == 0) {\n            pOVar18 = pTVar2->lplt_;\n          }\n          else {\n            pOVar18 = pTVar2->iplt_;\n            if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");\n            }\n          }\n          p_Var15 = (_Hash_node_base *)(*(code *)p_Var15->_M_nxt[0x2a]._M_nxt)(p_Var15,p_Var7);\n        }" { (expression_statement "p_Var15 = p_Var20[2]._M_nxt;" (assignment_expression "p_Var15 = p_Var20[2]._M_nxt" identifier = (field_expression "p_Var20[2]._M_nxt" (subscript_expression "p_Var20[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "p_Var7 = p_Var20[4]._M_nxt;" (assignment_expression "p_Var7 = p_Var20[4]._M_nxt" identifier = (field_expression "p_Var20[4]._M_nxt" (subscript_expression "p_Var20[4]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if ((_Hash_node_base *)((int)p_Var15[0x38]._M_nxt - (int)p_Var15[0x37]._M_nxt >> 4) <=\n              p_Var7) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n          }" if (parenthesized_expression "((_Hash_node_base *)((int)p_Var15[0x38]._M_nxt - (int)p_Var15[0x37]._M_nxt >> 4) <=\n              p_Var7)" ( (binary_expression "(_Hash_node_base *)((int)p_Var15[0x38]._M_nxt - (int)p_Var15[0x37]._M_nxt >> 4) <=\n              p_Var7" (cast_expression "(_Hash_node_base *)((int)p_Var15[0x38]._M_nxt - (int)p_Var15[0x37]._M_nxt >> 4)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p_Var15[0x38]._M_nxt - (int)p_Var15[0x37]._M_nxt >> 4)" ( (binary_expression "(int)p_Var15[0x38]._M_nxt - (int)p_Var15[0x37]._M_nxt >> 4" (binary_expression "(int)p_Var15[0x38]._M_nxt - (int)p_Var15[0x37]._M_nxt" (cast_expression "(int)p_Var15[0x38]._M_nxt" ( (type_descriptor "int" primitive_type) ) (field_expression "p_Var15[0x38]._M_nxt" (subscript_expression "p_Var15[0x38]" identifier [ number_literal ]) . field_identifier)) - (cast_expression "(int)p_Var15[0x37]._M_nxt" ( (type_descriptor "int" primitive_type) ) (field_expression "p_Var15[0x37]._M_nxt" (subscript_expression "p_Var15[0x37]" identifier [ number_literal ]) . field_identifier))) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n          }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");" (call_expression "do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol")" identifier (argument_list "("../../gold/object.h",0x8c1,"local_symbol")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""local_symbol"" " string_content ") ))) ;)) })) (if_statement "if (((uint)p_Var15[0x37]._M_nxt[(int)p_Var7 * 4 + 2]._M_nxt & 0x40000000) == 0) {\n            pOVar18 = pTVar2->lplt_;\n          }\n          else {\n            pOVar18 = pTVar2->iplt_;\n            if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");\n            }\n          }" if (parenthesized_expression "(((uint)p_Var15[0x37]._M_nxt[(int)p_Var7 * 4 + 2]._M_nxt & 0x40000000) == 0)" ( (binary_expression "((uint)p_Var15[0x37]._M_nxt[(int)p_Var7 * 4 + 2]._M_nxt & 0x40000000) == 0" (parenthesized_expression "((uint)p_Var15[0x37]._M_nxt[(int)p_Var7 * 4 + 2]._M_nxt & 0x40000000)" ( (binary_expression "(uint)p_Var15[0x37]._M_nxt[(int)p_Var7 * 4 + 2]._M_nxt & 0x40000000" (cast_expression "(uint)p_Var15[0x37]._M_nxt[(int)p_Var7 * 4 + 2]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var15[0x37]._M_nxt[(int)p_Var7 * 4 + 2]._M_nxt" (subscript_expression "p_Var15[0x37]._M_nxt[(int)p_Var7 * 4 + 2]" (field_expression "p_Var15[0x37]._M_nxt" (subscript_expression "p_Var15[0x37]" identifier [ number_literal ]) . field_identifier) [ (binary_expression "(int)p_Var7 * 4 + 2" (binary_expression "(int)p_Var7 * 4" (cast_expression "(int)p_Var7" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + number_literal) ]) . field_identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n            pOVar18 = pTVar2->lplt_;\n          }" { (expression_statement "pOVar18 = pTVar2->lplt_;" (assignment_expression "pOVar18 = pTVar2->lplt_" identifier = (field_expression "pTVar2->lplt_" identifier -> field_identifier)) ;) }) (else_clause "else {\n            pOVar18 = pTVar2->iplt_;\n            if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");\n            }\n          }" else (compound_statement "{\n            pOVar18 = pTVar2->iplt_;\n            if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");\n            }\n          }" { (expression_statement "pOVar18 = pTVar2->iplt_;" (assignment_expression "pOVar18 = pTVar2->iplt_" identifier = (field_expression "pTVar2->iplt_" identifier -> field_identifier)) ;) (if_statement "if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");\n            }" if (parenthesized_expression "(pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0)" ( (binary_expression "pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0)" identifier == (parenthesized_expression "(Output_data_plt_powerpc<32,_true> *)0x0)" ( (comma_expression "Output_data_plt_powerpc<32,_true> *)0x0" (binary_expression "Output_data_plt_powerpc<32" identifier < number_literal) , (binary_expression "_true> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");\n            }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");" (call_expression "do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section")" identifier (argument_list "("../../gold/powerpc.cc",0x372,"iplt_section")" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""iplt_section"" " string_content ") ))) ;)) })) }))) (expression_statement "p_Var15 = (_Hash_node_base *)(*(code *)p_Var15->_M_nxt[0x2a]._M_nxt)(p_Var15,p_Var7);" (assignment_expression "p_Var15 = (_Hash_node_base *)(*(code *)p_Var15->_M_nxt[0x2a]._M_nxt)(p_Var15,p_Var7)" identifier = (cast_expression "(_Hash_node_base *)(*(code *)p_Var15->_M_nxt[0x2a]._M_nxt)(p_Var15,p_Var7)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)p_Var15->_M_nxt[0x2a]._M_nxt)(p_Var15,p_Var7)" (parenthesized_expression "(*(code *)p_Var15->_M_nxt[0x2a]._M_nxt)" ( (pointer_expression "*(code *)p_Var15->_M_nxt[0x2a]._M_nxt" * (cast_expression "(code *)p_Var15->_M_nxt[0x2a]._M_nxt" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var15->_M_nxt[0x2a]._M_nxt" (subscript_expression "p_Var15->_M_nxt[0x2a]" (field_expression "p_Var15->_M_nxt" identifier -> field_identifier) [ number_literal ]) . field_identifier))) )) (argument_list "(p_Var15,p_Var7)" ( identifier , identifier ))))) ;) }) (else_clause "else {\n          if (((uint)p_Var15[10]._M_nxt & 0xf) == 10) {\n            if (((uint)p_Var15[10]._M_nxt & 0x70000) == 0) goto LAB_00065520;\n            if (((uint)p_Var15[10]._M_nxt & 0x70000) != 0x40000) {\n              do {\n                if ((((uint)p_Var15[10]._M_nxt & 0x300) == 0) &&\n                   (((uint)p_Var15[10]._M_nxt & 0x10000000) == 0)) {\n                  pGVar4 = gold::parameters->options_;\n                  if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                  if ((pGVar4->shared_).value != false) {\n                    bVar12 = gold::Version_script_info::get_symbol_version\n                                       (&(pGVar4->dynamic_list_).version_script_info_,\n                                        (char *)p_Var15->_M_nxt,(string *)0x0,&is_global);\n                    if ((bVar12) && (is_global == false)) break;\n                    pGVar4 = gold::parameters->options_;\n                    if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                    if (((pGVar4->Bsymbolic_).value == false) &&\n                       ((((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false)))) break;\n                  }\n                }\n                pOVar18 = pTVar2->iplt_;\n                if (pOVar18 != (Output_data_plt_powerpc<32,_true> *)0x0) goto LAB_000650dd;\n                Target_powerpc<32,_true>::iplt_section(in_stack_ffffffa4);\nLAB_00065520:\n                if ((((uint)p_Var15[2]._M_nxt[0xb]._M_nxt & 1) != 0) ||\n                   ((p_Var15[3]._M_nxt == (_Hash_node_base *)0x0 &&\n                    (((uint)p_Var15[10]._M_nxt & 0x20000000) != 0)))) break;\n              } while( true );\n            }\n          }\n          pOVar18 = pTVar2->plt_;\n          if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          p_Var15 = p_Var15[6]._M_nxt;\n          if (p_Var15 == (_Hash_node_base *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }" else (compound_statement "{\n          if (((uint)p_Var15[10]._M_nxt & 0xf) == 10) {\n            if (((uint)p_Var15[10]._M_nxt & 0x70000) == 0) goto LAB_00065520;\n            if (((uint)p_Var15[10]._M_nxt & 0x70000) != 0x40000) {\n              do {\n                if ((((uint)p_Var15[10]._M_nxt & 0x300) == 0) &&\n                   (((uint)p_Var15[10]._M_nxt & 0x10000000) == 0)) {\n                  pGVar4 = gold::parameters->options_;\n                  if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                  if ((pGVar4->shared_).value != false) {\n                    bVar12 = gold::Version_script_info::get_symbol_version\n                                       (&(pGVar4->dynamic_list_).version_script_info_,\n                                        (char *)p_Var15->_M_nxt,(string *)0x0,&is_global);\n                    if ((bVar12) && (is_global == false)) break;\n                    pGVar4 = gold::parameters->options_;\n                    if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                    if (((pGVar4->Bsymbolic_).value == false) &&\n                       ((((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false)))) break;\n                  }\n                }\n                pOVar18 = pTVar2->iplt_;\n                if (pOVar18 != (Output_data_plt_powerpc<32,_true> *)0x0) goto LAB_000650dd;\n                Target_powerpc<32,_true>::iplt_section(in_stack_ffffffa4);\nLAB_00065520:\n                if ((((uint)p_Var15[2]._M_nxt[0xb]._M_nxt & 1) != 0) ||\n                   ((p_Var15[3]._M_nxt == (_Hash_node_base *)0x0 &&\n                    (((uint)p_Var15[10]._M_nxt & 0x20000000) != 0)))) break;\n              } while( true );\n            }\n          }\n          pOVar18 = pTVar2->plt_;\n          if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          p_Var15 = p_Var15[6]._M_nxt;\n          if (p_Var15 == (_Hash_node_base *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }" { (if_statement "if (((uint)p_Var15[10]._M_nxt & 0xf) == 10) {\n            if (((uint)p_Var15[10]._M_nxt & 0x70000) == 0) goto LAB_00065520;\n            if (((uint)p_Var15[10]._M_nxt & 0x70000) != 0x40000) {\n              do {\n                if ((((uint)p_Var15[10]._M_nxt & 0x300) == 0) &&\n                   (((uint)p_Var15[10]._M_nxt & 0x10000000) == 0)) {\n                  pGVar4 = gold::parameters->options_;\n                  if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                  if ((pGVar4->shared_).value != false) {\n                    bVar12 = gold::Version_script_info::get_symbol_version\n                                       (&(pGVar4->dynamic_list_).version_script_info_,\n                                        (char *)p_Var15->_M_nxt,(string *)0x0,&is_global);\n                    if ((bVar12) && (is_global == false)) break;\n                    pGVar4 = gold::parameters->options_;\n                    if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                    if (((pGVar4->Bsymbolic_).value == false) &&\n                       ((((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false)))) break;\n                  }\n                }\n                pOVar18 = pTVar2->iplt_;\n                if (pOVar18 != (Output_data_plt_powerpc<32,_true> *)0x0) goto LAB_000650dd;\n                Target_powerpc<32,_true>::iplt_section(in_stack_ffffffa4);\nLAB_00065520:\n                if ((((uint)p_Var15[2]._M_nxt[0xb]._M_nxt & 1) != 0) ||\n                   ((p_Var15[3]._M_nxt == (_Hash_node_base *)0x0 &&\n                    (((uint)p_Var15[10]._M_nxt & 0x20000000) != 0)))) break;\n              } while( true );\n            }\n          }" if (parenthesized_expression "(((uint)p_Var15[10]._M_nxt & 0xf) == 10)" ( (binary_expression "((uint)p_Var15[10]._M_nxt & 0xf) == 10" (parenthesized_expression "((uint)p_Var15[10]._M_nxt & 0xf)" ( (binary_expression "(uint)p_Var15[10]._M_nxt & 0xf" (cast_expression "(uint)p_Var15[10]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var15[10]._M_nxt" (subscript_expression "p_Var15[10]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n            if (((uint)p_Var15[10]._M_nxt & 0x70000) == 0) goto LAB_00065520;\n            if (((uint)p_Var15[10]._M_nxt & 0x70000) != 0x40000) {\n              do {\n                if ((((uint)p_Var15[10]._M_nxt & 0x300) == 0) &&\n                   (((uint)p_Var15[10]._M_nxt & 0x10000000) == 0)) {\n                  pGVar4 = gold::parameters->options_;\n                  if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                  if ((pGVar4->shared_).value != false) {\n                    bVar12 = gold::Version_script_info::get_symbol_version\n                                       (&(pGVar4->dynamic_list_).version_script_info_,\n                                        (char *)p_Var15->_M_nxt,(string *)0x0,&is_global);\n                    if ((bVar12) && (is_global == false)) break;\n                    pGVar4 = gold::parameters->options_;\n                    if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                    if (((pGVar4->Bsymbolic_).value == false) &&\n                       ((((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false)))) break;\n                  }\n                }\n                pOVar18 = pTVar2->iplt_;\n                if (pOVar18 != (Output_data_plt_powerpc<32,_true> *)0x0) goto LAB_000650dd;\n                Target_powerpc<32,_true>::iplt_section(in_stack_ffffffa4);\nLAB_00065520:\n                if ((((uint)p_Var15[2]._M_nxt[0xb]._M_nxt & 1) != 0) ||\n                   ((p_Var15[3]._M_nxt == (_Hash_node_base *)0x0 &&\n                    (((uint)p_Var15[10]._M_nxt & 0x20000000) != 0)))) break;\n              } while( true );\n            }\n          }" { (if_statement "if (((uint)p_Var15[10]._M_nxt & 0x70000) == 0) goto LAB_00065520;" if (parenthesized_expression "(((uint)p_Var15[10]._M_nxt & 0x70000) == 0)" ( (binary_expression "((uint)p_Var15[10]._M_nxt & 0x70000) == 0" (parenthesized_expression "((uint)p_Var15[10]._M_nxt & 0x70000)" ( (binary_expression "(uint)p_Var15[10]._M_nxt & 0x70000" (cast_expression "(uint)p_Var15[10]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var15[10]._M_nxt" (subscript_expression "p_Var15[10]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00065520;" goto statement_identifier ;)) (if_statement "if (((uint)p_Var15[10]._M_nxt & 0x70000) != 0x40000) {\n              do {\n                if ((((uint)p_Var15[10]._M_nxt & 0x300) == 0) &&\n                   (((uint)p_Var15[10]._M_nxt & 0x10000000) == 0)) {\n                  pGVar4 = gold::parameters->options_;\n                  if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                  if ((pGVar4->shared_).value != false) {\n                    bVar12 = gold::Version_script_info::get_symbol_version\n                                       (&(pGVar4->dynamic_list_).version_script_info_,\n                                        (char *)p_Var15->_M_nxt,(string *)0x0,&is_global);\n                    if ((bVar12) && (is_global == false)) break;\n                    pGVar4 = gold::parameters->options_;\n                    if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                    if (((pGVar4->Bsymbolic_).value == false) &&\n                       ((((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false)))) break;\n                  }\n                }\n                pOVar18 = pTVar2->iplt_;\n                if (pOVar18 != (Output_data_plt_powerpc<32,_true> *)0x0) goto LAB_000650dd;\n                Target_powerpc<32,_true>::iplt_section(in_stack_ffffffa4);\nLAB_00065520:\n                if ((((uint)p_Var15[2]._M_nxt[0xb]._M_nxt & 1) != 0) ||\n                   ((p_Var15[3]._M_nxt == (_Hash_node_base *)0x0 &&\n                    (((uint)p_Var15[10]._M_nxt & 0x20000000) != 0)))) break;\n              } while( true );\n            }" if (parenthesized_expression "(((uint)p_Var15[10]._M_nxt & 0x70000) != 0x40000)" ( (binary_expression "((uint)p_Var15[10]._M_nxt & 0x70000) != 0x40000" (parenthesized_expression "((uint)p_Var15[10]._M_nxt & 0x70000)" ( (binary_expression "(uint)p_Var15[10]._M_nxt & 0x70000" (cast_expression "(uint)p_Var15[10]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var15[10]._M_nxt" (subscript_expression "p_Var15[10]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n              do {\n                if ((((uint)p_Var15[10]._M_nxt & 0x300) == 0) &&\n                   (((uint)p_Var15[10]._M_nxt & 0x10000000) == 0)) {\n                  pGVar4 = gold::parameters->options_;\n                  if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                  if ((pGVar4->shared_).value != false) {\n                    bVar12 = gold::Version_script_info::get_symbol_version\n                                       (&(pGVar4->dynamic_list_).version_script_info_,\n                                        (char *)p_Var15->_M_nxt,(string *)0x0,&is_global);\n                    if ((bVar12) && (is_global == false)) break;\n                    pGVar4 = gold::parameters->options_;\n                    if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                    if (((pGVar4->Bsymbolic_).value == false) &&\n                       ((((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false)))) break;\n                  }\n                }\n                pOVar18 = pTVar2->iplt_;\n                if (pOVar18 != (Output_data_plt_powerpc<32,_true> *)0x0) goto LAB_000650dd;\n                Target_powerpc<32,_true>::iplt_section(in_stack_ffffffa4);\nLAB_00065520:\n                if ((((uint)p_Var15[2]._M_nxt[0xb]._M_nxt & 1) != 0) ||\n                   ((p_Var15[3]._M_nxt == (_Hash_node_base *)0x0 &&\n                    (((uint)p_Var15[10]._M_nxt & 0x20000000) != 0)))) break;\n              } while( true );\n            }" { (do_statement "do {\n                if ((((uint)p_Var15[10]._M_nxt & 0x300) == 0) &&\n                   (((uint)p_Var15[10]._M_nxt & 0x10000000) == 0)) {\n                  pGVar4 = gold::parameters->options_;\n                  if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                  if ((pGVar4->shared_).value != false) {\n                    bVar12 = gold::Version_script_info::get_symbol_version\n                                       (&(pGVar4->dynamic_list_).version_script_info_,\n                                        (char *)p_Var15->_M_nxt,(string *)0x0,&is_global);\n                    if ((bVar12) && (is_global == false)) break;\n                    pGVar4 = gold::parameters->options_;\n                    if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                    if (((pGVar4->Bsymbolic_).value == false) &&\n                       ((((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false)))) break;\n                  }\n                }\n                pOVar18 = pTVar2->iplt_;\n                if (pOVar18 != (Output_data_plt_powerpc<32,_true> *)0x0) goto LAB_000650dd;\n                Target_powerpc<32,_true>::iplt_section(in_stack_ffffffa4);\nLAB_00065520:\n                if ((((uint)p_Var15[2]._M_nxt[0xb]._M_nxt & 1) != 0) ||\n                   ((p_Var15[3]._M_nxt == (_Hash_node_base *)0x0 &&\n                    (((uint)p_Var15[10]._M_nxt & 0x20000000) != 0)))) break;\n              } while( true );" do (compound_statement "{\n                if ((((uint)p_Var15[10]._M_nxt & 0x300) == 0) &&\n                   (((uint)p_Var15[10]._M_nxt & 0x10000000) == 0)) {\n                  pGVar4 = gold::parameters->options_;\n                  if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                  if ((pGVar4->shared_).value != false) {\n                    bVar12 = gold::Version_script_info::get_symbol_version\n                                       (&(pGVar4->dynamic_list_).version_script_info_,\n                                        (char *)p_Var15->_M_nxt,(string *)0x0,&is_global);\n                    if ((bVar12) && (is_global == false)) break;\n                    pGVar4 = gold::parameters->options_;\n                    if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                    if (((pGVar4->Bsymbolic_).value == false) &&\n                       ((((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false)))) break;\n                  }\n                }\n                pOVar18 = pTVar2->iplt_;\n                if (pOVar18 != (Output_data_plt_powerpc<32,_true> *)0x0) goto LAB_000650dd;\n                Target_powerpc<32,_true>::iplt_section(in_stack_ffffffa4);\nLAB_00065520:\n                if ((((uint)p_Var15[2]._M_nxt[0xb]._M_nxt & 1) != 0) ||\n                   ((p_Var15[3]._M_nxt == (_Hash_node_base *)0x0 &&\n                    (((uint)p_Var15[10]._M_nxt & 0x20000000) != 0)))) break;\n              }" { (if_statement "if ((((uint)p_Var15[10]._M_nxt & 0x300) == 0) &&\n                   (((uint)p_Var15[10]._M_nxt & 0x10000000) == 0)) {\n                  pGVar4 = gold::parameters->options_;\n                  if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                  if ((pGVar4->shared_).value != false) {\n                    bVar12 = gold::Version_script_info::get_symbol_version\n                                       (&(pGVar4->dynamic_list_).version_script_info_,\n                                        (char *)p_Var15->_M_nxt,(string *)0x0,&is_global);\n                    if ((bVar12) && (is_global == false)) break;\n                    pGVar4 = gold::parameters->options_;\n                    if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                    if (((pGVar4->Bsymbolic_).value == false) &&\n                       ((((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false)))) break;\n                  }\n                }" if (parenthesized_expression "((((uint)p_Var15[10]._M_nxt & 0x300) == 0) &&\n                   (((uint)p_Var15[10]._M_nxt & 0x10000000) == 0))" ( (binary_expression "(((uint)p_Var15[10]._M_nxt & 0x300) == 0) &&\n                   (((uint)p_Var15[10]._M_nxt & 0x10000000) == 0)" (parenthesized_expression "(((uint)p_Var15[10]._M_nxt & 0x300) == 0)" ( (binary_expression "((uint)p_Var15[10]._M_nxt & 0x300) == 0" (parenthesized_expression "((uint)p_Var15[10]._M_nxt & 0x300)" ( (binary_expression "(uint)p_Var15[10]._M_nxt & 0x300" (cast_expression "(uint)p_Var15[10]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var15[10]._M_nxt" (subscript_expression "p_Var15[10]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) == number_literal) )) && (parenthesized_expression "(((uint)p_Var15[10]._M_nxt & 0x10000000) == 0)" ( (binary_expression "((uint)p_Var15[10]._M_nxt & 0x10000000) == 0" (parenthesized_expression "((uint)p_Var15[10]._M_nxt & 0x10000000)" ( (binary_expression "(uint)p_Var15[10]._M_nxt & 0x10000000" (cast_expression "(uint)p_Var15[10]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var15[10]._M_nxt" (subscript_expression "p_Var15[10]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n                  pGVar4 = gold::parameters->options_;\n                  if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                  if ((pGVar4->shared_).value != false) {\n                    bVar12 = gold::Version_script_info::get_symbol_version\n                                       (&(pGVar4->dynamic_list_).version_script_info_,\n                                        (char *)p_Var15->_M_nxt,(string *)0x0,&is_global);\n                    if ((bVar12) && (is_global == false)) break;\n                    pGVar4 = gold::parameters->options_;\n                    if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                    if (((pGVar4->Bsymbolic_).value == false) &&\n                       ((((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false)))) break;\n                  }\n                }" { (expression_statement "pGVar4 = gold::parameters->options_;" (field_expression "pGVar4 = gold::parameters->options_" (assignment_expression "pGVar4 = gold" identifier = identifier) (ERROR "::parameters" : : identifier) -> field_identifier) ;) (if_statement "if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;" if (parenthesized_expression "(pGVar4 == (General_options *)0x0)" ( (binary_expression "pGVar4 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000655f9;" goto statement_identifier ;)) (if_statement "if ((pGVar4->shared_).value != false) {\n                    bVar12 = gold::Version_script_info::get_symbol_version\n                                       (&(pGVar4->dynamic_list_).version_script_info_,\n                                        (char *)p_Var15->_M_nxt,(string *)0x0,&is_global);\n                    if ((bVar12) && (is_global == false)) break;\n                    pGVar4 = gold::parameters->options_;\n                    if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                    if (((pGVar4->Bsymbolic_).value == false) &&\n                       ((((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false)))) break;\n                  }" if (parenthesized_expression "((pGVar4->shared_).value != false)" ( (binary_expression "(pGVar4->shared_).value != false" (field_expression "(pGVar4->shared_).value" (parenthesized_expression "(pGVar4->shared_)" ( (field_expression "pGVar4->shared_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n                    bVar12 = gold::Version_script_info::get_symbol_version\n                                       (&(pGVar4->dynamic_list_).version_script_info_,\n                                        (char *)p_Var15->_M_nxt,(string *)0x0,&is_global);\n                    if ((bVar12) && (is_global == false)) break;\n                    pGVar4 = gold::parameters->options_;\n                    if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;\n                    if (((pGVar4->Bsymbolic_).value == false) &&\n                       ((((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false)))) break;\n                  }" { (ERROR "bVar12 = gold::" (assignment_expression "bVar12 = gold" identifier = identifier) : :) (labeled_statement "Version_script_info::get_symbol_version\n                                       (&(pGVar4->dynamic_list_).version_script_info_,\n                                        (char *)p_Var15->_M_nxt,(string *)0x0,&is_global);" statement_identifier : (ERROR ":" :) (expression_statement "get_symbol_version\n                                       (&(pGVar4->dynamic_list_).version_script_info_,\n                                        (char *)p_Var15->_M_nxt,(string *)0x0,&is_global);" (call_expression "get_symbol_version\n                                       (&(pGVar4->dynamic_list_).version_script_info_,\n                                        (char *)p_Var15->_M_nxt,(string *)0x0,&is_global)" identifier (argument_list "(&(pGVar4->dynamic_list_).version_script_info_,\n                                        (char *)p_Var15->_M_nxt,(string *)0x0,&is_global)" ( (pointer_expression "&(pGVar4->dynamic_list_).version_script_info_" & (field_expression "(pGVar4->dynamic_list_).version_script_info_" (parenthesized_expression "(pGVar4->dynamic_list_)" ( (field_expression "pGVar4->dynamic_list_" identifier -> field_identifier) )) . field_identifier)) , (cast_expression "(char *)p_Var15->_M_nxt" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var15->_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 ((bVar12) && (is_global == false)) break;" if (parenthesized_expression "((bVar12) && (is_global == false))" ( (binary_expression "(bVar12) && (is_global == false)" (parenthesized_expression "(bVar12)" ( identifier )) && (parenthesized_expression "(is_global == false)" ( (binary_expression "is_global == false" identifier == false) ))) )) (break_statement "break;" break ;)) (expression_statement "pGVar4 = gold::parameters->options_;" (field_expression "pGVar4 = gold::parameters->options_" (assignment_expression "pGVar4 = gold" identifier = identifier) (ERROR "::parameters" : : identifier) -> field_identifier) ;) (if_statement "if (pGVar4 == (General_options *)0x0) goto LAB_000655f9;" if (parenthesized_expression "(pGVar4 == (General_options *)0x0)" ( (binary_expression "pGVar4 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000655f9;" goto statement_identifier ;)) (if_statement "if (((pGVar4->Bsymbolic_).value == false) &&\n                       ((((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false)))) break;" if (parenthesized_expression "(((pGVar4->Bsymbolic_).value == false) &&\n                       ((((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false))))" ( (binary_expression "((pGVar4->Bsymbolic_).value == false) &&\n                       ((((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false)))" (parenthesized_expression "((pGVar4->Bsymbolic_).value == false)" ( (binary_expression "(pGVar4->Bsymbolic_).value == false" (field_expression "(pGVar4->Bsymbolic_).value" (parenthesized_expression "(pGVar4->Bsymbolic_)" ( (field_expression "pGVar4->Bsymbolic_" identifier -> field_identifier) )) . field_identifier) == false) )) && (parenthesized_expression "((((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false)))" ( (parenthesized_expression "(((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false))" ( (binary_expression "((uint)p_Var15[10]._M_nxt & 0xf) == 1 ||\n                        ((pGVar4->Bsymbolic_functions_).value == false)" (binary_expression "((uint)p_Var15[10]._M_nxt & 0xf) == 1" (parenthesized_expression "((uint)p_Var15[10]._M_nxt & 0xf)" ( (binary_expression "(uint)p_Var15[10]._M_nxt & 0xf" (cast_expression "(uint)p_Var15[10]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var15[10]._M_nxt" (subscript_expression "p_Var15[10]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) == number_literal) || (parenthesized_expression "((pGVar4->Bsymbolic_functions_).value == false)" ( (binary_expression "(pGVar4->Bsymbolic_functions_).value == false" (field_expression "(pGVar4->Bsymbolic_functions_).value" (parenthesized_expression "(pGVar4->Bsymbolic_functions_)" ( (field_expression "pGVar4->Bsymbolic_functions_" identifier -> field_identifier) )) . field_identifier) == false) ))) )) ))) )) (break_statement "break;" break ;)) })) })) (expression_statement "pOVar18 = pTVar2->iplt_;" (assignment_expression "pOVar18 = pTVar2->iplt_" identifier = (field_expression "pTVar2->iplt_" identifier -> field_identifier)) ;) (if_statement "if (pOVar18 != (Output_data_plt_powerpc<32,_true> *)0x0) goto LAB_000650dd;" if (parenthesized_expression "(pOVar18 != (Output_data_plt_powerpc<32,_true> *)0x0)" ( (binary_expression "pOVar18 != (Output_data_plt_powerpc<32,_true> *)0x0)" identifier != (parenthesized_expression "(Output_data_plt_powerpc<32,_true> *)0x0)" ( (comma_expression "Output_data_plt_powerpc<32,_true> *)0x0" (binary_expression "Output_data_plt_powerpc<32" identifier < number_literal) , (binary_expression "_true> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (goto_statement "goto LAB_000650dd;" goto statement_identifier ;)) (expression_statement "Target_powerpc<32,_true>::iplt_section(in_stack_ffffffa4);" (comma_expression "Target_powerpc<32,_true>::iplt_section(in_stack_ffffffa4)" (binary_expression "Target_powerpc<32" identifier < number_literal) , (binary_expression "_true>::iplt_section(in_stack_ffffffa4)" identifier > (ERROR "::" : :) (call_expression "iplt_section(in_stack_ffffffa4)" identifier (argument_list "(in_stack_ffffffa4)" ( identifier ))))) ;) (labeled_statement "LAB_00065520:\n                if ((((uint)p_Var15[2]._M_nxt[0xb]._M_nxt & 1) != 0) ||\n                   ((p_Var15[3]._M_nxt == (_Hash_node_base *)0x0 &&\n                    (((uint)p_Var15[10]._M_nxt & 0x20000000) != 0)))) break;" statement_identifier : (if_statement "if ((((uint)p_Var15[2]._M_nxt[0xb]._M_nxt & 1) != 0) ||\n                   ((p_Var15[3]._M_nxt == (_Hash_node_base *)0x0 &&\n                    (((uint)p_Var15[10]._M_nxt & 0x20000000) != 0)))) break;" if (parenthesized_expression "((((uint)p_Var15[2]._M_nxt[0xb]._M_nxt & 1) != 0) ||\n                   ((p_Var15[3]._M_nxt == (_Hash_node_base *)0x0 &&\n                    (((uint)p_Var15[10]._M_nxt & 0x20000000) != 0))))" ( (binary_expression "(((uint)p_Var15[2]._M_nxt[0xb]._M_nxt & 1) != 0) ||\n                   ((p_Var15[3]._M_nxt == (_Hash_node_base *)0x0 &&\n                    (((uint)p_Var15[10]._M_nxt & 0x20000000) != 0)))" (parenthesized_expression "(((uint)p_Var15[2]._M_nxt[0xb]._M_nxt & 1) != 0)" ( (binary_expression "((uint)p_Var15[2]._M_nxt[0xb]._M_nxt & 1) != 0" (parenthesized_expression "((uint)p_Var15[2]._M_nxt[0xb]._M_nxt & 1)" ( (binary_expression "(uint)p_Var15[2]._M_nxt[0xb]._M_nxt & 1" (cast_expression "(uint)p_Var15[2]._M_nxt[0xb]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var15[2]._M_nxt[0xb]._M_nxt" (subscript_expression "p_Var15[2]._M_nxt[0xb]" (field_expression "p_Var15[2]._M_nxt" (subscript_expression "p_Var15[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier)) & number_literal) )) != number_literal) )) || (parenthesized_expression "((p_Var15[3]._M_nxt == (_Hash_node_base *)0x0 &&\n                    (((uint)p_Var15[10]._M_nxt & 0x20000000) != 0)))" ( (parenthesized_expression "(p_Var15[3]._M_nxt == (_Hash_node_base *)0x0 &&\n                    (((uint)p_Var15[10]._M_nxt & 0x20000000) != 0))" ( (binary_expression "p_Var15[3]._M_nxt == (_Hash_node_base *)0x0 &&\n                    (((uint)p_Var15[10]._M_nxt & 0x20000000) != 0)" (binary_expression "p_Var15[3]._M_nxt == (_Hash_node_base *)0x0" (field_expression "p_Var15[3]._M_nxt" (subscript_expression "p_Var15[3]" identifier [ number_literal ]) . field_identifier) == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(((uint)p_Var15[10]._M_nxt & 0x20000000) != 0)" ( (binary_expression "((uint)p_Var15[10]._M_nxt & 0x20000000) != 0" (parenthesized_expression "((uint)p_Var15[10]._M_nxt & 0x20000000)" ( (binary_expression "(uint)p_Var15[10]._M_nxt & 0x20000000" (cast_expression "(uint)p_Var15[10]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var15[10]._M_nxt" (subscript_expression "p_Var15[10]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) != number_literal) ))) )) ))) )) (break_statement "break;" break ;))) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (expression_statement "pOVar18 = pTVar2->plt_;" (assignment_expression "pOVar18 = pTVar2->plt_" identifier = (field_expression "pTVar2->plt_" identifier -> field_identifier)) ;) (if_statement "if (pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");\n          }" if (parenthesized_expression "(pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0)" ( (binary_expression "pOVar18 == (Output_data_plt_powerpc<32,_true> *)0x0)" identifier == (parenthesized_expression "(Output_data_plt_powerpc<32,_true> *)0x0)" ( (comma_expression "Output_data_plt_powerpc<32,_true> *)0x0" (binary_expression "Output_data_plt_powerpc<32" identifier < number_literal) , (binary_expression "_true> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");\n          }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");" (call_expression "do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section")" identifier (argument_list "("../../gold/powerpc.cc",0x36a,"plt_section")" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""plt_section"" " string_content ") ))) ;)) })) (labeled_statement "LAB_000650dd:\n          p_Var15 = p_Var15[6]._M_nxt;" statement_identifier : (expression_statement "p_Var15 = p_Var15[6]._M_nxt;" (assignment_expression "p_Var15 = p_Var15[6]._M_nxt" identifier = (field_expression "p_Var15[6]._M_nxt" (subscript_expression "p_Var15[6]" identifier [ number_literal ]) . field_identifier)) ;)) (if_statement "if (p_Var15 == (_Hash_node_base *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");\n          }" if (parenthesized_expression "(p_Var15 == (_Hash_node_base *)0xffffffff)" ( (binary_expression "p_Var15 == (_Hash_node_base *)0xffffffff" identifier == (cast_expression "(_Hash_node_base *)0xffffffff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");\n          }" { 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 ") ))) ;)) })) }))) (if_statement "if (((pOVar18->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0) goto LAB_00065211;" if (parenthesized_expression "(((pOVar18->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0)" ( (binary_expression "((pOVar18->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0" (parenthesized_expression "((pOVar18->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1)" ( (binary_expression "(pOVar18->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1" (field_expression "(pOVar18->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c" (field_expression "(pOVar18->super_Output_section_data_build).super_Output_section_data.super_Output_data" (field_expression "(pOVar18->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar18->super_Output_section_data_build)" ( (field_expression "pOVar18->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00065211;" goto statement_identifier ;)) (expression_statement "uVar21 = (int)&p_Var15->_M_nxt +\n                 (int)(pOVar18->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.address_;" (assignment_expression "uVar21 = (int)&p_Var15->_M_nxt +\n                 (int)(pOVar18->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.address_" identifier = (binary_expression "(int)&p_Var15->_M_nxt +\n                 (int)(pOVar18->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.address_" (cast_expression "(int)&p_Var15->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&p_Var15->_M_nxt" & (field_expression "p_Var15->_M_nxt" identifier -> field_identifier))) + (cast_expression "(int)(pOVar18->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.address_" ( (type_descriptor "int" primitive_type) ) (field_expression "(pOVar18->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.address_" (field_expression "(pOVar18->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data" (field_expression "(pOVar18->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar18->super_Output_section_data_build)" ( (field_expression "pOVar18->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)))) ;) (expression_statement "puVar19 = (uint *)(puVar13 + (int)p_Var20[5]._M_nxt);" (assignment_expression "puVar19 = (uint *)(puVar13 + (int)p_Var20[5]._M_nxt)" identifier = (cast_expression "(uint *)(puVar13 + (int)p_Var20[5]._M_nxt)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + (int)p_Var20[5]._M_nxt)" ( (binary_expression "puVar13 + (int)p_Var20[5]._M_nxt" identifier + (cast_expression "(int)p_Var20[5]._M_nxt" ( (type_descriptor "int" primitive_type) ) (field_expression "p_Var20[5]._M_nxt" (subscript_expression "p_Var20[5]" identifier [ number_literal ]) . field_identifier))) )))) ;) (expression_statement "pSVar3 = this->targ_->tls_get_addr_opt_;" (assignment_expression "pSVar3 = this->targ_->tls_get_addr_opt_" identifier = (field_expression "this->targ_->tls_get_addr_opt_" (field_expression "this->targ_" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "puVar23 = puVar19;" (assignment_expression "puVar23 = puVar19" identifier = identifier) ;) (if_statement "if ((pSVar3 != (Symbol *)0x0) &&\n           ((this->targ_->tls_get_addr_ == (Symbol *)p_Var20[1]._M_nxt ||\n            ((Symbol *)p_Var20[1]._M_nxt == pSVar3)))) {\n          *puVar19 = 0x6381;\n          puVar23 = puVar19 + 8;\n          puVar19[1] = 0x4008381;\n          puVar19[2] = 0x781b607c;\n          puVar19[3] = 0xb2c;\n          puVar19[4] = 0x14126c7c;\n          puVar19[5] = 0x2000824d;\n          puVar19[6] = 0x7803037c;\n          puVar19[7] = 0x60;\n        }" if (parenthesized_expression "((pSVar3 != (Symbol *)0x0) &&\n           ((this->targ_->tls_get_addr_ == (Symbol *)p_Var20[1]._M_nxt ||\n            ((Symbol *)p_Var20[1]._M_nxt == pSVar3))))" ( (binary_expression "(pSVar3 != (Symbol *)0x0) &&\n           ((this->targ_->tls_get_addr_ == (Symbol *)p_Var20[1]._M_nxt ||\n            ((Symbol *)p_Var20[1]._M_nxt == pSVar3)))" (parenthesized_expression "(pSVar3 != (Symbol *)0x0)" ( (binary_expression "pSVar3 != (Symbol *)0x0" identifier != (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((this->targ_->tls_get_addr_ == (Symbol *)p_Var20[1]._M_nxt ||\n            ((Symbol *)p_Var20[1]._M_nxt == pSVar3)))" ( (parenthesized_expression "(this->targ_->tls_get_addr_ == (Symbol *)p_Var20[1]._M_nxt ||\n            ((Symbol *)p_Var20[1]._M_nxt == pSVar3))" ( (binary_expression "this->targ_->tls_get_addr_ == (Symbol *)p_Var20[1]._M_nxt ||\n            ((Symbol *)p_Var20[1]._M_nxt == pSVar3)" (binary_expression "this->targ_->tls_get_addr_ == (Symbol *)p_Var20[1]._M_nxt" (field_expression "this->targ_->tls_get_addr_" (field_expression "this->targ_" identifier -> field_identifier) -> field_identifier) == (cast_expression "(Symbol *)p_Var20[1]._M_nxt" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var20[1]._M_nxt" (subscript_expression "p_Var20[1]" identifier [ number_literal ]) . field_identifier))) || (parenthesized_expression "((Symbol *)p_Var20[1]._M_nxt == pSVar3)" ( (binary_expression "(Symbol *)p_Var20[1]._M_nxt == pSVar3" (cast_expression "(Symbol *)p_Var20[1]._M_nxt" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var20[1]._M_nxt" (subscript_expression "p_Var20[1]" identifier [ number_literal ]) . field_identifier)) == identifier) ))) )) ))) )) (compound_statement "{\n          *puVar19 = 0x6381;\n          puVar23 = puVar19 + 8;\n          puVar19[1] = 0x4008381;\n          puVar19[2] = 0x781b607c;\n          puVar19[3] = 0xb2c;\n          puVar19[4] = 0x14126c7c;\n          puVar19[5] = 0x2000824d;\n          puVar19[6] = 0x7803037c;\n          puVar19[7] = 0x60;\n        }" { (expression_statement "*puVar19 = 0x6381;" (assignment_expression "*puVar19 = 0x6381" (pointer_expression "*puVar19" * identifier) = number_literal) ;) (expression_statement "puVar23 = puVar19 + 8;" (assignment_expression "puVar23 = puVar19 + 8" identifier = (binary_expression "puVar19 + 8" identifier + number_literal)) ;) (expression_statement "puVar19[1] = 0x4008381;" (assignment_expression "puVar19[1] = 0x4008381" (subscript_expression "puVar19[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar19[2] = 0x781b607c;" (assignment_expression "puVar19[2] = 0x781b607c" (subscript_expression "puVar19[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar19[3] = 0xb2c;" (assignment_expression "puVar19[3] = 0xb2c" (subscript_expression "puVar19[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar19[4] = 0x14126c7c;" (assignment_expression "puVar19[4] = 0x14126c7c" (subscript_expression "puVar19[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar19[5] = 0x2000824d;" (assignment_expression "puVar19[5] = 0x2000824d" (subscript_expression "puVar19[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar19[6] = 0x7803037c;" (assignment_expression "puVar19[6] = 0x7803037c" (subscript_expression "puVar19[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar19[7] = 0x60;" (assignment_expression "puVar19[7] = 0x60" (subscript_expression "puVar19[7]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "pGVar4 = gold::parameters->options_;" (field_expression "pGVar4 = gold::parameters->options_" (assignment_expression "pGVar4 = gold" identifier = identifier) (ERROR "::parameters" : : identifier) -> field_identifier) ;) (if_statement "if (pGVar4 == (General_options *)0x0) {\nLAB_000655f9:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }" if (parenthesized_expression "(pGVar4 == (General_options *)0x0)" ( (binary_expression "pGVar4 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000655f9:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }" { (labeled_statement "LAB_000655f9:\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 (((pGVar4->shared_).value == false) && ((pGVar4->pie_).value == false)) {\n          puVar19 = puVar23 + 1;\n          uVar16 = uVar21 + 0x8000 >> 0x10;\n          uVar17 = (uVar21 & 0xffff) + 0x816b0000;\n          uVar22 = uVar16 + 0x3d600000;\n          puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       (uVar21 & 0xffff) << 0x18;\n          *puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                     uVar16 << 0x18;\n        }\n        else {\n          p_Var15 = p_Var20[2]._M_nxt;\n          if ((p_Var15 == (_Hash_node_base *)0x0) || (p_Var20[3]._M_nxt < (_Hash_node_base *)0x8000)\n             ) {\n            iVar14 = local_40;\n            if (local_40 == -1) {\n              pOVar6 = this->targ_->got_;\n              if (pOVar6 == (Output_data_got_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/powerpc.cc",0x3ae,"got_section");\n              }\n              if (((pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                   super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                   field_0x1c & 1) == 0) goto LAB_00065211;\n              iVar14 = (int)(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                            super_Output_section_data_build.super_Output_section_data.\n                            super_Output_data.address_ + pOVar6->header_index_ * 4;\n              local_40 = iVar14;\n            }\n          }\n          else {\n            p_Var7 = p_Var15[0x50]._M_nxt;\n            if ((_Hash_node_base *)((int)p_Var15[0x22]._M_nxt - (int)p_Var15[0x21]._M_nxt >> 2) <=\n                p_Var7) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n            }\n            p_Var8 = p_Var15[0x21]._M_nxt[(int)p_Var7]._M_nxt;\n            if (p_Var8 == (_Hash_node_base *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x1633,"do_write");\n            }\n            p_Var9 = p_Var15->_M_nxt[0x18]._M_nxt;\n            if (p_Var9 == (_Hash_node_base *)gold::Relobj::do_output_section) {\n              if ((_Hash_node_base *)((int)p_Var15[0xf]._M_nxt - (int)p_Var15[0xe]._M_nxt >> 2) <=\n                  p_Var7) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n              }\n              p_Var15 = p_Var15[0xe]._M_nxt[(int)p_Var7]._M_nxt;\n            }\n            else {\n              p_Var15 = (_Hash_node_base *)(*(code *)p_Var9)(p_Var15,p_Var7);\n            }\n            if (((uint)p_Var15[7]._M_nxt & 1) == 0) goto LAB_00065211;\n            iVar14 = (int)&p_Var8->_M_nxt +\n                     (int)&(p_Var15[1]._M_nxt)->_M_nxt + (int)&(p_Var20[3]._M_nxt)->_M_nxt;\n          }\n          uVar16 = uVar21 - iVar14 & 0xffff;\n          uVar21 = (uVar21 - iVar14) + 0x8000 >> 0x10;\n          if (uVar21 == 0) {\n            uVar21 = uVar16 + 0x817e0000;\n            *puVar23 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                       uVar16 << 0x18;\n            puVar19 = puVar23;\n          }\n          else {\n            uVar22 = uVar21 + 0x3d7e0000;\n            uVar17 = uVar16 + 0x816b0000;\n            *puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar21 << 0x18;\n            puVar19 = puVar23 + 1;\n            puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n          }\n        }" if (parenthesized_expression "(((pGVar4->shared_).value == false) && ((pGVar4->pie_).value == false))" ( (binary_expression "((pGVar4->shared_).value == false) && ((pGVar4->pie_).value == false)" (parenthesized_expression "((pGVar4->shared_).value == false)" ( (binary_expression "(pGVar4->shared_).value == false" (field_expression "(pGVar4->shared_).value" (parenthesized_expression "(pGVar4->shared_)" ( (field_expression "pGVar4->shared_" identifier -> field_identifier) )) . field_identifier) == false) )) && (parenthesized_expression "((pGVar4->pie_).value == false)" ( (binary_expression "(pGVar4->pie_).value == false" (field_expression "(pGVar4->pie_).value" (parenthesized_expression "(pGVar4->pie_)" ( (field_expression "pGVar4->pie_" identifier -> field_identifier) )) . field_identifier) == false) ))) )) (compound_statement "{\n          puVar19 = puVar23 + 1;\n          uVar16 = uVar21 + 0x8000 >> 0x10;\n          uVar17 = (uVar21 & 0xffff) + 0x816b0000;\n          uVar22 = uVar16 + 0x3d600000;\n          puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       (uVar21 & 0xffff) << 0x18;\n          *puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                     uVar16 << 0x18;\n        }" { (expression_statement "puVar19 = puVar23 + 1;" (assignment_expression "puVar19 = puVar23 + 1" identifier = (binary_expression "puVar23 + 1" identifier + number_literal)) ;) (expression_statement "uVar16 = uVar21 + 0x8000 >> 0x10;" (assignment_expression "uVar16 = uVar21 + 0x8000 >> 0x10" identifier = (binary_expression "uVar21 + 0x8000 >> 0x10" (binary_expression "uVar21 + 0x8000" identifier + number_literal) >> number_literal)) ;) (expression_statement "uVar17 = (uVar21 & 0xffff) + 0x816b0000;" (assignment_expression "uVar17 = (uVar21 & 0xffff) + 0x816b0000" identifier = (binary_expression "(uVar21 & 0xffff) + 0x816b0000" (parenthesized_expression "(uVar21 & 0xffff)" ( (binary_expression "uVar21 & 0xffff" identifier & number_literal) )) + number_literal)) ;) (expression_statement "uVar22 = uVar16 + 0x3d600000;" (assignment_expression "uVar22 = uVar16 + 0x3d600000" identifier = (binary_expression "uVar16 + 0x3d600000" identifier + number_literal)) ;) (expression_statement "puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       (uVar21 & 0xffff) << 0x18;" (assignment_expression "puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       (uVar21 & 0xffff) << 0x18" (subscript_expression "puVar23[1]" identifier [ number_literal ]) = (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       (uVar21 & 0xffff) << 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 "(uVar21 & 0xffff) << 0x18" (parenthesized_expression "(uVar21 & 0xffff)" ( (binary_expression "uVar21 & 0xffff" identifier & number_literal) )) << number_literal))) ;) (expression_statement "*puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                     uVar16 << 0x18;" (assignment_expression "*puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                     uVar16 << 0x18" (pointer_expression "*puVar23" * identifier) = (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                     uVar16 << 0x18" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8" (binary_expression "uVar22 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar22 & 0xff0000) >> 8" (parenthesized_expression "(uVar22 & 0xff0000)" ( (binary_expression "uVar22 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar22 & 0xff00) << 8" (parenthesized_expression "(uVar22 & 0xff00)" ( (binary_expression "uVar22 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar16 << 0x18" identifier << number_literal))) ;) }) (else_clause "else {\n          p_Var15 = p_Var20[2]._M_nxt;\n          if ((p_Var15 == (_Hash_node_base *)0x0) || (p_Var20[3]._M_nxt < (_Hash_node_base *)0x8000)\n             ) {\n            iVar14 = local_40;\n            if (local_40 == -1) {\n              pOVar6 = this->targ_->got_;\n              if (pOVar6 == (Output_data_got_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/powerpc.cc",0x3ae,"got_section");\n              }\n              if (((pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                   super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                   field_0x1c & 1) == 0) goto LAB_00065211;\n              iVar14 = (int)(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                            super_Output_section_data_build.super_Output_section_data.\n                            super_Output_data.address_ + pOVar6->header_index_ * 4;\n              local_40 = iVar14;\n            }\n          }\n          else {\n            p_Var7 = p_Var15[0x50]._M_nxt;\n            if ((_Hash_node_base *)((int)p_Var15[0x22]._M_nxt - (int)p_Var15[0x21]._M_nxt >> 2) <=\n                p_Var7) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n            }\n            p_Var8 = p_Var15[0x21]._M_nxt[(int)p_Var7]._M_nxt;\n            if (p_Var8 == (_Hash_node_base *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x1633,"do_write");\n            }\n            p_Var9 = p_Var15->_M_nxt[0x18]._M_nxt;\n            if (p_Var9 == (_Hash_node_base *)gold::Relobj::do_output_section) {\n              if ((_Hash_node_base *)((int)p_Var15[0xf]._M_nxt - (int)p_Var15[0xe]._M_nxt >> 2) <=\n                  p_Var7) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n              }\n              p_Var15 = p_Var15[0xe]._M_nxt[(int)p_Var7]._M_nxt;\n            }\n            else {\n              p_Var15 = (_Hash_node_base *)(*(code *)p_Var9)(p_Var15,p_Var7);\n            }\n            if (((uint)p_Var15[7]._M_nxt & 1) == 0) goto LAB_00065211;\n            iVar14 = (int)&p_Var8->_M_nxt +\n                     (int)&(p_Var15[1]._M_nxt)->_M_nxt + (int)&(p_Var20[3]._M_nxt)->_M_nxt;\n          }\n          uVar16 = uVar21 - iVar14 & 0xffff;\n          uVar21 = (uVar21 - iVar14) + 0x8000 >> 0x10;\n          if (uVar21 == 0) {\n            uVar21 = uVar16 + 0x817e0000;\n            *puVar23 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                       uVar16 << 0x18;\n            puVar19 = puVar23;\n          }\n          else {\n            uVar22 = uVar21 + 0x3d7e0000;\n            uVar17 = uVar16 + 0x816b0000;\n            *puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar21 << 0x18;\n            puVar19 = puVar23 + 1;\n            puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n          }\n        }" else (compound_statement "{\n          p_Var15 = p_Var20[2]._M_nxt;\n          if ((p_Var15 == (_Hash_node_base *)0x0) || (p_Var20[3]._M_nxt < (_Hash_node_base *)0x8000)\n             ) {\n            iVar14 = local_40;\n            if (local_40 == -1) {\n              pOVar6 = this->targ_->got_;\n              if (pOVar6 == (Output_data_got_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/powerpc.cc",0x3ae,"got_section");\n              }\n              if (((pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                   super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                   field_0x1c & 1) == 0) goto LAB_00065211;\n              iVar14 = (int)(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                            super_Output_section_data_build.super_Output_section_data.\n                            super_Output_data.address_ + pOVar6->header_index_ * 4;\n              local_40 = iVar14;\n            }\n          }\n          else {\n            p_Var7 = p_Var15[0x50]._M_nxt;\n            if ((_Hash_node_base *)((int)p_Var15[0x22]._M_nxt - (int)p_Var15[0x21]._M_nxt >> 2) <=\n                p_Var7) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n            }\n            p_Var8 = p_Var15[0x21]._M_nxt[(int)p_Var7]._M_nxt;\n            if (p_Var8 == (_Hash_node_base *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x1633,"do_write");\n            }\n            p_Var9 = p_Var15->_M_nxt[0x18]._M_nxt;\n            if (p_Var9 == (_Hash_node_base *)gold::Relobj::do_output_section) {\n              if ((_Hash_node_base *)((int)p_Var15[0xf]._M_nxt - (int)p_Var15[0xe]._M_nxt >> 2) <=\n                  p_Var7) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n              }\n              p_Var15 = p_Var15[0xe]._M_nxt[(int)p_Var7]._M_nxt;\n            }\n            else {\n              p_Var15 = (_Hash_node_base *)(*(code *)p_Var9)(p_Var15,p_Var7);\n            }\n            if (((uint)p_Var15[7]._M_nxt & 1) == 0) goto LAB_00065211;\n            iVar14 = (int)&p_Var8->_M_nxt +\n                     (int)&(p_Var15[1]._M_nxt)->_M_nxt + (int)&(p_Var20[3]._M_nxt)->_M_nxt;\n          }\n          uVar16 = uVar21 - iVar14 & 0xffff;\n          uVar21 = (uVar21 - iVar14) + 0x8000 >> 0x10;\n          if (uVar21 == 0) {\n            uVar21 = uVar16 + 0x817e0000;\n            *puVar23 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                       uVar16 << 0x18;\n            puVar19 = puVar23;\n          }\n          else {\n            uVar22 = uVar21 + 0x3d7e0000;\n            uVar17 = uVar16 + 0x816b0000;\n            *puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar21 << 0x18;\n            puVar19 = puVar23 + 1;\n            puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n          }\n        }" { (expression_statement "p_Var15 = p_Var20[2]._M_nxt;" (assignment_expression "p_Var15 = p_Var20[2]._M_nxt" identifier = (field_expression "p_Var20[2]._M_nxt" (subscript_expression "p_Var20[2]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if ((p_Var15 == (_Hash_node_base *)0x0) || (p_Var20[3]._M_nxt < (_Hash_node_base *)0x8000)\n             ) {\n            iVar14 = local_40;\n            if (local_40 == -1) {\n              pOVar6 = this->targ_->got_;\n              if (pOVar6 == (Output_data_got_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/powerpc.cc",0x3ae,"got_section");\n              }\n              if (((pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                   super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                   field_0x1c & 1) == 0) goto LAB_00065211;\n              iVar14 = (int)(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                            super_Output_section_data_build.super_Output_section_data.\n                            super_Output_data.address_ + pOVar6->header_index_ * 4;\n              local_40 = iVar14;\n            }\n          }\n          else {\n            p_Var7 = p_Var15[0x50]._M_nxt;\n            if ((_Hash_node_base *)((int)p_Var15[0x22]._M_nxt - (int)p_Var15[0x21]._M_nxt >> 2) <=\n                p_Var7) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n            }\n            p_Var8 = p_Var15[0x21]._M_nxt[(int)p_Var7]._M_nxt;\n            if (p_Var8 == (_Hash_node_base *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x1633,"do_write");\n            }\n            p_Var9 = p_Var15->_M_nxt[0x18]._M_nxt;\n            if (p_Var9 == (_Hash_node_base *)gold::Relobj::do_output_section) {\n              if ((_Hash_node_base *)((int)p_Var15[0xf]._M_nxt - (int)p_Var15[0xe]._M_nxt >> 2) <=\n                  p_Var7) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n              }\n              p_Var15 = p_Var15[0xe]._M_nxt[(int)p_Var7]._M_nxt;\n            }\n            else {\n              p_Var15 = (_Hash_node_base *)(*(code *)p_Var9)(p_Var15,p_Var7);\n            }\n            if (((uint)p_Var15[7]._M_nxt & 1) == 0) goto LAB_00065211;\n            iVar14 = (int)&p_Var8->_M_nxt +\n                     (int)&(p_Var15[1]._M_nxt)->_M_nxt + (int)&(p_Var20[3]._M_nxt)->_M_nxt;\n          }" if (parenthesized_expression "((p_Var15 == (_Hash_node_base *)0x0) || (p_Var20[3]._M_nxt < (_Hash_node_base *)0x8000)\n             )" ( (binary_expression "(p_Var15 == (_Hash_node_base *)0x0) || (p_Var20[3]._M_nxt < (_Hash_node_base *)0x8000)" (parenthesized_expression "(p_Var15 == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var15 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(p_Var20[3]._M_nxt < (_Hash_node_base *)0x8000)" ( (binary_expression "p_Var20[3]._M_nxt < (_Hash_node_base *)0x8000" (field_expression "p_Var20[3]._M_nxt" (subscript_expression "p_Var20[3]" identifier [ number_literal ]) . field_identifier) < (cast_expression "(_Hash_node_base *)0x8000" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n            iVar14 = local_40;\n            if (local_40 == -1) {\n              pOVar6 = this->targ_->got_;\n              if (pOVar6 == (Output_data_got_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/powerpc.cc",0x3ae,"got_section");\n              }\n              if (((pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                   super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                   field_0x1c & 1) == 0) goto LAB_00065211;\n              iVar14 = (int)(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                            super_Output_section_data_build.super_Output_section_data.\n                            super_Output_data.address_ + pOVar6->header_index_ * 4;\n              local_40 = iVar14;\n            }\n          }" { (expression_statement "iVar14 = local_40;" (assignment_expression "iVar14 = local_40" identifier = identifier) ;) (if_statement "if (local_40 == -1) {\n              pOVar6 = this->targ_->got_;\n              if (pOVar6 == (Output_data_got_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/powerpc.cc",0x3ae,"got_section");\n              }\n              if (((pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                   super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                   field_0x1c & 1) == 0) goto LAB_00065211;\n              iVar14 = (int)(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                            super_Output_section_data_build.super_Output_section_data.\n                            super_Output_data.address_ + pOVar6->header_index_ * 4;\n              local_40 = iVar14;\n            }" if (parenthesized_expression "(local_40 == -1)" ( (binary_expression "local_40 == -1" identifier == number_literal) )) (compound_statement "{\n              pOVar6 = this->targ_->got_;\n              if (pOVar6 == (Output_data_got_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/powerpc.cc",0x3ae,"got_section");\n              }\n              if (((pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                   super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                   field_0x1c & 1) == 0) goto LAB_00065211;\n              iVar14 = (int)(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                            super_Output_section_data_build.super_Output_section_data.\n                            super_Output_data.address_ + pOVar6->header_index_ * 4;\n              local_40 = iVar14;\n            }" { (expression_statement "pOVar6 = this->targ_->got_;" (assignment_expression "pOVar6 = this->targ_->got_" identifier = (field_expression "this->targ_->got_" (field_expression "this->targ_" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if (pOVar6 == (Output_data_got_powerpc<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/powerpc.cc",0x3ae,"got_section");\n              }" if (parenthesized_expression "(pOVar6 == (Output_data_got_powerpc<32,_true> *)0x0)" ( (binary_expression "pOVar6 == (Output_data_got_powerpc<32,_true> *)0x0)" identifier == (parenthesized_expression "(Output_data_got_powerpc<32,_true> *)0x0)" ( (comma_expression "Output_data_got_powerpc<32,_true> *)0x0" (binary_expression "Output_data_got_powerpc<32" identifier < number_literal) , (binary_expression "_true> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/powerpc.cc",0x3ae,"got_section");\n              }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/powerpc.cc",0x3ae,"got_section");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/powerpc.cc",0x3ae,"got_section");" (call_expression "do_gold_unreachable("../../gold/powerpc.cc",0x3ae,"got_section")" identifier (argument_list "("../../gold/powerpc.cc",0x3ae,"got_section")" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""got_section"" " string_content ") ))) ;)) })) (if_statement "if (((pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                   super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                   field_0x1c & 1) == 0) goto LAB_00065211;" if (parenthesized_expression "(((pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                   super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                   field_0x1c & 1) == 0)" ( (binary_expression "((pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                   super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                   field_0x1c & 1) == 0" (parenthesized_expression "((pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                   super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                   field_0x1c & 1)" ( (binary_expression "(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                   super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                   field_0x1c & 1" (field_expression "(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                   super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                   field_0x1c" (field_expression "(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                   super_Output_section_data_build.super_Output_section_data.super_Output_data" (field_expression "(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                   super_Output_section_data_build.super_Output_section_data" (field_expression "(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                   super_Output_section_data_build" (field_expression "(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base" (parenthesized_expression "(pOVar6->super_Output_data_got<32,_true>)" ( (comma_expression "pOVar6->super_Output_data_got<32,_true" (binary_expression "pOVar6->super_Output_data_got<32" (field_expression "pOVar6->super_Output_data_got" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00065211;" goto statement_identifier ;)) (expression_statement "iVar14 = (int)(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                            super_Output_section_data_build.super_Output_section_data.\n                            super_Output_data.address_ + pOVar6->header_index_ * 4;" (assignment_expression "iVar14 = (int)(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                            super_Output_section_data_build.super_Output_section_data.\n                            super_Output_data.address_ + pOVar6->header_index_ * 4" identifier = (binary_expression "(int)(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                            super_Output_section_data_build.super_Output_section_data.\n                            super_Output_data.address_ + pOVar6->header_index_ * 4" (cast_expression "(int)(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                            super_Output_section_data_build.super_Output_section_data.\n                            super_Output_data.address_" ( (type_descriptor "int" primitive_type) ) (field_expression "(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                            super_Output_section_data_build.super_Output_section_data.\n                            super_Output_data.address_" (field_expression "(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                            super_Output_section_data_build.super_Output_section_data.\n                            super_Output_data" (field_expression "(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                            super_Output_section_data_build.super_Output_section_data" (field_expression "(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base.\n                            super_Output_section_data_build" (field_expression "(pOVar6->super_Output_data_got<32,_true>).super_Output_data_got_base" (parenthesized_expression "(pOVar6->super_Output_data_got<32,_true>)" ( (comma_expression "pOVar6->super_Output_data_got<32,_true" (binary_expression "pOVar6->super_Output_data_got<32" (field_expression "pOVar6->super_Output_data_got" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) + (binary_expression "pOVar6->header_index_ * 4" (field_expression "pOVar6->header_index_" identifier -> field_identifier) * number_literal))) ;) (expression_statement "local_40 = iVar14;" (assignment_expression "local_40 = iVar14" identifier = identifier) ;) })) }) (else_clause "else {\n            p_Var7 = p_Var15[0x50]._M_nxt;\n            if ((_Hash_node_base *)((int)p_Var15[0x22]._M_nxt - (int)p_Var15[0x21]._M_nxt >> 2) <=\n                p_Var7) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n            }\n            p_Var8 = p_Var15[0x21]._M_nxt[(int)p_Var7]._M_nxt;\n            if (p_Var8 == (_Hash_node_base *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x1633,"do_write");\n            }\n            p_Var9 = p_Var15->_M_nxt[0x18]._M_nxt;\n            if (p_Var9 == (_Hash_node_base *)gold::Relobj::do_output_section) {\n              if ((_Hash_node_base *)((int)p_Var15[0xf]._M_nxt - (int)p_Var15[0xe]._M_nxt >> 2) <=\n                  p_Var7) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n              }\n              p_Var15 = p_Var15[0xe]._M_nxt[(int)p_Var7]._M_nxt;\n            }\n            else {\n              p_Var15 = (_Hash_node_base *)(*(code *)p_Var9)(p_Var15,p_Var7);\n            }\n            if (((uint)p_Var15[7]._M_nxt & 1) == 0) goto LAB_00065211;\n            iVar14 = (int)&p_Var8->_M_nxt +\n                     (int)&(p_Var15[1]._M_nxt)->_M_nxt + (int)&(p_Var20[3]._M_nxt)->_M_nxt;\n          }" else (compound_statement "{\n            p_Var7 = p_Var15[0x50]._M_nxt;\n            if ((_Hash_node_base *)((int)p_Var15[0x22]._M_nxt - (int)p_Var15[0x21]._M_nxt >> 2) <=\n                p_Var7) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n            }\n            p_Var8 = p_Var15[0x21]._M_nxt[(int)p_Var7]._M_nxt;\n            if (p_Var8 == (_Hash_node_base *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x1633,"do_write");\n            }\n            p_Var9 = p_Var15->_M_nxt[0x18]._M_nxt;\n            if (p_Var9 == (_Hash_node_base *)gold::Relobj::do_output_section) {\n              if ((_Hash_node_base *)((int)p_Var15[0xf]._M_nxt - (int)p_Var15[0xe]._M_nxt >> 2) <=\n                  p_Var7) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n              }\n              p_Var15 = p_Var15[0xe]._M_nxt[(int)p_Var7]._M_nxt;\n            }\n            else {\n              p_Var15 = (_Hash_node_base *)(*(code *)p_Var9)(p_Var15,p_Var7);\n            }\n            if (((uint)p_Var15[7]._M_nxt & 1) == 0) goto LAB_00065211;\n            iVar14 = (int)&p_Var8->_M_nxt +\n                     (int)&(p_Var15[1]._M_nxt)->_M_nxt + (int)&(p_Var20[3]._M_nxt)->_M_nxt;\n          }" { (expression_statement "p_Var7 = p_Var15[0x50]._M_nxt;" (assignment_expression "p_Var7 = p_Var15[0x50]._M_nxt" identifier = (field_expression "p_Var15[0x50]._M_nxt" (subscript_expression "p_Var15[0x50]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if ((_Hash_node_base *)((int)p_Var15[0x22]._M_nxt - (int)p_Var15[0x21]._M_nxt >> 2) <=\n                p_Var7) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n            }" if (parenthesized_expression "((_Hash_node_base *)((int)p_Var15[0x22]._M_nxt - (int)p_Var15[0x21]._M_nxt >> 2) <=\n                p_Var7)" ( (binary_expression "(_Hash_node_base *)((int)p_Var15[0x22]._M_nxt - (int)p_Var15[0x21]._M_nxt >> 2) <=\n                p_Var7" (cast_expression "(_Hash_node_base *)((int)p_Var15[0x22]._M_nxt - (int)p_Var15[0x21]._M_nxt >> 2)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p_Var15[0x22]._M_nxt - (int)p_Var15[0x21]._M_nxt >> 2)" ( (binary_expression "(int)p_Var15[0x22]._M_nxt - (int)p_Var15[0x21]._M_nxt >> 2" (binary_expression "(int)p_Var15[0x22]._M_nxt - (int)p_Var15[0x21]._M_nxt" (cast_expression "(int)p_Var15[0x22]._M_nxt" ( (type_descriptor "int" primitive_type) ) (field_expression "p_Var15[0x22]._M_nxt" (subscript_expression "p_Var15[0x22]" identifier [ number_literal ]) . field_identifier)) - (cast_expression "(int)p_Var15[0x21]._M_nxt" ( (type_descriptor "int" primitive_type) ) (field_expression "p_Var15[0x21]._M_nxt" (subscript_expression "p_Var15[0x21]" identifier [ number_literal ]) . field_identifier))) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n            }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");" (call_expression "do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset")" identifier (argument_list "("../../gold/object.h",0x7f7,"get_output_section_offset")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""get_output_section_offset"" " string_content ") ))) ;)) })) (expression_statement "p_Var8 = p_Var15[0x21]._M_nxt[(int)p_Var7]._M_nxt;" (assignment_expression "p_Var8 = p_Var15[0x21]._M_nxt[(int)p_Var7]._M_nxt" identifier = (field_expression "p_Var15[0x21]._M_nxt[(int)p_Var7]._M_nxt" (subscript_expression "p_Var15[0x21]._M_nxt[(int)p_Var7]" (field_expression "p_Var15[0x21]._M_nxt" (subscript_expression "p_Var15[0x21]" identifier [ number_literal ]) . field_identifier) [ (cast_expression "(int)p_Var7" ( (type_descriptor "int" primitive_type) ) identifier) ]) . field_identifier)) ;) (if_statement "if (p_Var8 == (_Hash_node_base *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x1633,"do_write");\n            }" if (parenthesized_expression "(p_Var8 == (_Hash_node_base *)0xffffffff)" ( (binary_expression "p_Var8 == (_Hash_node_base *)0xffffffff" identifier == (cast_expression "(_Hash_node_base *)0xffffffff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x1633,"do_write");\n            }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/powerpc.cc",0x1633,"do_write");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/powerpc.cc",0x1633,"do_write");" (call_expression "do_gold_unreachable("../../gold/powerpc.cc",0x1633,"do_write")" identifier (argument_list "("../../gold/powerpc.cc",0x1633,"do_write")" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") ))) ;)) })) (expression_statement "p_Var9 = p_Var15->_M_nxt[0x18]._M_nxt;" (assignment_expression "p_Var9 = p_Var15->_M_nxt[0x18]._M_nxt" identifier = (field_expression "p_Var15->_M_nxt[0x18]._M_nxt" (subscript_expression "p_Var15->_M_nxt[0x18]" (field_expression "p_Var15->_M_nxt" identifier -> field_identifier) [ number_literal ]) . field_identifier)) ;) (if_statement "if (p_Var9 == (_Hash_node_base *)gold::Relobj::do_output_section) {\n              if ((_Hash_node_base *)((int)p_Var15[0xf]._M_nxt - (int)p_Var15[0xe]._M_nxt >> 2) <=\n                  p_Var7) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n              }\n              p_Var15 = p_Var15[0xe]._M_nxt[(int)p_Var7]._M_nxt;\n            }\n            else {\n              p_Var15 = (_Hash_node_base *)(*(code *)p_Var9)(p_Var15,p_Var7);\n            }" if (parenthesized_expression "(p_Var9 == (_Hash_node_base *)gold::Relobj::do_output_section)" ( (binary_expression "p_Var9 == (_Hash_node_base *)gold" identifier == (cast_expression "(_Hash_node_base *)gold" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) (ERROR "::Relobj::do_output_section" : : identifier : : identifier) )) (compound_statement "{\n              if ((_Hash_node_base *)((int)p_Var15[0xf]._M_nxt - (int)p_Var15[0xe]._M_nxt >> 2) <=\n                  p_Var7) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n              }\n              p_Var15 = p_Var15[0xe]._M_nxt[(int)p_Var7]._M_nxt;\n            }" { (if_statement "if ((_Hash_node_base *)((int)p_Var15[0xf]._M_nxt - (int)p_Var15[0xe]._M_nxt >> 2) <=\n                  p_Var7) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n              }" if (parenthesized_expression "((_Hash_node_base *)((int)p_Var15[0xf]._M_nxt - (int)p_Var15[0xe]._M_nxt >> 2) <=\n                  p_Var7)" ( (binary_expression "(_Hash_node_base *)((int)p_Var15[0xf]._M_nxt - (int)p_Var15[0xe]._M_nxt >> 2) <=\n                  p_Var7" (cast_expression "(_Hash_node_base *)((int)p_Var15[0xf]._M_nxt - (int)p_Var15[0xe]._M_nxt >> 2)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p_Var15[0xf]._M_nxt - (int)p_Var15[0xe]._M_nxt >> 2)" ( (binary_expression "(int)p_Var15[0xf]._M_nxt - (int)p_Var15[0xe]._M_nxt >> 2" (binary_expression "(int)p_Var15[0xf]._M_nxt - (int)p_Var15[0xe]._M_nxt" (cast_expression "(int)p_Var15[0xf]._M_nxt" ( (type_descriptor "int" primitive_type) ) (field_expression "p_Var15[0xf]._M_nxt" (subscript_expression "p_Var15[0xf]" identifier [ number_literal ]) . field_identifier)) - (cast_expression "(int)p_Var15[0xe]._M_nxt" ( (type_descriptor "int" primitive_type) ) (field_expression "p_Var15[0xe]._M_nxt" (subscript_expression "p_Var15[0xe]" identifier [ number_literal ]) . field_identifier))) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n              }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");" (call_expression "do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section")" identifier (argument_list "("../../gold/object.h",0x5c8,"do_output_section")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""do_output_section"" " string_content ") ))) ;)) })) (expression_statement "p_Var15 = p_Var15[0xe]._M_nxt[(int)p_Var7]._M_nxt;" (assignment_expression "p_Var15 = p_Var15[0xe]._M_nxt[(int)p_Var7]._M_nxt" identifier = (field_expression "p_Var15[0xe]._M_nxt[(int)p_Var7]._M_nxt" (subscript_expression "p_Var15[0xe]._M_nxt[(int)p_Var7]" (field_expression "p_Var15[0xe]._M_nxt" (subscript_expression "p_Var15[0xe]" identifier [ number_literal ]) . field_identifier) [ (cast_expression "(int)p_Var7" ( (type_descriptor "int" primitive_type) ) identifier) ]) . field_identifier)) ;) }) (else_clause "else {\n              p_Var15 = (_Hash_node_base *)(*(code *)p_Var9)(p_Var15,p_Var7);\n            }" else (compound_statement "{\n              p_Var15 = (_Hash_node_base *)(*(code *)p_Var9)(p_Var15,p_Var7);\n            }" { (expression_statement "p_Var15 = (_Hash_node_base *)(*(code *)p_Var9)(p_Var15,p_Var7);" (assignment_expression "p_Var15 = (_Hash_node_base *)(*(code *)p_Var9)(p_Var15,p_Var7)" identifier = (cast_expression "(_Hash_node_base *)(*(code *)p_Var9)(p_Var15,p_Var7)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)p_Var9)(p_Var15,p_Var7)" (parenthesized_expression "(*(code *)p_Var9)" ( (pointer_expression "*(code *)p_Var9" * (cast_expression "(code *)p_Var9" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(p_Var15,p_Var7)" ( identifier , identifier ))))) ;) }))) (if_statement "if (((uint)p_Var15[7]._M_nxt & 1) == 0) goto LAB_00065211;" if (parenthesized_expression "(((uint)p_Var15[7]._M_nxt & 1) == 0)" ( (binary_expression "((uint)p_Var15[7]._M_nxt & 1) == 0" (parenthesized_expression "((uint)p_Var15[7]._M_nxt & 1)" ( (binary_expression "(uint)p_Var15[7]._M_nxt & 1" (cast_expression "(uint)p_Var15[7]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var15[7]._M_nxt" (subscript_expression "p_Var15[7]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00065211;" goto statement_identifier ;)) (expression_statement "iVar14 = (int)&p_Var8->_M_nxt +\n                     (int)&(p_Var15[1]._M_nxt)->_M_nxt + (int)&(p_Var20[3]._M_nxt)->_M_nxt;" (assignment_expression "iVar14 = (int)&p_Var8->_M_nxt +\n                     (int)&(p_Var15[1]._M_nxt)->_M_nxt + (int)&(p_Var20[3]._M_nxt)->_M_nxt" identifier = (binary_expression "(int)&p_Var8->_M_nxt +\n                     (int)&(p_Var15[1]._M_nxt)->_M_nxt + (int)&(p_Var20[3]._M_nxt)->_M_nxt" (binary_expression "(int)&p_Var8->_M_nxt +\n                     (int)&(p_Var15[1]._M_nxt)->_M_nxt" (cast_expression "(int)&p_Var8->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&p_Var8->_M_nxt" & (field_expression "p_Var8->_M_nxt" identifier -> field_identifier))) + (cast_expression "(int)&(p_Var15[1]._M_nxt)->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(p_Var15[1]._M_nxt)->_M_nxt" & (field_expression "(p_Var15[1]._M_nxt)->_M_nxt" (parenthesized_expression "(p_Var15[1]._M_nxt)" ( (field_expression "p_Var15[1]._M_nxt" (subscript_expression "p_Var15[1]" identifier [ number_literal ]) . field_identifier) )) -> field_identifier)))) + (cast_expression "(int)&(p_Var20[3]._M_nxt)->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(p_Var20[3]._M_nxt)->_M_nxt" & (field_expression "(p_Var20[3]._M_nxt)->_M_nxt" (parenthesized_expression "(p_Var20[3]._M_nxt)" ( (field_expression "p_Var20[3]._M_nxt" (subscript_expression "p_Var20[3]" identifier [ number_literal ]) . field_identifier) )) -> field_identifier))))) ;) }))) (expression_statement "uVar16 = uVar21 - iVar14 & 0xffff;" (assignment_expression "uVar16 = uVar21 - iVar14 & 0xffff" identifier = (binary_expression "uVar21 - iVar14 & 0xffff" (binary_expression "uVar21 - iVar14" identifier - identifier) & number_literal)) ;) (expression_statement "uVar21 = (uVar21 - iVar14) + 0x8000 >> 0x10;" (assignment_expression "uVar21 = (uVar21 - iVar14) + 0x8000 >> 0x10" identifier = (binary_expression "(uVar21 - iVar14) + 0x8000 >> 0x10" (binary_expression "(uVar21 - iVar14) + 0x8000" (parenthesized_expression "(uVar21 - iVar14)" ( (binary_expression "uVar21 - iVar14" identifier - identifier) )) + number_literal) >> number_literal)) ;) (if_statement "if (uVar21 == 0) {\n            uVar21 = uVar16 + 0x817e0000;\n            *puVar23 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                       uVar16 << 0x18;\n            puVar19 = puVar23;\n          }\n          else {\n            uVar22 = uVar21 + 0x3d7e0000;\n            uVar17 = uVar16 + 0x816b0000;\n            *puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar21 << 0x18;\n            puVar19 = puVar23 + 1;\n            puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n          }" if (parenthesized_expression "(uVar21 == 0)" ( (binary_expression "uVar21 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar21 = uVar16 + 0x817e0000;\n            *puVar23 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                       uVar16 << 0x18;\n            puVar19 = puVar23;\n          }" { (expression_statement "uVar21 = uVar16 + 0x817e0000;" (assignment_expression "uVar21 = uVar16 + 0x817e0000" identifier = (binary_expression "uVar16 + 0x817e0000" identifier + number_literal)) ;) (expression_statement "*puVar23 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                       uVar16 << 0x18;" (assignment_expression "*puVar23 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                       uVar16 << 0x18" (pointer_expression "*puVar23" * identifier) = (binary_expression "uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                       uVar16 << 0x18" (binary_expression "uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8" (binary_expression "uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8" (binary_expression "uVar21 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar21 & 0xff0000) >> 8" (parenthesized_expression "(uVar21 & 0xff0000)" ( (binary_expression "uVar21 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar21 & 0xff00) << 8" (parenthesized_expression "(uVar21 & 0xff00)" ( (binary_expression "uVar21 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar16 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar19 = puVar23;" (assignment_expression "puVar19 = puVar23" identifier = identifier) ;) }) (else_clause "else {\n            uVar22 = uVar21 + 0x3d7e0000;\n            uVar17 = uVar16 + 0x816b0000;\n            *puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar21 << 0x18;\n            puVar19 = puVar23 + 1;\n            puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n          }" else (compound_statement "{\n            uVar22 = uVar21 + 0x3d7e0000;\n            uVar17 = uVar16 + 0x816b0000;\n            *puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar21 << 0x18;\n            puVar19 = puVar23 + 1;\n            puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                         uVar16 << 0x18;\n          }" { (expression_statement "uVar22 = uVar21 + 0x3d7e0000;" (assignment_expression "uVar22 = uVar21 + 0x3d7e0000" identifier = (binary_expression "uVar21 + 0x3d7e0000" identifier + number_literal)) ;) (expression_statement "uVar17 = uVar16 + 0x816b0000;" (assignment_expression "uVar17 = uVar16 + 0x816b0000" identifier = (binary_expression "uVar16 + 0x816b0000" identifier + number_literal)) ;) (expression_statement "*puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar21 << 0x18;" (assignment_expression "*puVar23 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar21 << 0x18" (pointer_expression "*puVar23" * identifier) = (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar21 << 0x18" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8" (binary_expression "uVar22 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar22 & 0xff0000) >> 8" (parenthesized_expression "(uVar22 & 0xff0000)" ( (binary_expression "uVar22 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar22 & 0xff00) << 8" (parenthesized_expression "(uVar22 & 0xff00)" ( (binary_expression "uVar22 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar21 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar19 = puVar23 + 1;" (assignment_expression "puVar19 = puVar23 + 1" identifier = (binary_expression "puVar23 + 1" identifier + number_literal)) ;) (expression_statement "puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                         uVar16 << 0x18;" (assignment_expression "puVar23[1] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                         uVar16 << 0x18" (subscript_expression "puVar23[1]" identifier [ number_literal ]) = (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                         uVar16 << 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 "uVar16 << 0x18" identifier << number_literal))) ;) }))) }))) (expression_statement "puVar19[1] = 0xa603697d;" (assignment_expression "puVar19[1] = 0xa603697d" (subscript_expression "puVar19[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar19[2] = 0x2004804e;" (assignment_expression "puVar19[2] = 0x2004804e" (subscript_expression "puVar19[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "p_Var20 = p_Var20->_M_nxt;" (assignment_expression "p_Var20 = p_Var20->_M_nxt" identifier = (field_expression "p_Var20->_M_nxt" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(p_Var20 != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var20 != (_Hash_node_base *)0x0" identifier != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "pPVar11 = gold::parameters;" (assignment_expression "pPVar11 = gold" identifier = identifier) (ERROR "::parameters" : : identifier) ;) (for_statement "for (p_Var20 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\n        p_Var20 != (_Hash_node_base *)0x0; p_Var20 = p_Var20->_M_nxt) {\n      if (*(char *)&p_Var20[3]._M_nxt == '\0') {\n        puVar23 = (uint *)(puVar13 + (int)&(p_Var20[4]._M_nxt)->_M_nxt + this->plt_size_);\n        pGVar4 = pPVar11->options_;\n        if (pGVar4 == (General_options *)0x0) goto LAB_000655b6;\n        uVar21 = 1 << ((byte)(pGVar4->plt_align_).value & 0x1f);\n        if (uVar21 < 0x10) {\n          uVar21 = 0x10;\n        }\n        if ((this->field_0x1c & 1) == 0) {\nLAB_00065211:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n        uVar21 = (int)p_Var20[1]._M_nxt +\n                 (-(int)p_Var20[4]._M_nxt -\n                 ((-uVar21 & (uVar21 - 1) + *(int *)&this->field_0x4 + this->orig_data_size_) +\n                 this->plt_size_));\n        if (uVar21 + 0x2000000 < 0x4000000) {\n          *puVar23 = (uVar21 & 0x3000000 | 0x48000000) >> 0x18 | (uVar21 & 0xff0000) >> 8 |\n                     (uVar21 & 0xff00) << 8 | (uVar21 & 0xfc) << 0x18;\n          puVar19 = puVar23;\n        }\n        else if (((pGVar4->shared_).value == false) && ((pGVar4->pie_).value == false)) {\n          puVar19 = puVar23 + 1;\n          uVar21 = (uint)(p_Var20[1]._M_nxt + 0x2000) >> 0x10;\n          uVar16 = uVar21 + 0x3d800000;\n          *puVar23 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar21 << 0x18;\n          uVar21 = *(ushort *)&p_Var20[1]._M_nxt + 0x398c0000;\n          *puVar19 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                     (uint)*(ushort *)&p_Var20[1]._M_nxt << 0x18;\n        }\n        else {\n          *puVar23 = 0xa602087c;\n          puVar19 = puVar23 + 5;\n          uVar22 = uVar21 + 0x7ff8 >> 0x10;\n          uVar21 = uVar21 - 8 & 0xffff;\n          puVar23[1] = 0x5009f42;\n          uVar17 = uVar22 + 0x3d8c0000;\n          uVar16 = uVar21 + 0x398c0000;\n          puVar23[2] = 0xa602887d;\n          puVar23[3] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       uVar22 << 0x18;\n          puVar23[4] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar21 << 0x18;\n          *puVar19 = 0xa603087c;\n        }\n        puVar19[1] = 0xa603897d;\n        puVar19[2] = 0x2004804e;\n      }\n    }" for ( (assignment_expression "p_Var20 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt" identifier = (field_expression "(this->long_branch_stubs_)._M_h._M_before_begin._M_nxt" (field_expression "(this->long_branch_stubs_)._M_h._M_before_begin" (field_expression "(this->long_branch_stubs_)._M_h" (parenthesized_expression "(this->long_branch_stubs_)" ( (field_expression "this->long_branch_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ; (binary_expression "p_Var20 != (_Hash_node_base *)0x0" identifier != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "p_Var20 = p_Var20->_M_nxt" identifier = (field_expression "p_Var20->_M_nxt" identifier -> field_identifier)) ) (compound_statement "{\n      if (*(char *)&p_Var20[3]._M_nxt == '\0') {\n        puVar23 = (uint *)(puVar13 + (int)&(p_Var20[4]._M_nxt)->_M_nxt + this->plt_size_);\n        pGVar4 = pPVar11->options_;\n        if (pGVar4 == (General_options *)0x0) goto LAB_000655b6;\n        uVar21 = 1 << ((byte)(pGVar4->plt_align_).value & 0x1f);\n        if (uVar21 < 0x10) {\n          uVar21 = 0x10;\n        }\n        if ((this->field_0x1c & 1) == 0) {\nLAB_00065211:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n        uVar21 = (int)p_Var20[1]._M_nxt +\n                 (-(int)p_Var20[4]._M_nxt -\n                 ((-uVar21 & (uVar21 - 1) + *(int *)&this->field_0x4 + this->orig_data_size_) +\n                 this->plt_size_));\n        if (uVar21 + 0x2000000 < 0x4000000) {\n          *puVar23 = (uVar21 & 0x3000000 | 0x48000000) >> 0x18 | (uVar21 & 0xff0000) >> 8 |\n                     (uVar21 & 0xff00) << 8 | (uVar21 & 0xfc) << 0x18;\n          puVar19 = puVar23;\n        }\n        else if (((pGVar4->shared_).value == false) && ((pGVar4->pie_).value == false)) {\n          puVar19 = puVar23 + 1;\n          uVar21 = (uint)(p_Var20[1]._M_nxt + 0x2000) >> 0x10;\n          uVar16 = uVar21 + 0x3d800000;\n          *puVar23 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar21 << 0x18;\n          uVar21 = *(ushort *)&p_Var20[1]._M_nxt + 0x398c0000;\n          *puVar19 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                     (uint)*(ushort *)&p_Var20[1]._M_nxt << 0x18;\n        }\n        else {\n          *puVar23 = 0xa602087c;\n          puVar19 = puVar23 + 5;\n          uVar22 = uVar21 + 0x7ff8 >> 0x10;\n          uVar21 = uVar21 - 8 & 0xffff;\n          puVar23[1] = 0x5009f42;\n          uVar17 = uVar22 + 0x3d8c0000;\n          uVar16 = uVar21 + 0x398c0000;\n          puVar23[2] = 0xa602887d;\n          puVar23[3] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       uVar22 << 0x18;\n          puVar23[4] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar21 << 0x18;\n          *puVar19 = 0xa603087c;\n        }\n        puVar19[1] = 0xa603897d;\n        puVar19[2] = 0x2004804e;\n      }\n    }" { (if_statement "if (*(char *)&p_Var20[3]._M_nxt == '\0') {\n        puVar23 = (uint *)(puVar13 + (int)&(p_Var20[4]._M_nxt)->_M_nxt + this->plt_size_);\n        pGVar4 = pPVar11->options_;\n        if (pGVar4 == (General_options *)0x0) goto LAB_000655b6;\n        uVar21 = 1 << ((byte)(pGVar4->plt_align_).value & 0x1f);\n        if (uVar21 < 0x10) {\n          uVar21 = 0x10;\n        }\n        if ((this->field_0x1c & 1) == 0) {\nLAB_00065211:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n        uVar21 = (int)p_Var20[1]._M_nxt +\n                 (-(int)p_Var20[4]._M_nxt -\n                 ((-uVar21 & (uVar21 - 1) + *(int *)&this->field_0x4 + this->orig_data_size_) +\n                 this->plt_size_));\n        if (uVar21 + 0x2000000 < 0x4000000) {\n          *puVar23 = (uVar21 & 0x3000000 | 0x48000000) >> 0x18 | (uVar21 & 0xff0000) >> 8 |\n                     (uVar21 & 0xff00) << 8 | (uVar21 & 0xfc) << 0x18;\n          puVar19 = puVar23;\n        }\n        else if (((pGVar4->shared_).value == false) && ((pGVar4->pie_).value == false)) {\n          puVar19 = puVar23 + 1;\n          uVar21 = (uint)(p_Var20[1]._M_nxt + 0x2000) >> 0x10;\n          uVar16 = uVar21 + 0x3d800000;\n          *puVar23 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar21 << 0x18;\n          uVar21 = *(ushort *)&p_Var20[1]._M_nxt + 0x398c0000;\n          *puVar19 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                     (uint)*(ushort *)&p_Var20[1]._M_nxt << 0x18;\n        }\n        else {\n          *puVar23 = 0xa602087c;\n          puVar19 = puVar23 + 5;\n          uVar22 = uVar21 + 0x7ff8 >> 0x10;\n          uVar21 = uVar21 - 8 & 0xffff;\n          puVar23[1] = 0x5009f42;\n          uVar17 = uVar22 + 0x3d8c0000;\n          uVar16 = uVar21 + 0x398c0000;\n          puVar23[2] = 0xa602887d;\n          puVar23[3] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       uVar22 << 0x18;\n          puVar23[4] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar21 << 0x18;\n          *puVar19 = 0xa603087c;\n        }\n        puVar19[1] = 0xa603897d;\n        puVar19[2] = 0x2004804e;\n      }" if (parenthesized_expression "(*(char *)&p_Var20[3]._M_nxt == '\0')" ( (binary_expression "*(char *)&p_Var20[3]._M_nxt == '\0'" (pointer_expression "*(char *)&p_Var20[3]._M_nxt" * (cast_expression "(char *)&p_Var20[3]._M_nxt" ( (type_descriptor "char *" 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)))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        puVar23 = (uint *)(puVar13 + (int)&(p_Var20[4]._M_nxt)->_M_nxt + this->plt_size_);\n        pGVar4 = pPVar11->options_;\n        if (pGVar4 == (General_options *)0x0) goto LAB_000655b6;\n        uVar21 = 1 << ((byte)(pGVar4->plt_align_).value & 0x1f);\n        if (uVar21 < 0x10) {\n          uVar21 = 0x10;\n        }\n        if ((this->field_0x1c & 1) == 0) {\nLAB_00065211:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n        uVar21 = (int)p_Var20[1]._M_nxt +\n                 (-(int)p_Var20[4]._M_nxt -\n                 ((-uVar21 & (uVar21 - 1) + *(int *)&this->field_0x4 + this->orig_data_size_) +\n                 this->plt_size_));\n        if (uVar21 + 0x2000000 < 0x4000000) {\n          *puVar23 = (uVar21 & 0x3000000 | 0x48000000) >> 0x18 | (uVar21 & 0xff0000) >> 8 |\n                     (uVar21 & 0xff00) << 8 | (uVar21 & 0xfc) << 0x18;\n          puVar19 = puVar23;\n        }\n        else if (((pGVar4->shared_).value == false) && ((pGVar4->pie_).value == false)) {\n          puVar19 = puVar23 + 1;\n          uVar21 = (uint)(p_Var20[1]._M_nxt + 0x2000) >> 0x10;\n          uVar16 = uVar21 + 0x3d800000;\n          *puVar23 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar21 << 0x18;\n          uVar21 = *(ushort *)&p_Var20[1]._M_nxt + 0x398c0000;\n          *puVar19 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                     (uint)*(ushort *)&p_Var20[1]._M_nxt << 0x18;\n        }\n        else {\n          *puVar23 = 0xa602087c;\n          puVar19 = puVar23 + 5;\n          uVar22 = uVar21 + 0x7ff8 >> 0x10;\n          uVar21 = uVar21 - 8 & 0xffff;\n          puVar23[1] = 0x5009f42;\n          uVar17 = uVar22 + 0x3d8c0000;\n          uVar16 = uVar21 + 0x398c0000;\n          puVar23[2] = 0xa602887d;\n          puVar23[3] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       uVar22 << 0x18;\n          puVar23[4] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar21 << 0x18;\n          *puVar19 = 0xa603087c;\n        }\n        puVar19[1] = 0xa603897d;\n        puVar19[2] = 0x2004804e;\n      }" { (expression_statement "puVar23 = (uint *)(puVar13 + (int)&(p_Var20[4]._M_nxt)->_M_nxt + this->plt_size_);" (assignment_expression "puVar23 = (uint *)(puVar13 + (int)&(p_Var20[4]._M_nxt)->_M_nxt + this->plt_size_)" identifier = (cast_expression "(uint *)(puVar13 + (int)&(p_Var20[4]._M_nxt)->_M_nxt + this->plt_size_)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + (int)&(p_Var20[4]._M_nxt)->_M_nxt + this->plt_size_)" ( (binary_expression "puVar13 + (int)&(p_Var20[4]._M_nxt)->_M_nxt + this->plt_size_" (binary_expression "puVar13 + (int)&(p_Var20[4]._M_nxt)->_M_nxt" identifier + (cast_expression "(int)&(p_Var20[4]._M_nxt)->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(p_Var20[4]._M_nxt)->_M_nxt" & (field_expression "(p_Var20[4]._M_nxt)->_M_nxt" (parenthesized_expression "(p_Var20[4]._M_nxt)" ( (field_expression "p_Var20[4]._M_nxt" (subscript_expression "p_Var20[4]" identifier [ number_literal ]) . field_identifier) )) -> field_identifier)))) + (field_expression "this->plt_size_" identifier -> field_identifier)) )))) ;) (expression_statement "pGVar4 = pPVar11->options_;" (assignment_expression "pGVar4 = pPVar11->options_" identifier = (field_expression "pPVar11->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar4 == (General_options *)0x0) goto LAB_000655b6;" if (parenthesized_expression "(pGVar4 == (General_options *)0x0)" ( (binary_expression "pGVar4 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000655b6;" goto statement_identifier ;)) (expression_statement "uVar21 = 1 << ((byte)(pGVar4->plt_align_).value & 0x1f);" (assignment_expression "uVar21 = 1 << ((byte)(pGVar4->plt_align_).value & 0x1f)" identifier = (binary_expression "1 << ((byte)(pGVar4->plt_align_).value & 0x1f)" number_literal << (parenthesized_expression "((byte)(pGVar4->plt_align_).value & 0x1f)" ( (binary_expression "(byte)(pGVar4->plt_align_).value & 0x1f" (field_expression "(byte)(pGVar4->plt_align_).value" (call_expression "(byte)(pGVar4->plt_align_)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pGVar4->plt_align_)" ( (field_expression "pGVar4->plt_align_" identifier -> field_identifier) ))) . field_identifier) & number_literal) )))) ;) (if_statement "if (uVar21 < 0x10) {\n          uVar21 = 0x10;\n        }" if (parenthesized_expression "(uVar21 < 0x10)" ( (binary_expression "uVar21 < 0x10" identifier < number_literal) )) (compound_statement "{\n          uVar21 = 0x10;\n        }" { (expression_statement "uVar21 = 0x10;" (assignment_expression "uVar21 = 0x10" identifier = number_literal) ;) })) (if_statement "if ((this->field_0x1c & 1) == 0) {\nLAB_00065211:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }" if (parenthesized_expression "((this->field_0x1c & 1) == 0)" ( (binary_expression "(this->field_0x1c & 1) == 0" (parenthesized_expression "(this->field_0x1c & 1)" ( (binary_expression "this->field_0x1c & 1" (field_expression "this->field_0x1c" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_00065211:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }" { (labeled_statement "LAB_00065211:\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 "uVar21 = (int)p_Var20[1]._M_nxt +\n                 (-(int)p_Var20[4]._M_nxt -\n                 ((-uVar21 & (uVar21 - 1) + *(int *)&this->field_0x4 + this->orig_data_size_) +\n                 this->plt_size_));" (assignment_expression "uVar21 = (int)p_Var20[1]._M_nxt +\n                 (-(int)p_Var20[4]._M_nxt -\n                 ((-uVar21 & (uVar21 - 1) + *(int *)&this->field_0x4 + this->orig_data_size_) +\n                 this->plt_size_))" identifier = (binary_expression "(int)p_Var20[1]._M_nxt +\n                 (-(int)p_Var20[4]._M_nxt -\n                 ((-uVar21 & (uVar21 - 1) + *(int *)&this->field_0x4 + this->orig_data_size_) +\n                 this->plt_size_))" (cast_expression "(int)p_Var20[1]._M_nxt" ( (type_descriptor "int" primitive_type) ) (field_expression "p_Var20[1]._M_nxt" (subscript_expression "p_Var20[1]" identifier [ number_literal ]) . field_identifier)) + (parenthesized_expression "(-(int)p_Var20[4]._M_nxt -\n                 ((-uVar21 & (uVar21 - 1) + *(int *)&this->field_0x4 + this->orig_data_size_) +\n                 this->plt_size_))" ( (binary_expression "-(int)p_Var20[4]._M_nxt -\n                 ((-uVar21 & (uVar21 - 1) + *(int *)&this->field_0x4 + this->orig_data_size_) +\n                 this->plt_size_)" (unary_expression "-(int)p_Var20[4]._M_nxt" - (cast_expression "(int)p_Var20[4]._M_nxt" ( (type_descriptor "int" primitive_type) ) (field_expression "p_Var20[4]._M_nxt" (subscript_expression "p_Var20[4]" identifier [ number_literal ]) . field_identifier))) - (parenthesized_expression "((-uVar21 & (uVar21 - 1) + *(int *)&this->field_0x4 + this->orig_data_size_) +\n                 this->plt_size_)" ( (binary_expression "(-uVar21 & (uVar21 - 1) + *(int *)&this->field_0x4 + this->orig_data_size_) +\n                 this->plt_size_" (parenthesized_expression "(-uVar21 & (uVar21 - 1) + *(int *)&this->field_0x4 + this->orig_data_size_)" ( (binary_expression "-uVar21 & (uVar21 - 1) + *(int *)&this->field_0x4 + this->orig_data_size_" (unary_expression "-uVar21" - identifier) & (binary_expression "(uVar21 - 1) + *(int *)&this->field_0x4 + this->orig_data_size_" (binary_expression "(uVar21 - 1) + *(int *)&this->field_0x4" (parenthesized_expression "(uVar21 - 1)" ( (binary_expression "uVar21 - 1" identifier - number_literal) )) + (pointer_expression "*(int *)&this->field_0x4" * (cast_expression "(int *)&this->field_0x4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0x4" & (field_expression "this->field_0x4" identifier -> field_identifier))))) + (field_expression "this->orig_data_size_" identifier -> field_identifier))) )) + (field_expression "this->plt_size_" identifier -> field_identifier)) ))) )))) ;) (if_statement "if (uVar21 + 0x2000000 < 0x4000000) {\n          *puVar23 = (uVar21 & 0x3000000 | 0x48000000) >> 0x18 | (uVar21 & 0xff0000) >> 8 |\n                     (uVar21 & 0xff00) << 8 | (uVar21 & 0xfc) << 0x18;\n          puVar19 = puVar23;\n        }\n        else if (((pGVar4->shared_).value == false) && ((pGVar4->pie_).value == false)) {\n          puVar19 = puVar23 + 1;\n          uVar21 = (uint)(p_Var20[1]._M_nxt + 0x2000) >> 0x10;\n          uVar16 = uVar21 + 0x3d800000;\n          *puVar23 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar21 << 0x18;\n          uVar21 = *(ushort *)&p_Var20[1]._M_nxt + 0x398c0000;\n          *puVar19 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                     (uint)*(ushort *)&p_Var20[1]._M_nxt << 0x18;\n        }\n        else {\n          *puVar23 = 0xa602087c;\n          puVar19 = puVar23 + 5;\n          uVar22 = uVar21 + 0x7ff8 >> 0x10;\n          uVar21 = uVar21 - 8 & 0xffff;\n          puVar23[1] = 0x5009f42;\n          uVar17 = uVar22 + 0x3d8c0000;\n          uVar16 = uVar21 + 0x398c0000;\n          puVar23[2] = 0xa602887d;\n          puVar23[3] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       uVar22 << 0x18;\n          puVar23[4] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar21 << 0x18;\n          *puVar19 = 0xa603087c;\n        }" if (parenthesized_expression "(uVar21 + 0x2000000 < 0x4000000)" ( (binary_expression "uVar21 + 0x2000000 < 0x4000000" (binary_expression "uVar21 + 0x2000000" identifier + number_literal) < number_literal) )) (compound_statement "{\n          *puVar23 = (uVar21 & 0x3000000 | 0x48000000) >> 0x18 | (uVar21 & 0xff0000) >> 8 |\n                     (uVar21 & 0xff00) << 8 | (uVar21 & 0xfc) << 0x18;\n          puVar19 = puVar23;\n        }" { (expression_statement "*puVar23 = (uVar21 & 0x3000000 | 0x48000000) >> 0x18 | (uVar21 & 0xff0000) >> 8 |\n                     (uVar21 & 0xff00) << 8 | (uVar21 & 0xfc) << 0x18;" (assignment_expression "*puVar23 = (uVar21 & 0x3000000 | 0x48000000) >> 0x18 | (uVar21 & 0xff0000) >> 8 |\n                     (uVar21 & 0xff00) << 8 | (uVar21 & 0xfc) << 0x18" (pointer_expression "*puVar23" * identifier) = (binary_expression "(uVar21 & 0x3000000 | 0x48000000) >> 0x18 | (uVar21 & 0xff0000) >> 8 |\n                     (uVar21 & 0xff00) << 8 | (uVar21 & 0xfc) << 0x18" (binary_expression "(uVar21 & 0x3000000 | 0x48000000) >> 0x18 | (uVar21 & 0xff0000) >> 8 |\n                     (uVar21 & 0xff00) << 8" (binary_expression "(uVar21 & 0x3000000 | 0x48000000) >> 0x18 | (uVar21 & 0xff0000) >> 8" (binary_expression "(uVar21 & 0x3000000 | 0x48000000) >> 0x18" (parenthesized_expression "(uVar21 & 0x3000000 | 0x48000000)" ( (binary_expression "uVar21 & 0x3000000 | 0x48000000" (binary_expression "uVar21 & 0x3000000" identifier & number_literal) | number_literal) )) >> number_literal) | (binary_expression "(uVar21 & 0xff0000) >> 8" (parenthesized_expression "(uVar21 & 0xff0000)" ( (binary_expression "uVar21 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar21 & 0xff00) << 8" (parenthesized_expression "(uVar21 & 0xff00)" ( (binary_expression "uVar21 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar21 & 0xfc) << 0x18" (parenthesized_expression "(uVar21 & 0xfc)" ( (binary_expression "uVar21 & 0xfc" identifier & number_literal) )) << number_literal))) ;) (expression_statement "puVar19 = puVar23;" (assignment_expression "puVar19 = puVar23" identifier = identifier) ;) }) (else_clause "else if (((pGVar4->shared_).value == false) && ((pGVar4->pie_).value == false)) {\n          puVar19 = puVar23 + 1;\n          uVar21 = (uint)(p_Var20[1]._M_nxt + 0x2000) >> 0x10;\n          uVar16 = uVar21 + 0x3d800000;\n          *puVar23 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar21 << 0x18;\n          uVar21 = *(ushort *)&p_Var20[1]._M_nxt + 0x398c0000;\n          *puVar19 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                     (uint)*(ushort *)&p_Var20[1]._M_nxt << 0x18;\n        }\n        else {\n          *puVar23 = 0xa602087c;\n          puVar19 = puVar23 + 5;\n          uVar22 = uVar21 + 0x7ff8 >> 0x10;\n          uVar21 = uVar21 - 8 & 0xffff;\n          puVar23[1] = 0x5009f42;\n          uVar17 = uVar22 + 0x3d8c0000;\n          uVar16 = uVar21 + 0x398c0000;\n          puVar23[2] = 0xa602887d;\n          puVar23[3] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       uVar22 << 0x18;\n          puVar23[4] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar21 << 0x18;\n          *puVar19 = 0xa603087c;\n        }" else (if_statement "if (((pGVar4->shared_).value == false) && ((pGVar4->pie_).value == false)) {\n          puVar19 = puVar23 + 1;\n          uVar21 = (uint)(p_Var20[1]._M_nxt + 0x2000) >> 0x10;\n          uVar16 = uVar21 + 0x3d800000;\n          *puVar23 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar21 << 0x18;\n          uVar21 = *(ushort *)&p_Var20[1]._M_nxt + 0x398c0000;\n          *puVar19 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                     (uint)*(ushort *)&p_Var20[1]._M_nxt << 0x18;\n        }\n        else {\n          *puVar23 = 0xa602087c;\n          puVar19 = puVar23 + 5;\n          uVar22 = uVar21 + 0x7ff8 >> 0x10;\n          uVar21 = uVar21 - 8 & 0xffff;\n          puVar23[1] = 0x5009f42;\n          uVar17 = uVar22 + 0x3d8c0000;\n          uVar16 = uVar21 + 0x398c0000;\n          puVar23[2] = 0xa602887d;\n          puVar23[3] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       uVar22 << 0x18;\n          puVar23[4] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar21 << 0x18;\n          *puVar19 = 0xa603087c;\n        }" if (parenthesized_expression "(((pGVar4->shared_).value == false) && ((pGVar4->pie_).value == false))" ( (binary_expression "((pGVar4->shared_).value == false) && ((pGVar4->pie_).value == false)" (parenthesized_expression "((pGVar4->shared_).value == false)" ( (binary_expression "(pGVar4->shared_).value == false" (field_expression "(pGVar4->shared_).value" (parenthesized_expression "(pGVar4->shared_)" ( (field_expression "pGVar4->shared_" identifier -> field_identifier) )) . field_identifier) == false) )) && (parenthesized_expression "((pGVar4->pie_).value == false)" ( (binary_expression "(pGVar4->pie_).value == false" (field_expression "(pGVar4->pie_).value" (parenthesized_expression "(pGVar4->pie_)" ( (field_expression "pGVar4->pie_" identifier -> field_identifier) )) . field_identifier) == false) ))) )) (compound_statement "{\n          puVar19 = puVar23 + 1;\n          uVar21 = (uint)(p_Var20[1]._M_nxt + 0x2000) >> 0x10;\n          uVar16 = uVar21 + 0x3d800000;\n          *puVar23 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar21 << 0x18;\n          uVar21 = *(ushort *)&p_Var20[1]._M_nxt + 0x398c0000;\n          *puVar19 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                     (uint)*(ushort *)&p_Var20[1]._M_nxt << 0x18;\n        }" { (expression_statement "puVar19 = puVar23 + 1;" (assignment_expression "puVar19 = puVar23 + 1" identifier = (binary_expression "puVar23 + 1" identifier + number_literal)) ;) (expression_statement "uVar21 = (uint)(p_Var20[1]._M_nxt + 0x2000) >> 0x10;" (assignment_expression "uVar21 = (uint)(p_Var20[1]._M_nxt + 0x2000) >> 0x10" identifier = (binary_expression "(uint)(p_Var20[1]._M_nxt + 0x2000) >> 0x10" (call_expression "(uint)(p_Var20[1]._M_nxt + 0x2000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(p_Var20[1]._M_nxt + 0x2000)" ( (binary_expression "p_Var20[1]._M_nxt + 0x2000" (field_expression "p_Var20[1]._M_nxt" (subscript_expression "p_Var20[1]" identifier [ number_literal ]) . field_identifier) + number_literal) ))) >> number_literal)) ;) (expression_statement "uVar16 = uVar21 + 0x3d800000;" (assignment_expression "uVar16 = uVar21 + 0x3d800000" identifier = (binary_expression "uVar21 + 0x3d800000" identifier + number_literal)) ;) (expression_statement "*puVar23 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar21 << 0x18;" (assignment_expression "*puVar23 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar21 << 0x18" (pointer_expression "*puVar23" * identifier) = (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar21 << 0x18" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8" (binary_expression "uVar16 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" ( (binary_expression "uVar16 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" ( (binary_expression "uVar16 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar21 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar21 = *(ushort *)&p_Var20[1]._M_nxt + 0x398c0000;" (assignment_expression "uVar21 = *(ushort *)&p_Var20[1]._M_nxt + 0x398c0000" identifier = (binary_expression "*(ushort *)&p_Var20[1]._M_nxt + 0x398c0000" (pointer_expression "*(ushort *)&p_Var20[1]._M_nxt" * (cast_expression "(ushort *)&p_Var20[1]._M_nxt" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var20[1]._M_nxt" & (field_expression "p_Var20[1]._M_nxt" (subscript_expression "p_Var20[1]" identifier [ number_literal ]) . field_identifier)))) + number_literal)) ;) (expression_statement "*puVar19 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                     (uint)*(ushort *)&p_Var20[1]._M_nxt << 0x18;" (assignment_expression "*puVar19 = uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                     (uint)*(ushort *)&p_Var20[1]._M_nxt << 0x18" (pointer_expression "*puVar19" * identifier) = (binary_expression "uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                     (uint)*(ushort *)&p_Var20[1]._M_nxt << 0x18" (binary_expression "uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8" (binary_expression "uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8" (binary_expression "uVar21 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar21 & 0xff0000) >> 8" (parenthesized_expression "(uVar21 & 0xff0000)" ( (binary_expression "uVar21 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar21 & 0xff00) << 8" (parenthesized_expression "(uVar21 & 0xff00)" ( (binary_expression "uVar21 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "(uint)*(ushort *)&p_Var20[1]._M_nxt << 0x18" (binary_expression "(uint)*(ushort *)&p_Var20[1]._M_nxt" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)&p_Var20[1]._M_nxt" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var20[1]._M_nxt" & (field_expression "p_Var20[1]._M_nxt" (subscript_expression "p_Var20[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal))) ;) }) (else_clause "else {\n          *puVar23 = 0xa602087c;\n          puVar19 = puVar23 + 5;\n          uVar22 = uVar21 + 0x7ff8 >> 0x10;\n          uVar21 = uVar21 - 8 & 0xffff;\n          puVar23[1] = 0x5009f42;\n          uVar17 = uVar22 + 0x3d8c0000;\n          uVar16 = uVar21 + 0x398c0000;\n          puVar23[2] = 0xa602887d;\n          puVar23[3] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       uVar22 << 0x18;\n          puVar23[4] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar21 << 0x18;\n          *puVar19 = 0xa603087c;\n        }" else (compound_statement "{\n          *puVar23 = 0xa602087c;\n          puVar19 = puVar23 + 5;\n          uVar22 = uVar21 + 0x7ff8 >> 0x10;\n          uVar21 = uVar21 - 8 & 0xffff;\n          puVar23[1] = 0x5009f42;\n          uVar17 = uVar22 + 0x3d8c0000;\n          uVar16 = uVar21 + 0x398c0000;\n          puVar23[2] = 0xa602887d;\n          puVar23[3] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       uVar22 << 0x18;\n          puVar23[4] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar21 << 0x18;\n          *puVar19 = 0xa603087c;\n        }" { (expression_statement "*puVar23 = 0xa602087c;" (assignment_expression "*puVar23 = 0xa602087c" (pointer_expression "*puVar23" * identifier) = number_literal) ;) (expression_statement "puVar19 = puVar23 + 5;" (assignment_expression "puVar19 = puVar23 + 5" identifier = (binary_expression "puVar23 + 5" identifier + number_literal)) ;) (expression_statement "uVar22 = uVar21 + 0x7ff8 >> 0x10;" (assignment_expression "uVar22 = uVar21 + 0x7ff8 >> 0x10" identifier = (binary_expression "uVar21 + 0x7ff8 >> 0x10" (binary_expression "uVar21 + 0x7ff8" identifier + number_literal) >> number_literal)) ;) (expression_statement "uVar21 = uVar21 - 8 & 0xffff;" (assignment_expression "uVar21 = uVar21 - 8 & 0xffff" identifier = (binary_expression "uVar21 - 8 & 0xffff" (binary_expression "uVar21 - 8" identifier - number_literal) & number_literal)) ;) (expression_statement "puVar23[1] = 0x5009f42;" (assignment_expression "puVar23[1] = 0x5009f42" (subscript_expression "puVar23[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar17 = uVar22 + 0x3d8c0000;" (assignment_expression "uVar17 = uVar22 + 0x3d8c0000" identifier = (binary_expression "uVar22 + 0x3d8c0000" identifier + number_literal)) ;) (expression_statement "uVar16 = uVar21 + 0x398c0000;" (assignment_expression "uVar16 = uVar21 + 0x398c0000" identifier = (binary_expression "uVar21 + 0x398c0000" identifier + number_literal)) ;) (expression_statement "puVar23[2] = 0xa602887d;" (assignment_expression "puVar23[2] = 0xa602887d" (subscript_expression "puVar23[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar23[3] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       uVar22 << 0x18;" (assignment_expression "puVar23[3] = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       uVar22 << 0x18" (subscript_expression "puVar23[3]" identifier [ number_literal ]) = (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                       uVar22 << 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 "uVar22 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar23[4] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar21 << 0x18;" (assignment_expression "puVar23[4] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar21 << 0x18" (subscript_expression "puVar23[4]" identifier [ number_literal ]) = (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar21 << 0x18" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8" (binary_expression "uVar16 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" ( (binary_expression "uVar16 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" ( (binary_expression "uVar16 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar21 << 0x18" identifier << number_literal))) ;) (expression_statement "*puVar19 = 0xa603087c;" (assignment_expression "*puVar19 = 0xa603087c" (pointer_expression "*puVar19" * identifier) = number_literal) ;) }))))) (expression_statement "puVar19[1] = 0xa603897d;" (assignment_expression "puVar19[1] = 0xa603897d" (subscript_expression "puVar19[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar19[2] = 0x2004804e;" (assignment_expression "puVar19[2] = 0x2004804e" (subscript_expression "puVar19[2]" identifier [ number_literal ]) = number_literal) ;) })) })) (if_statement "if (this->need_save_res_ != false) {\n      pOVar5 = this->targ_->savres_section_;\n      if ((pOVar5->field_0x1c & 2) == 0) goto LAB_0006566c;\n      memcpy(puVar13 + this->plt_size_ + this->branch_size_,pOVar5->contents_,\n             *(size_t *)&pOVar5->field_0xc);\n    }" if (parenthesized_expression "(this->need_save_res_ != false)" ( (binary_expression "this->need_save_res_ != false" (field_expression "this->need_save_res_" identifier -> field_identifier) != false) )) (compound_statement "{\n      pOVar5 = this->targ_->savres_section_;\n      if ((pOVar5->field_0x1c & 2) == 0) goto LAB_0006566c;\n      memcpy(puVar13 + this->plt_size_ + this->branch_size_,pOVar5->contents_,\n             *(size_t *)&pOVar5->field_0xc);\n    }" { (expression_statement "pOVar5 = this->targ_->savres_section_;" (assignment_expression "pOVar5 = this->targ_->savres_section_" identifier = (field_expression "this->targ_->savres_section_" (field_expression "this->targ_" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if ((pOVar5->field_0x1c & 2) == 0) goto LAB_0006566c;" if (parenthesized_expression "((pOVar5->field_0x1c & 2) == 0)" ( (binary_expression "(pOVar5->field_0x1c & 2) == 0" (parenthesized_expression "(pOVar5->field_0x1c & 2)" ( (binary_expression "pOVar5->field_0x1c & 2" (field_expression "pOVar5->field_0x1c" identifier -> field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0006566c;" goto statement_identifier ;)) (expression_statement "memcpy(puVar13 + this->plt_size_ + this->branch_size_,pOVar5->contents_,\n             *(size_t *)&pOVar5->field_0xc);" (call_expression "memcpy(puVar13 + this->plt_size_ + this->branch_size_,pOVar5->contents_,\n             *(size_t *)&pOVar5->field_0xc)" identifier (argument_list "(puVar13 + this->plt_size_ + this->branch_size_,pOVar5->contents_,\n             *(size_t *)&pOVar5->field_0xc)" ( (binary_expression "puVar13 + this->plt_size_ + this->branch_size_" (binary_expression "puVar13 + this->plt_size_" identifier + (field_expression "this->plt_size_" identifier -> field_identifier)) + (field_expression "this->branch_size_" identifier -> field_identifier)) , (field_expression "pOVar5->contents_" identifier -> field_identifier) , (pointer_expression "*(size_t *)&pOVar5->field_0xc" * (cast_expression "(size_t *)&pOVar5->field_0xc" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar5->field_0xc" & (field_expression "pOVar5->field_0xc" identifier -> field_identifier)))) ))) ;) })) })) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void FUN_00064f30(int param_1,int param_2)\n\n{\n  byte bVar1;\n  undefined4 *puVar2;\n  int *piVar3;\n  int iVar4;\n  char cVar5;\n  void *__dest;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  int *piVar11;\n  uint uVar12;\n  uint uVar13;\n  uint *puVar14;\n  int local_40;\n  char local_1d [13];\n  \n  if ((*(int *)(param_1 + 0x44) != 0) || (*(int *)(param_1 + 0x60) != 0)) {\n    bVar1 = *(byte *)(param_1 + 0x1c);\n    if ((bVar1 & 4) == 0) {\n                    \n      FUN_000da200("../../gold/output.h",0xe3,"offset",bVar1);\n    }\n    if (*(int *)(DAT_004144e8 + 8) == 0) {\nLAB_000655b6:\n                    \n      FUN_00052750();\n    }\n    uVar12 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f);\n    if (uVar12 < 0x10) {\n      uVar12 = 0x10;\n    }\n    __dest = (void *)((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12);\n    if ((bVar1 & 2) == 0) {\nLAB_0006566c:\n                    \n      FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);\n    }\n    uVar12 = (int)__dest - *(int *)(param_1 + 0x14);\n    uVar13 = *(uint *)(param_1 + 0xc) - uVar12;\n    if (*(uint *)(param_1 + 0x10) != (uint)(*(uint *)(param_1 + 0xc) < uVar12)) {\n                    \n      FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest);\n    }\n    uVar12 = (uint)CARRY4((uint)__dest,uVar13);\n    uVar13 = (uint)(*(uint *)(param_2 + 8) < (int)__dest + uVar13);\n    iVar4 = *(int *)(param_2 + 0xc) - uVar12;\n    if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)) !=\n        (int)(iVar4 - uVar13) < 0) {\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest);\n    }\n    iVar4 = *(int *)(param_2 + 0x10);\n    if ((*(int *)(param_1 + 0x44) != 0) &&\n       (piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0)) {\n      local_40 = -1;\n      do {\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    \n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    \n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\n    }\n    iVar6 = DAT_004144e8;\n    for (puVar2 = *(undefined4 **)(param_1 + 0x5c); puVar2 != (undefined4 *)0x0;\n        puVar2 = (undefined4 *)*puVar2) {\n      if (*(char *)(puVar2 + 3) == '\0') {\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    \n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }\n    }\n    if (*(char *)(param_1 + 0x88) != '\0') {\n      __dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4);\n      iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) goto LAB_0006566c;\n      memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc));\n    }\n  }\n  return;\n}\n\n" (function_definition "void FUN_00064f30(int param_1,int param_2)\n\n{\n  byte bVar1;\n  undefined4 *puVar2;\n  int *piVar3;\n  int iVar4;\n  char cVar5;\n  void *__dest;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  int *piVar11;\n  uint uVar12;\n  uint uVar13;\n  uint *puVar14;\n  int local_40;\n  char local_1d [13];\n  \n  if ((*(int *)(param_1 + 0x44) != 0) || (*(int *)(param_1 + 0x60) != 0)) {\n    bVar1 = *(byte *)(param_1 + 0x1c);\n    if ((bVar1 & 4) == 0) {\n                    \n      FUN_000da200("../../gold/output.h",0xe3,"offset",bVar1);\n    }\n    if (*(int *)(DAT_004144e8 + 8) == 0) {\nLAB_000655b6:\n                    \n      FUN_00052750();\n    }\n    uVar12 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f);\n    if (uVar12 < 0x10) {\n      uVar12 = 0x10;\n    }\n    __dest = (void *)((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12);\n    if ((bVar1 & 2) == 0) {\nLAB_0006566c:\n                    \n      FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);\n    }\n    uVar12 = (int)__dest - *(int *)(param_1 + 0x14);\n    uVar13 = *(uint *)(param_1 + 0xc) - uVar12;\n    if (*(uint *)(param_1 + 0x10) != (uint)(*(uint *)(param_1 + 0xc) < uVar12)) {\n                    \n      FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest);\n    }\n    uVar12 = (uint)CARRY4((uint)__dest,uVar13);\n    uVar13 = (uint)(*(uint *)(param_2 + 8) < (int)__dest + uVar13);\n    iVar4 = *(int *)(param_2 + 0xc) - uVar12;\n    if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)) !=\n        (int)(iVar4 - uVar13) < 0) {\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest);\n    }\n    iVar4 = *(int *)(param_2 + 0x10);\n    if ((*(int *)(param_1 + 0x44) != 0) &&\n       (piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0)) {\n      local_40 = -1;\n      do {\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    \n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    \n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\n    }\n    iVar6 = DAT_004144e8;\n    for (puVar2 = *(undefined4 **)(param_1 + 0x5c); puVar2 != (undefined4 *)0x0;\n        puVar2 = (undefined4 *)*puVar2) {\n      if (*(char *)(puVar2 + 3) == '\0') {\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    \n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }\n    }\n    if (*(char *)(param_1 + 0x88) != '\0') {\n      __dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4);\n      iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) goto LAB_0006566c;\n      memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc));\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00064f30(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  undefined4 *puVar2;\n  int *piVar3;\n  int iVar4;\n  char cVar5;\n  void *__dest;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  int *piVar11;\n  uint uVar12;\n  uint uVar13;\n  uint *puVar14;\n  int local_40;\n  char local_1d [13];\n  \n  if ((*(int *)(param_1 + 0x44) != 0) || (*(int *)(param_1 + 0x60) != 0)) {\n    bVar1 = *(byte *)(param_1 + 0x1c);\n    if ((bVar1 & 4) == 0) {\n                    \n      FUN_000da200("../../gold/output.h",0xe3,"offset",bVar1);\n    }\n    if (*(int *)(DAT_004144e8 + 8) == 0) {\nLAB_000655b6:\n                    \n      FUN_00052750();\n    }\n    uVar12 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f);\n    if (uVar12 < 0x10) {\n      uVar12 = 0x10;\n    }\n    __dest = (void *)((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12);\n    if ((bVar1 & 2) == 0) {\nLAB_0006566c:\n                    \n      FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);\n    }\n    uVar12 = (int)__dest - *(int *)(param_1 + 0x14);\n    uVar13 = *(uint *)(param_1 + 0xc) - uVar12;\n    if (*(uint *)(param_1 + 0x10) != (uint)(*(uint *)(param_1 + 0xc) < uVar12)) {\n                    \n      FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest);\n    }\n    uVar12 = (uint)CARRY4((uint)__dest,uVar13);\n    uVar13 = (uint)(*(uint *)(param_2 + 8) < (int)__dest + uVar13);\n    iVar4 = *(int *)(param_2 + 0xc) - uVar12;\n    if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)) !=\n        (int)(iVar4 - uVar13) < 0) {\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest);\n    }\n    iVar4 = *(int *)(param_2 + 0x10);\n    if ((*(int *)(param_1 + 0x44) != 0) &&\n       (piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0)) {\n      local_40 = -1;\n      do {\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    \n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    \n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\n    }\n    iVar6 = DAT_004144e8;\n    for (puVar2 = *(undefined4 **)(param_1 + 0x5c); puVar2 != (undefined4 *)0x0;\n        puVar2 = (undefined4 *)*puVar2) {\n      if (*(char *)(puVar2 + 3) == '\0') {\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    \n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }\n    }\n    if (*(char *)(param_1 + 0x88) != '\0') {\n      __dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4);\n      iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) goto LAB_0006566c;\n      memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc));\n    }\n  }\n  return;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "void *__dest;" primitive_type (pointer_declarator "*__dest" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "char local_1d [13];" primitive_type (array_declarator "local_1d [13]" identifier [ number_literal ]) ;) (if_statement "if ((*(int *)(param_1 + 0x44) != 0) || (*(int *)(param_1 + 0x60) != 0)) {\n    bVar1 = *(byte *)(param_1 + 0x1c);\n    if ((bVar1 & 4) == 0) {\n                    \n      FUN_000da200("../../gold/output.h",0xe3,"offset",bVar1);\n    }\n    if (*(int *)(DAT_004144e8 + 8) == 0) {\nLAB_000655b6:\n                    \n      FUN_00052750();\n    }\n    uVar12 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f);\n    if (uVar12 < 0x10) {\n      uVar12 = 0x10;\n    }\n    __dest = (void *)((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12);\n    if ((bVar1 & 2) == 0) {\nLAB_0006566c:\n                    \n      FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);\n    }\n    uVar12 = (int)__dest - *(int *)(param_1 + 0x14);\n    uVar13 = *(uint *)(param_1 + 0xc) - uVar12;\n    if (*(uint *)(param_1 + 0x10) != (uint)(*(uint *)(param_1 + 0xc) < uVar12)) {\n                    \n      FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest);\n    }\n    uVar12 = (uint)CARRY4((uint)__dest,uVar13);\n    uVar13 = (uint)(*(uint *)(param_2 + 8) < (int)__dest + uVar13);\n    iVar4 = *(int *)(param_2 + 0xc) - uVar12;\n    if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)) !=\n        (int)(iVar4 - uVar13) < 0) {\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest);\n    }\n    iVar4 = *(int *)(param_2 + 0x10);\n    if ((*(int *)(param_1 + 0x44) != 0) &&\n       (piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0)) {\n      local_40 = -1;\n      do {\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    \n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    \n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\n    }\n    iVar6 = DAT_004144e8;\n    for (puVar2 = *(undefined4 **)(param_1 + 0x5c); puVar2 != (undefined4 *)0x0;\n        puVar2 = (undefined4 *)*puVar2) {\n      if (*(char *)(puVar2 + 3) == '\0') {\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    \n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }\n    }\n    if (*(char *)(param_1 + 0x88) != '\0') {\n      __dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4);\n      iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) goto LAB_0006566c;\n      memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc));\n    }\n  }" if (parenthesized_expression "((*(int *)(param_1 + 0x44) != 0) || (*(int *)(param_1 + 0x60) != 0))" ( (binary_expression "(*(int *)(param_1 + 0x44) != 0) || (*(int *)(param_1 + 0x60) != 0)" (parenthesized_expression "(*(int *)(param_1 + 0x44) != 0)" ( (binary_expression "*(int *)(param_1 + 0x44) != 0" (pointer_expression "*(int *)(param_1 + 0x44)" * (cast_expression "(int *)(param_1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) != number_literal) )) || (parenthesized_expression "(*(int *)(param_1 + 0x60) != 0)" ( (binary_expression "*(int *)(param_1 + 0x60) != 0" (pointer_expression "*(int *)(param_1 + 0x60)" * (cast_expression "(int *)(param_1 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n    bVar1 = *(byte *)(param_1 + 0x1c);\n    if ((bVar1 & 4) == 0) {\n                    \n      FUN_000da200("../../gold/output.h",0xe3,"offset",bVar1);\n    }\n    if (*(int *)(DAT_004144e8 + 8) == 0) {\nLAB_000655b6:\n                    \n      FUN_00052750();\n    }\n    uVar12 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f);\n    if (uVar12 < 0x10) {\n      uVar12 = 0x10;\n    }\n    __dest = (void *)((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12);\n    if ((bVar1 & 2) == 0) {\nLAB_0006566c:\n                    \n      FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);\n    }\n    uVar12 = (int)__dest - *(int *)(param_1 + 0x14);\n    uVar13 = *(uint *)(param_1 + 0xc) - uVar12;\n    if (*(uint *)(param_1 + 0x10) != (uint)(*(uint *)(param_1 + 0xc) < uVar12)) {\n                    \n      FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest);\n    }\n    uVar12 = (uint)CARRY4((uint)__dest,uVar13);\n    uVar13 = (uint)(*(uint *)(param_2 + 8) < (int)__dest + uVar13);\n    iVar4 = *(int *)(param_2 + 0xc) - uVar12;\n    if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)) !=\n        (int)(iVar4 - uVar13) < 0) {\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest);\n    }\n    iVar4 = *(int *)(param_2 + 0x10);\n    if ((*(int *)(param_1 + 0x44) != 0) &&\n       (piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0)) {\n      local_40 = -1;\n      do {\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    \n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    \n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\n    }\n    iVar6 = DAT_004144e8;\n    for (puVar2 = *(undefined4 **)(param_1 + 0x5c); puVar2 != (undefined4 *)0x0;\n        puVar2 = (undefined4 *)*puVar2) {\n      if (*(char *)(puVar2 + 3) == '\0') {\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    \n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }\n    }\n    if (*(char *)(param_1 + 0x88) != '\0') {\n      __dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4);\n      iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) goto LAB_0006566c;\n      memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc));\n    }\n  }" { (expression_statement "bVar1 = *(byte *)(param_1 + 0x1c);" (assignment_expression "bVar1 = *(byte *)(param_1 + 0x1c)" identifier = (pointer_expression "*(byte *)(param_1 + 0x1c)" * (cast_expression "(byte *)(param_1 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if ((bVar1 & 4) == 0) {\n                    \n      FUN_000da200("../../gold/output.h",0xe3,"offset",bVar1);\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_000da200("../../gold/output.h",0xe3,"offset",bVar1);\n    }" { (expression_statement "FUN_000da200("../../gold/output.h",0xe3,"offset",bVar1);" (call_expression "FUN_000da200("../../gold/output.h",0xe3,"offset",bVar1)" identifier (argument_list "("../../gold/output.h",0xe3,"offset",bVar1)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") , identifier ))) ;) })) (if_statement "if (*(int *)(DAT_004144e8 + 8) == 0) {\nLAB_000655b6:\n                    \n      FUN_00052750();\n    }" if (parenthesized_expression "(*(int *)(DAT_004144e8 + 8) == 0)" ( (binary_expression "*(int *)(DAT_004144e8 + 8) == 0" (pointer_expression "*(int *)(DAT_004144e8 + 8)" * (cast_expression "(int *)(DAT_004144e8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_004144e8 + 8)" ( (binary_expression "DAT_004144e8 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_000655b6:\n                    \n      FUN_00052750();\n    }" { (labeled_statement "LAB_000655b6:\n                    \n      FUN_00052750();" statement_identifier : (expression_statement "FUN_00052750();" (call_expression "FUN_00052750()" identifier (argument_list "()" ( ))) ;)) })) (expression_statement "uVar12 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f);" (assignment_expression "uVar12 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f)" identifier = (binary_expression "1 << ((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f)" number_literal << (parenthesized_expression "((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f)" ( (binary_expression "(byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f" (binary_expression "(byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_004144e8 + 8) + 0x2b20)" ( (binary_expression "*(int *)(DAT_004144e8 + 8) + 0x2b20" (pointer_expression "*(int *)(DAT_004144e8 + 8)" * (cast_expression "(int *)(DAT_004144e8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_004144e8 + 8)" ( (binary_expression "DAT_004144e8 + 8" identifier + number_literal) )))) + number_literal) )))) & number_literal) )))) ;) (if_statement "if (uVar12 < 0x10) {\n      uVar12 = 0x10;\n    }" if (parenthesized_expression "(uVar12 < 0x10)" ( (binary_expression "uVar12 < 0x10" identifier < number_literal) )) (compound_statement "{\n      uVar12 = 0x10;\n    }" { (expression_statement "uVar12 = 0x10;" (assignment_expression "uVar12 = 0x10" identifier = number_literal) ;) })) (expression_statement "__dest = (void *)((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12);" (assignment_expression "__dest = (void *)((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12)" identifier = (cast_expression "(void *)((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12)" ( (binary_expression "(uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12" (binary_expression "(uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14)" (binary_expression "(uVar12 - 1) + *(int *)(param_1 + 0x70)" (parenthesized_expression "(uVar12 - 1)" ( (binary_expression "uVar12 - 1" identifier - number_literal) )) + (pointer_expression "*(int *)(param_1 + 0x70)" * (cast_expression "(int *)(param_1 + 0x70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) ))))) + (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) & (unary_expression "-uVar12" - identifier)) )))) ;) (if_statement "if ((bVar1 & 2) == 0) {\nLAB_0006566c:\n                    \n      FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);\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 "{\nLAB_0006566c:\n                    \n      FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);\n    }" { (labeled_statement "LAB_0006566c:\n                    \n      FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);" statement_identifier : (expression_statement "FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);" (call_expression "FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest)" identifier (argument_list "("../../gold/output.h",0xcf,"data_size",__dest)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") , identifier ))) ;)) })) (expression_statement "uVar12 = (int)__dest - *(int *)(param_1 + 0x14);" (assignment_expression "uVar12 = (int)__dest - *(int *)(param_1 + 0x14)" identifier = (binary_expression "(int)__dest - *(int *)(param_1 + 0x14)" (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))))) ;) (expression_statement "uVar13 = *(uint *)(param_1 + 0xc) - uVar12;" (assignment_expression "uVar13 = *(uint *)(param_1 + 0xc) - uVar12" identifier = (binary_expression "*(uint *)(param_1 + 0xc) - uVar12" (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) - identifier)) ;) (if_statement "if (*(uint *)(param_1 + 0x10) != (uint)(*(uint *)(param_1 + 0xc) < uVar12)) {\n                    \n      FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest);\n    }" if (parenthesized_expression "(*(uint *)(param_1 + 0x10) != (uint)(*(uint *)(param_1 + 0xc) < uVar12))" ( (binary_expression "*(uint *)(param_1 + 0x10) != (uint)(*(uint *)(param_1 + 0xc) < uVar12)" (pointer_expression "*(uint *)(param_1 + 0x10)" * (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) != (call_expression "(uint)(*(uint *)(param_1 + 0xc) < uVar12)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_1 + 0xc) < uVar12)" ( (binary_expression "*(uint *)(param_1 + 0xc) < uVar12" (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) < identifier) )))) )) (compound_statement "{\n                    \n      FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest);\n    }" { (expression_statement "FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest);" (call_expression "FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest)" identifier (argument_list "("../../gold/gold.h",0xc0,"convert_types",__dest)" ( (string_literal ""../../gold/gold.h"" " string_content ") , number_literal , (string_literal ""convert_types"" " string_content ") , identifier ))) ;) })) (expression_statement "uVar12 = (uint)CARRY4((uint)__dest,uVar13);" (assignment_expression "uVar12 = (uint)CARRY4((uint)__dest,uVar13)" identifier = (cast_expression "(uint)CARRY4((uint)__dest,uVar13)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)__dest,uVar13)" identifier (argument_list "((uint)__dest,uVar13)" ( (cast_expression "(uint)__dest" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier ))))) ;) (expression_statement "uVar13 = (uint)(*(uint *)(param_2 + 8) < (int)__dest + uVar13);" (assignment_expression "uVar13 = (uint)(*(uint *)(param_2 + 8) < (int)__dest + uVar13)" identifier = (call_expression "(uint)(*(uint *)(param_2 + 8) < (int)__dest + uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_2 + 8) < (int)__dest + uVar13)" ( (binary_expression "*(uint *)(param_2 + 8) < (int)__dest + uVar13" (pointer_expression "*(uint *)(param_2 + 8)" * (cast_expression "(uint *)(param_2 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) )))) < (binary_expression "(int)__dest + uVar13" (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) )))) ;) (expression_statement "iVar4 = *(int *)(param_2 + 0xc) - uVar12;" (assignment_expression "iVar4 = *(int *)(param_2 + 0xc) - uVar12" identifier = (binary_expression "*(int *)(param_2 + 0xc) - uVar12" (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) - identifier)) ;) (if_statement "if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)) !=\n        (int)(iVar4 - uVar13) < 0) {\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest);\n    }" if (parenthesized_expression "((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)) !=\n        (int)(iVar4 - uVar13) < 0)" ( (binary_expression "(SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)) !=\n        (int)(iVar4 - uVar13) < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13))" ( (binary_expression "SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)" (call_expression "SBORROW4(*(int *)(param_2 + 0xc),uVar12)" identifier (argument_list "(*(int *)(param_2 + 0xc),uVar12)" ( (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) , identifier ))) != (call_expression "SBORROW4(iVar4,uVar13)" identifier (argument_list "(iVar4,uVar13)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar4 - uVar13) < 0" (cast_expression "(int)(iVar4 - uVar13)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar4 - uVar13)" ( (binary_expression "iVar4 - uVar13" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest);\n    }" { (expression_statement "FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest);" (call_expression "FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest)" identifier (argument_list "("../../gold/output.h",0x6f,"get_output_view",__dest)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""get_output_view"" " string_content ") , identifier ))) ;) })) (expression_statement "iVar4 = *(int *)(param_2 + 0x10);" (assignment_expression "iVar4 = *(int *)(param_2 + 0x10)" identifier = (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if ((*(int *)(param_1 + 0x44) != 0) &&\n       (piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0)) {\n      local_40 = -1;\n      do {\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    \n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    \n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\n    }" if (parenthesized_expression "((*(int *)(param_1 + 0x44) != 0) &&\n       (piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0))" ( (binary_expression "(*(int *)(param_1 + 0x44) != 0) &&\n       (piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0)" (parenthesized_expression "(*(int *)(param_1 + 0x44) != 0)" ( (binary_expression "*(int *)(param_1 + 0x44) != 0" (pointer_expression "*(int *)(param_1 + 0x44)" * (cast_expression "(int *)(param_1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0)" ( (comma_expression "piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0" (assignment_expression "piVar11 = *(int **)(param_1 + 0x40)" identifier = (pointer_expression "*(int **)(param_1 + 0x40)" * (cast_expression "(int **)(param_1 + 0x40)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) ))))) , (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      local_40 = -1;\n      do {\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    \n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    \n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\n    }" { (expression_statement "local_40 = -1;" (assignment_expression "local_40 = -1" identifier = number_literal) ;) (do_statement "do {\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    \n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    \n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);" do (compound_statement "{\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    \n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    \n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      }" { (expression_statement "puVar2 = (undefined4 *)piVar11[1];" (assignment_expression "puVar2 = (undefined4 *)piVar11[1]" identifier = (cast_expression "(undefined4 *)piVar11[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar6 = *(int *)(param_1 + 0x34);" (assignment_expression "iVar6 = *(int *)(param_1 + 0x34)" identifier = (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) (if_statement "if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    \n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }" if (parenthesized_expression "(puVar2 == (undefined4 *)0x0)" ( (binary_expression "puVar2 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    \n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }" { (expression_statement "piVar3 = (int *)piVar11[2];" (assignment_expression "piVar3 = (int *)piVar11[2]" identifier = (cast_expression "(int *)piVar11[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[2]" identifier [ number_literal ]))) ;) (expression_statement "uVar12 = piVar11[4];" (assignment_expression "uVar12 = piVar11[4]" identifier = (subscript_expression "piVar11[4]" identifier [ number_literal ])) ;) (if_statement "if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    \n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }" if (parenthesized_expression "((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12)" ( (binary_expression "(uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12" (call_expression "(uint)(piVar3[0x38] - piVar3[0x37] >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar3[0x38] - piVar3[0x37] >> 4)" ( (binary_expression "piVar3[0x38] - piVar3[0x37] >> 4" (binary_expression "piVar3[0x38] - piVar3[0x37]" (subscript_expression "piVar3[0x38]" identifier [ number_literal ]) - (subscript_expression "piVar3[0x37]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    \n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }" { (expression_statement "FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);" (call_expression "FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6)" identifier (argument_list "("../../gold/object.h",0x8c1,"local_symbol",iVar6)" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""local_symbol"" " string_content ") , identifier ))) ;) })) (if_statement "if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }" if (parenthesized_expression "((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0)" ( (binary_expression "(*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0" (parenthesized_expression "(*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40)" ( (binary_expression "*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40" (pointer_expression "*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10)" * (cast_expression "(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3[0x37] + 0xb + uVar12 * 0x10)" ( (binary_expression "piVar3[0x37] + 0xb + uVar12 * 0x10" (binary_expression "piVar3[0x37] + 0xb" (subscript_expression "piVar3[0x37]" identifier [ number_literal ]) + number_literal) + (binary_expression "uVar12 * 0x10" identifier * number_literal)) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }" { (expression_statement "iVar7 = *(int *)(iVar6 + 0x20);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x20)" identifier = (pointer_expression "*(int *)(iVar6 + 0x20)" * (cast_expression "(int *)(iVar6 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" identifier + number_literal) ))))) ;) }) (else_clause "else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }" else (compound_statement "{\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }" { (expression_statement "iVar7 = *(int *)(iVar6 + 0x1c);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar6 + 0x1c)" * (cast_expression "(int *)(iVar6 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }" { (expression_statement "FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);" (call_expression "FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0)" identifier (argument_list "("../../gold/powerpc.cc",0x372,"iplt_section",0)" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""iplt_section"" " string_content ") , number_literal ))) ;) })) }))) (expression_statement "iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);" (assignment_expression "iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12)" identifier = (call_expression "(**(code **)(*piVar3 + 0xa8))(piVar3,uVar12)" (parenthesized_expression "(**(code **)(*piVar3 + 0xa8))" ( (pointer_expression "**(code **)(*piVar3 + 0xa8)" * (pointer_expression "*(code **)(*piVar3 + 0xa8)" * (cast_expression "(code **)(*piVar3 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0xa8)" ( (binary_expression "*piVar3 + 0xa8" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) )) (argument_list "(piVar3,uVar12)" ( identifier , identifier )))) ;) }) (else_clause "else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }" else (compound_statement "{\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }" { (if_statement "if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }" if (parenthesized_expression "((*(byte *)(puVar2 + 10) & 0xf) == 10)" ( (binary_expression "(*(byte *)(puVar2 + 10) & 0xf) == 10" (parenthesized_expression "(*(byte *)(puVar2 + 10) & 0xf)" ( (binary_expression "*(byte *)(puVar2 + 10) & 0xf" (pointer_expression "*(byte *)(puVar2 + 10)" * (cast_expression "(byte *)(puVar2 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 10)" ( (binary_expression "puVar2 + 10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }" { (if_statement "if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;" if (parenthesized_expression "((*(byte *)((int)puVar2 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)puVar2 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)puVar2 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)puVar2 + 0x2a) & 7" (pointer_expression "*(byte *)((int)puVar2 + 0x2a)" * (cast_expression "(byte *)((int)puVar2 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar2 + 0x2a)" ( (binary_expression "(int)puVar2 + 0x2a" (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00065520;" goto statement_identifier ;)) (if_statement "if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }" if (parenthesized_expression "((*(byte *)((int)puVar2 + 0x2a) & 7) != 4)" ( (binary_expression "(*(byte *)((int)puVar2 + 0x2a) & 7) != 4" (parenthesized_expression "(*(byte *)((int)puVar2 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)puVar2 + 0x2a) & 7" (pointer_expression "*(byte *)((int)puVar2 + 0x2a)" * (cast_expression "(byte *)((int)puVar2 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar2 + 0x2a)" ( (binary_expression "(int)puVar2 + 0x2a" (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }" { (do_statement "do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );" do (compound_statement "{\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              }" { (if_statement "if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }" if (parenthesized_expression "(((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0))" ( (binary_expression "((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)" (parenthesized_expression "((*(byte *)((int)puVar2 + 0x29) & 3) == 0)" ( (binary_expression "(*(byte *)((int)puVar2 + 0x29) & 3) == 0" (parenthesized_expression "(*(byte *)((int)puVar2 + 0x29) & 3)" ( (binary_expression "*(byte *)((int)puVar2 + 0x29) & 3" (pointer_expression "*(byte *)((int)puVar2 + 0x29)" * (cast_expression "(byte *)((int)puVar2 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar2 + 0x29)" ( (binary_expression "(int)puVar2 + 0x29" (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)" ( (binary_expression "(*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)puVar2 + 0x2b) & 0x10)" ( (binary_expression "*(byte *)((int)puVar2 + 0x2b) & 0x10" (pointer_expression "*(byte *)((int)puVar2 + 0x2b)" * (cast_expression "(byte *)((int)puVar2 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar2 + 0x2b)" ( (binary_expression "(int)puVar2 + 0x2b" (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }" { (expression_statement "iVar7 = *(int *)(DAT_004144e8 + 8);" (assignment_expression "iVar7 = *(int *)(DAT_004144e8 + 8)" identifier = (pointer_expression "*(int *)(DAT_004144e8 + 8)" * (cast_expression "(int *)(DAT_004144e8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_004144e8 + 8)" ( (binary_expression "DAT_004144e8 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar7 == 0) goto LAB_000655f9;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000655f9;" goto statement_identifier ;)) (if_statement "if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }" if (parenthesized_expression "(*(char *)(iVar7 + 0x1a25) != '\0')" ( (binary_expression "*(char *)(iVar7 + 0x1a25) != '\0'" (pointer_expression "*(char *)(iVar7 + 0x1a25)" * (cast_expression "(char *)(iVar7 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1a25)" ( (binary_expression "iVar7 + 0x1a25" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }" { (expression_statement "cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);" (assignment_expression "cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d)" identifier = (call_expression "FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d)" identifier (argument_list "(iVar7 + 0x59a8,*puVar2,0,local_1d)" ( (binary_expression "iVar7 + 0x59a8" identifier + number_literal) , (pointer_expression "*puVar2" * identifier) , number_literal , identifier )))) ;) (if_statement "if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;" if (parenthesized_expression "((cVar5 != '\0') && (local_1d[0] == '\0'))" ( (binary_expression "(cVar5 != '\0') && (local_1d[0] == '\0')" (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(local_1d[0] == '\0')" ( (binary_expression "local_1d[0] == '\0'" (subscript_expression "local_1d[0]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = *(int *)(DAT_004144e8 + 8);" (assignment_expression "iVar7 = *(int *)(DAT_004144e8 + 8)" identifier = (pointer_expression "*(int *)(DAT_004144e8 + 8)" * (cast_expression "(int *)(DAT_004144e8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_004144e8 + 8)" ( (binary_expression "DAT_004144e8 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar7 == 0) goto LAB_000655f9;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000655f9;" goto statement_identifier ;)) (if_statement "if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;" if (parenthesized_expression "((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       )" ( (binary_expression "(*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))" (parenthesized_expression "(*(char *)(iVar7 + 0x825) == '\0')" ( (binary_expression "*(char *)(iVar7 + 0x825) == '\0'" (pointer_expression "*(char *)(iVar7 + 0x825)" * (cast_expression "(char *)(iVar7 + 0x825)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x825)" ( (binary_expression "iVar7 + 0x825" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))" ( (parenthesized_expression "((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0'))" ( (binary_expression "(*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')" (binary_expression "(*(byte *)(puVar2 + 10) & 0xf) == 1" (parenthesized_expression "(*(byte *)(puVar2 + 10) & 0xf)" ( (binary_expression "*(byte *)(puVar2 + 10) & 0xf" (pointer_expression "*(byte *)(puVar2 + 10)" * (cast_expression "(byte *)(puVar2 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 10)" ( (binary_expression "puVar2 + 10" identifier + number_literal) )))) & number_literal) )) == number_literal) || (parenthesized_expression "(*(char *)(iVar7 + 0x8a1) == '\0')" ( (binary_expression "*(char *)(iVar7 + 0x8a1) == '\0'" (pointer_expression "*(char *)(iVar7 + 0x8a1)" * (cast_expression "(char *)(iVar7 + 0x8a1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x8a1)" ( (binary_expression "iVar7 + 0x8a1" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (break_statement "break;" break ;)) })) })) (expression_statement "iVar7 = *(int *)(iVar6 + 0x1c);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar6 + 0x1c)" * (cast_expression "(int *)(iVar6 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar7 != 0) goto LAB_000650dd;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000650dd;" goto statement_identifier ;)) (expression_statement "FUN_000522c0();" (call_expression "FUN_000522c0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;" statement_identifier : (if_statement "if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;" if (parenthesized_expression "(((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0))))" ( (binary_expression "((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))" (parenthesized_expression "((*(byte *)(puVar2[2] + 0x2c) & 1) != 0)" ( (binary_expression "(*(byte *)(puVar2[2] + 0x2c) & 1) != 0" (parenthesized_expression "(*(byte *)(puVar2[2] + 0x2c) & 1)" ( (binary_expression "*(byte *)(puVar2[2] + 0x2c) & 1" (pointer_expression "*(byte *)(puVar2[2] + 0x2c)" * (cast_expression "(byte *)(puVar2[2] + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2[2] + 0x2c)" ( (binary_expression "puVar2[2] + 0x2c" (subscript_expression "puVar2[2]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))" ( (parenthesized_expression "(puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0))" ( (binary_expression "puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)" (binary_expression "puVar2[3] == 0" (subscript_expression "puVar2[3]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)puVar2 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)puVar2 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)puVar2 + 0x2b)" * (cast_expression "(byte *)((int)puVar2 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar2 + 0x2b)" ( (binary_expression "(int)puVar2 + 0x2b" (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) ))) )) (break_statement "break;" break ;))) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (expression_statement "iVar7 = *(int *)(iVar6 + 0x18);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x18)" identifier = (pointer_expression "*(int *)(iVar6 + 0x18)" * (cast_expression "(int *)(iVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (iVar7 == 0) {\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }" { (expression_statement "FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");" (call_expression "FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section")" identifier (argument_list "("../../gold/powerpc.cc",0x36a,"plt_section")" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""plt_section"" " string_content ") ))) ;) })) (labeled_statement "LAB_000650dd:\n          iVar6 = puVar2[6];" statement_identifier : (expression_statement "iVar6 = puVar2[6];" (assignment_expression "iVar6 = puVar2[6]" identifier = (subscript_expression "puVar2[6]" identifier [ number_literal ])) ;)) (if_statement "if (iVar6 == -1) {\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }" if (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) )) (compound_statement "{\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }" { (expression_statement "FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");" (call_expression "FUN_000da200("../../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 ") ))) ;) })) }))) (if_statement "if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;" if (parenthesized_expression "((*(byte *)(iVar7 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar7 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar7 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar7 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar7 + 0x1c)" * (cast_expression "(byte *)(iVar7 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00065211;" goto statement_identifier ;)) (expression_statement "uVar12 = iVar6 + *(int *)(iVar7 + 4);" (assignment_expression "uVar12 = iVar6 + *(int *)(iVar7 + 4)" identifier = (binary_expression "iVar6 + *(int *)(iVar7 + 4)" identifier + (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))))) ;) (expression_statement "puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);" (assignment_expression "puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4)" identifier = (cast_expression "(uint *)((int)__dest + piVar11[5] + iVar4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__dest + piVar11[5] + iVar4)" ( (binary_expression "(int)__dest + piVar11[5] + iVar4" (binary_expression "(int)__dest + piVar11[5]" (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier) + (subscript_expression "piVar11[5]" identifier [ number_literal ])) + identifier) )))) ;) (expression_statement "iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);" (assignment_expression "iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4)" identifier = (pointer_expression "*(int *)(*(int *)(param_1 + 0x34) + 0xb4)" * (cast_expression "(int *)(*(int *)(param_1 + 0x34) + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0xb4)" ( (binary_expression "*(int *)(param_1 + 0x34) + 0xb4" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "puVar14 = puVar10;" (assignment_expression "puVar14 = puVar10" identifier = identifier) ;) (if_statement "if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }" if (parenthesized_expression "((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6))))" ( (binary_expression "(iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))" (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) && (parenthesized_expression "((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))" ( (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6))" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)" (binary_expression "*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1]" (pointer_expression "*(int *)(*(int *)(param_1 + 0x34) + 0xb0)" * (cast_expression "(int *)(*(int *)(param_1 + 0x34) + 0xb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0xb0)" ( (binary_expression "*(int *)(param_1 + 0x34) + 0xb0" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) )))) == (subscript_expression "piVar11[1]" identifier [ number_literal ])) || (parenthesized_expression "(piVar11[1] == iVar6)" ( (binary_expression "piVar11[1] == iVar6" (subscript_expression "piVar11[1]" identifier [ number_literal ]) == identifier) ))) )) ))) )) (compound_statement "{\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }" { (expression_statement "*puVar10 = 0x6381;" (assignment_expression "*puVar10 = 0x6381" (pointer_expression "*puVar10" * identifier) = number_literal) ;) (expression_statement "puVar14 = puVar10 + 8;" (assignment_expression "puVar14 = puVar10 + 8" identifier = (binary_expression "puVar10 + 8" identifier + number_literal)) ;) (expression_statement "puVar10[1] = 0x4008381;" (assignment_expression "puVar10[1] = 0x4008381" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[2] = 0x781b607c;" (assignment_expression "puVar10[2] = 0x781b607c" (subscript_expression "puVar10[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[3] = 0xb2c;" (assignment_expression "puVar10[3] = 0xb2c" (subscript_expression "puVar10[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[4] = 0x14126c7c;" (assignment_expression "puVar10[4] = 0x14126c7c" (subscript_expression "puVar10[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[5] = 0x2000824d;" (assignment_expression "puVar10[5] = 0x2000824d" (subscript_expression "puVar10[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[6] = 0x7803037c;" (assignment_expression "puVar10[6] = 0x7803037c" (subscript_expression "puVar10[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[7] = 0x60;" (assignment_expression "puVar10[7] = 0x60" (subscript_expression "puVar10[7]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "iVar6 = *(int *)(DAT_004144e8 + 8);" (assignment_expression "iVar6 = *(int *)(DAT_004144e8 + 8)" identifier = (pointer_expression "*(int *)(DAT_004144e8 + 8)" * (cast_expression "(int *)(DAT_004144e8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_004144e8 + 8)" ( (binary_expression "DAT_004144e8 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar6 == 0) {\nLAB_000655f9:\n                    \n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000655f9:\n                    \n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }" { (labeled_statement "LAB_000655f9:\n                    \n          FUN_000da200("../../gold/parameters.h",0x5c,"options");" statement_identifier : (expression_statement "FUN_000da200("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_000da200("../../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 *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }" if (parenthesized_expression "((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0'))" ( (binary_expression "(*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')" (parenthesized_expression "(*(char *)(iVar6 + 0x1a25) == '\0')" ( (binary_expression "*(char *)(iVar6 + 0x1a25) == '\0'" (pointer_expression "*(char *)(iVar6 + 0x1a25)" * (cast_expression "(char *)(iVar6 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1a25)" ( (binary_expression "iVar6 + 0x1a25" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(iVar6 + 0x2931) == '\0')" ( (binary_expression "*(char *)(iVar6 + 0x2931) == '\0'" (pointer_expression "*(char *)(iVar6 + 0x2931)" * (cast_expression "(char *)(iVar6 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x2931)" ( (binary_expression "iVar6 + 0x2931" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }" { (expression_statement "puVar10 = puVar14 + 1;" (assignment_expression "puVar10 = puVar14 + 1" identifier = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) (expression_statement "uVar13 = uVar12 + 0x8000 >> 0x10;" (assignment_expression "uVar13 = uVar12 + 0x8000 >> 0x10" identifier = (binary_expression "uVar12 + 0x8000 >> 0x10" (binary_expression "uVar12 + 0x8000" identifier + number_literal) >> number_literal)) ;) (expression_statement "uVar9 = (uVar12 & 0xffff) + 0x816b0000;" (assignment_expression "uVar9 = (uVar12 & 0xffff) + 0x816b0000" identifier = (binary_expression "(uVar12 & 0xffff) + 0x816b0000" (parenthesized_expression "(uVar12 & 0xffff)" ( (binary_expression "uVar12 & 0xffff" identifier & number_literal) )) + number_literal)) ;) (expression_statement "uVar8 = uVar13 + 0x3d600000;" (assignment_expression "uVar8 = uVar13 + 0x3d600000" identifier = (binary_expression "uVar13 + 0x3d600000" identifier + number_literal)) ;) (expression_statement "puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;" (assignment_expression "puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18" (subscript_expression "puVar14[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 "*puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;" (assignment_expression "*puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18" (pointer_expression "*puVar14" * identifier) = (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8" (binary_expression "uVar8 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar8 & 0xff0000) >> 8" (parenthesized_expression "(uVar8 & 0xff0000)" ( (binary_expression "uVar8 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff00) << 8" (parenthesized_expression "(uVar8 & 0xff00)" ( (binary_expression "uVar8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar13 << 0x18" identifier << number_literal))) ;) }) (else_clause "else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }" else (compound_statement "{\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }" { (expression_statement "piVar3 = (int *)piVar11[2];" (assignment_expression "piVar3 = (int *)piVar11[2]" identifier = (cast_expression "(int *)piVar11[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[2]" identifier [ number_literal ]))) ;) (if_statement "if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }" if (parenthesized_expression "((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000))" ( (binary_expression "(piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)" (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((uint)piVar11[3] < 0x8000)" ( (binary_expression "(uint)piVar11[3] < 0x8000" (cast_expression "(uint)piVar11[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar11[3]" identifier [ number_literal ])) < number_literal) ))) )) (compound_statement "{\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }" { (expression_statement "iVar6 = local_40;" (assignment_expression "iVar6 = local_40" identifier = identifier) ;) (if_statement "if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }" if (parenthesized_expression "(local_40 == -1)" ( (binary_expression "local_40 == -1" identifier == number_literal) )) (compound_statement "{\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }" { (expression_statement "iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);" (assignment_expression "iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14)" identifier = (pointer_expression "*(int *)(*(int *)(param_1 + 0x34) + 0x14)" * (cast_expression "(int *)(*(int *)(param_1 + 0x34) + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0x14)" ( (binary_expression "*(int *)(param_1 + 0x34) + 0x14" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }" { (expression_statement "FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);" (call_expression "FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0)" identifier (argument_list "("../../gold/powerpc.cc",0x3ae,"got_section",0)" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""got_section"" " string_content ") , number_literal ))) ;) })) (if_statement "if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;" if (parenthesized_expression "((*(byte *)(iVar6 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar6 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar6 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar6 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar6 + 0x1c)" * (cast_expression "(byte *)(iVar6 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00065211;" goto statement_identifier ;)) (expression_statement "iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;" (assignment_expression "iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4" identifier = (binary_expression "*(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4" (pointer_expression "*(int *)(iVar6 + 4)" * (cast_expression "(int *)(iVar6 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 4)" ( (binary_expression "iVar6 + 4" identifier + number_literal) )))) + (binary_expression "*(int *)(iVar6 + 0x68) * 4" (pointer_expression "*(int *)(iVar6 + 0x68)" * (cast_expression "(int *)(iVar6 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x68)" ( (binary_expression "iVar6 + 0x68" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "local_40 = iVar6;" (assignment_expression "local_40 = iVar6" identifier = identifier) ;) })) }) (else_clause "else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }" else (compound_statement "{\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }" { (expression_statement "uVar13 = piVar3[0x50];" (assignment_expression "uVar13 = piVar3[0x50]" identifier = (subscript_expression "piVar3[0x50]" identifier [ number_literal ])) ;) (if_statement "if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }" if (parenthesized_expression "((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13)" ( (binary_expression "(uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13" (call_expression "(uint)(piVar3[0x22] - piVar3[0x21] >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar3[0x22] - piVar3[0x21] >> 2)" ( (binary_expression "piVar3[0x22] - piVar3[0x21] >> 2" (binary_expression "piVar3[0x22] - piVar3[0x21]" (subscript_expression "piVar3[0x22]" identifier [ number_literal ]) - (subscript_expression "piVar3[0x21]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }" { (expression_statement "FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);" (call_expression "FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14)" identifier (argument_list "("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14)" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""get_output_section_offset"" " string_content ") , identifier ))) ;) })) (expression_statement "iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);" (assignment_expression "iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4)" identifier = (pointer_expression "*(int *)(piVar3[0x21] + uVar13 * 4)" * (cast_expression "(int *)(piVar3[0x21] + uVar13 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3[0x21] + uVar13 * 4)" ( (binary_expression "piVar3[0x21] + uVar13 * 4" (subscript_expression "piVar3[0x21]" identifier [ number_literal ]) + (binary_expression "uVar13 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }" if (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) )) (compound_statement "{\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }" { (expression_statement "FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);" (call_expression "FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13)" identifier (argument_list "("../../gold/powerpc.cc",0x1633,"do_write",uVar13)" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") , identifier ))) ;) })) (if_statement "if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }" if (parenthesized_expression "(*(code **)(*piVar3 + 0x60) == FUN_000a5850)" ( (binary_expression "*(code **)(*piVar3 + 0x60) == FUN_000a5850" (pointer_expression "*(code **)(*piVar3 + 0x60)" * (cast_expression "(code **)(*piVar3 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0x60)" ( (binary_expression "*piVar3 + 0x60" (pointer_expression "*piVar3" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }" { (expression_statement "iVar7 = piVar3[0xe];" (assignment_expression "iVar7 = piVar3[0xe]" identifier = (subscript_expression "piVar3[0xe]" identifier [ number_literal ])) ;) (if_statement "if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }" if (parenthesized_expression "((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13)" ( (binary_expression "(uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13" (call_expression "(uint)(piVar3[0xf] - iVar7 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar3[0xf] - iVar7 >> 2)" ( (binary_expression "piVar3[0xf] - iVar7 >> 2" (binary_expression "piVar3[0xf] - iVar7" (subscript_expression "piVar3[0xf]" identifier [ number_literal ]) - identifier) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }" { (expression_statement "FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);" (call_expression "FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7)" identifier (argument_list "("../../gold/object.h",0x5c8,"do_output_section",iVar7)" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""do_output_section"" " string_content ") , identifier ))) ;) })) (expression_statement "iVar7 = *(int *)(iVar7 + uVar13 * 4);" (assignment_expression "iVar7 = *(int *)(iVar7 + uVar13 * 4)" identifier = (pointer_expression "*(int *)(iVar7 + uVar13 * 4)" * (cast_expression "(int *)(iVar7 + uVar13 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + uVar13 * 4)" ( (binary_expression "iVar7 + uVar13 * 4" identifier + (binary_expression "uVar13 * 4" identifier * number_literal)) ))))) ;) }) (else_clause "else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }" else (compound_statement "{\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }" { (expression_statement "iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);" (assignment_expression "iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13)" identifier = (call_expression "(**(code **)(*piVar3 + 0x60))(piVar3,uVar13)" (parenthesized_expression "(**(code **)(*piVar3 + 0x60))" ( (pointer_expression "**(code **)(*piVar3 + 0x60)" * (pointer_expression "*(code **)(*piVar3 + 0x60)" * (cast_expression "(code **)(*piVar3 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0x60)" ( (binary_expression "*piVar3 + 0x60" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) )) (argument_list "(piVar3,uVar13)" ( identifier , identifier )))) ;) }))) (if_statement "if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;" if (parenthesized_expression "((*(byte *)(iVar7 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar7 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar7 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar7 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar7 + 0x1c)" * (cast_expression "(byte *)(iVar7 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00065211;" goto statement_identifier ;)) (expression_statement "iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;" (assignment_expression "iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6" identifier = (binary_expression "piVar11[3] + *(int *)(iVar7 + 4) + iVar6" (binary_expression "piVar11[3] + *(int *)(iVar7 + 4)" (subscript_expression "piVar11[3]" identifier [ number_literal ]) + (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) ))))) + identifier)) ;) }))) (expression_statement "uVar13 = uVar12 - iVar6 & 0xffff;" (assignment_expression "uVar13 = uVar12 - iVar6 & 0xffff" identifier = (binary_expression "uVar12 - iVar6 & 0xffff" (binary_expression "uVar12 - iVar6" identifier - identifier) & number_literal)) ;) (expression_statement "uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;" (assignment_expression "uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10" identifier = (binary_expression "(uVar12 - iVar6) + 0x8000 >> 0x10" (binary_expression "(uVar12 - iVar6) + 0x8000" (parenthesized_expression "(uVar12 - iVar6)" ( (binary_expression "uVar12 - iVar6" identifier - identifier) )) + number_literal) >> number_literal)) ;) (if_statement "if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }" if (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }" { (expression_statement "uVar12 = uVar13 + 0x817e0000;" (assignment_expression "uVar12 = uVar13 + 0x817e0000" identifier = (binary_expression "uVar13 + 0x817e0000" identifier + number_literal)) ;) (expression_statement "*puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;" (assignment_expression "*puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18" (pointer_expression "*puVar14" * identifier) = (binary_expression "uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 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 "uVar13 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar10 = puVar14;" (assignment_expression "puVar10 = puVar14" identifier = identifier) ;) }) (else_clause "else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }" else (compound_statement "{\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }" { (expression_statement "uVar8 = uVar12 + 0x3d7e0000;" (assignment_expression "uVar8 = uVar12 + 0x3d7e0000" identifier = (binary_expression "uVar12 + 0x3d7e0000" identifier + number_literal)) ;) (expression_statement "uVar9 = uVar13 + 0x816b0000;" (assignment_expression "uVar9 = uVar13 + 0x816b0000" identifier = (binary_expression "uVar13 + 0x816b0000" identifier + number_literal)) ;) (expression_statement "*puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;" (assignment_expression "*puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18" (pointer_expression "*puVar14" * identifier) = (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8" (binary_expression "uVar8 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar8 & 0xff0000) >> 8" (parenthesized_expression "(uVar8 & 0xff0000)" ( (binary_expression "uVar8 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff00) << 8" (parenthesized_expression "(uVar8 & 0xff00)" ( (binary_expression "uVar8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar12 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar10 = puVar14 + 1;" (assignment_expression "puVar10 = puVar14 + 1" identifier = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) (expression_statement "puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;" (assignment_expression "puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18" (subscript_expression "puVar14[1]" identifier [ number_literal ]) = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 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 "uVar13 << 0x18" identifier << number_literal))) ;) }))) }))) (expression_statement "puVar10[1] = 0xa603697d;" (assignment_expression "puVar10[1] = 0xa603697d" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[2] = 0x2004804e;" (assignment_expression "puVar10[2] = 0x2004804e" (subscript_expression "puVar10[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar11 = (int *)*piVar11;" (assignment_expression "piVar11 = (int *)*piVar11" identifier = (cast_expression "(int *)*piVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) ;) }) while (parenthesized_expression "(piVar11 != (int *)0x0)" ( (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "iVar6 = DAT_004144e8;" (assignment_expression "iVar6 = DAT_004144e8" identifier = identifier) ;) (for_statement "for (puVar2 = *(undefined4 **)(param_1 + 0x5c); puVar2 != (undefined4 *)0x0;\n        puVar2 = (undefined4 *)*puVar2) {\n      if (*(char *)(puVar2 + 3) == '\0') {\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    \n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }\n    }" for ( (assignment_expression "puVar2 = *(undefined4 **)(param_1 + 0x5c)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x5c)" * (cast_expression "(undefined4 **)(param_1 + 0x5c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) ))))) ; (binary_expression "puVar2 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar2 = (undefined4 *)*puVar2" identifier = (cast_expression "(undefined4 *)*puVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier))) ) (compound_statement "{\n      if (*(char *)(puVar2 + 3) == '\0') {\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    \n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }\n    }" { (if_statement "if (*(char *)(puVar2 + 3) == '\0') {\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    \n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }" if (parenthesized_expression "(*(char *)(puVar2 + 3) == '\0')" ( (binary_expression "*(char *)(puVar2 + 3) == '\0'" (pointer_expression "*(char *)(puVar2 + 3)" * (cast_expression "(char *)(puVar2 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 3)" ( (binary_expression "puVar2 + 3" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    \n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }" { (expression_statement "puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);" (assignment_expression "puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4)" identifier = (cast_expression "(uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4)" ( (binary_expression "(int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4" (binary_expression "(int)__dest + *(int *)(param_1 + 0x74) + puVar2[4]" (binary_expression "(int)__dest + *(int *)(param_1 + 0x74)" (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(param_1 + 0x74)" * (cast_expression "(int *)(param_1 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) ))))) + (subscript_expression "puVar2[4]" identifier [ number_literal ])) + identifier) )))) ;) (expression_statement "iVar7 = *(int *)(iVar6 + 8);" (assignment_expression "iVar7 = *(int *)(iVar6 + 8)" identifier = (pointer_expression "*(int *)(iVar6 + 8)" * (cast_expression "(int *)(iVar6 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 8)" ( (binary_expression "iVar6 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar7 == 0) goto LAB_000655b6;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000655b6;" goto statement_identifier ;)) (expression_statement "uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);" (assignment_expression "uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f)" identifier = (binary_expression "1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f)" number_literal << (parenthesized_expression "((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f)" ( (binary_expression "(byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f" (binary_expression "(byte)*(undefined4 *)(iVar7 + 0x2b20)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(undefined4 *)(iVar7 + 0x2b20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x2b20)" ( (binary_expression "iVar7 + 0x2b20" identifier + number_literal) )))) & number_literal) )))) ;) (if_statement "if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }" if (parenthesized_expression "(uVar12 < 0x10)" ( (binary_expression "uVar12 < 0x10" identifier < number_literal) )) (compound_statement "{\n          uVar12 = 0x10;\n        }" { (expression_statement "uVar12 = 0x10;" (assignment_expression "uVar12 = 0x10" identifier = number_literal) ;) })) (if_statement "if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    \n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }" if (parenthesized_expression "((*(byte *)(param_1 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(param_1 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0x1c) & 1)" ( (binary_expression "*(byte *)(param_1 + 0x1c) & 1" (pointer_expression "*(byte *)(param_1 + 0x1c)" * (cast_expression "(byte *)(param_1 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_00065211:\n                    \n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }" { (labeled_statement "LAB_00065211:\n                    \n          FUN_000da200("../../gold/output.h",0xc5,"address");" statement_identifier : (expression_statement "FUN_000da200("../../gold/output.h",0xc5,"address");" (call_expression "FUN_000da200("../../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 "uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];" (assignment_expression "uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4]" identifier = (binary_expression "(puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4]" (parenthesized_expression "(puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74)))" ( (binary_expression "puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))" (subscript_expression "puVar2[1]" identifier [ number_literal ]) - (parenthesized_expression "((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))" ( (binary_expression "(-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74)" (parenthesized_expression "(-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70))" ( (binary_expression "-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)" (unary_expression "-uVar12" - identifier) & (binary_expression "(uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)" (binary_expression "(uVar12 - 1) + *(int *)(param_1 + 4)" (parenthesized_expression "(uVar12 - 1)" ( (binary_expression "uVar12 - 1" identifier - number_literal) )) + (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) + (pointer_expression "*(int *)(param_1 + 0x70)" * (cast_expression "(int *)(param_1 + 0x70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) )))))) )) + (pointer_expression "*(int *)(param_1 + 0x74)" * (cast_expression "(int *)(param_1 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) ))))) ))) )) - (subscript_expression "puVar2[4]" identifier [ number_literal ]))) ;) (if_statement "if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }" if (parenthesized_expression "(uVar12 + 0x2000000 < 0x4000000)" ( (binary_expression "uVar12 + 0x2000000 < 0x4000000" (binary_expression "uVar12 + 0x2000000" identifier + number_literal) < number_literal) )) (compound_statement "{\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }" { (expression_statement "*puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;" (assignment_expression "*puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18" (pointer_expression "*puVar14" * identifier) = (binary_expression "(uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18" (binary_expression "(uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8" (binary_expression "(uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8" (binary_expression "(uVar12 & 0x3000000 | 0x48000000) >> 0x18" (parenthesized_expression "(uVar12 & 0x3000000 | 0x48000000)" ( (binary_expression "uVar12 & 0x3000000 | 0x48000000" (binary_expression "uVar12 & 0x3000000" identifier & number_literal) | number_literal) )) >> 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 "(uVar12 & 0xfc) << 0x18" (parenthesized_expression "(uVar12 & 0xfc)" ( (binary_expression "uVar12 & 0xfc" identifier & number_literal) )) << number_literal))) ;) (expression_statement "puVar10 = puVar14;" (assignment_expression "puVar10 = puVar14" identifier = identifier) ;) }) (else_clause "else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }" else (if_statement "if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }" if (parenthesized_expression "((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0'))" ( (binary_expression "(*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')" (parenthesized_expression "(*(char *)(iVar7 + 0x1a25) == '\0')" ( (binary_expression "*(char *)(iVar7 + 0x1a25) == '\0'" (pointer_expression "*(char *)(iVar7 + 0x1a25)" * (cast_expression "(char *)(iVar7 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1a25)" ( (binary_expression "iVar7 + 0x1a25" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(iVar7 + 0x2931) == '\0')" ( (binary_expression "*(char *)(iVar7 + 0x2931) == '\0'" (pointer_expression "*(char *)(iVar7 + 0x2931)" * (cast_expression "(char *)(iVar7 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x2931)" ( (binary_expression "iVar7 + 0x2931" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }" { (expression_statement "puVar10 = puVar14 + 1;" (assignment_expression "puVar10 = puVar14 + 1" identifier = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) (expression_statement "uVar12 = puVar2[1] + 0x8000 >> 0x10;" (assignment_expression "uVar12 = puVar2[1] + 0x8000 >> 0x10" identifier = (binary_expression "puVar2[1] + 0x8000 >> 0x10" (binary_expression "puVar2[1] + 0x8000" (subscript_expression "puVar2[1]" identifier [ number_literal ]) + number_literal) >> number_literal)) ;) (expression_statement "uVar13 = uVar12 + 0x3d800000;" (assignment_expression "uVar13 = uVar12 + 0x3d800000" identifier = (binary_expression "uVar12 + 0x3d800000" identifier + number_literal)) ;) (expression_statement "*puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;" (assignment_expression "*puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18" (pointer_expression "*puVar14" * identifier) = (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" ( (binary_expression "uVar13 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" ( (binary_expression "uVar13 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar12 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;" (assignment_expression "uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000" identifier = (binary_expression "*(ushort *)(puVar2 + 1) + 0x398c0000" (pointer_expression "*(ushort *)(puVar2 + 1)" * (cast_expression "(ushort *)(puVar2 + 1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 1)" ( (binary_expression "puVar2 + 1" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;" (assignment_expression "*puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18" (pointer_expression "*puVar10" * identifier) = (binary_expression "uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 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 "(uint)*(ushort *)(puVar2 + 1) << 0x18" (binary_expression "(uint)*(ushort *)(puVar2 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(puVar2 + 1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 1)" ( (binary_expression "puVar2 + 1" identifier + number_literal) )))) << number_literal))) ;) }) (else_clause "else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }" else (compound_statement "{\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }" { (expression_statement "*puVar14 = 0xa602087c;" (assignment_expression "*puVar14 = 0xa602087c" (pointer_expression "*puVar14" * identifier) = number_literal) ;) (expression_statement "puVar10 = puVar14 + 5;" (assignment_expression "puVar10 = puVar14 + 5" identifier = (binary_expression "puVar14 + 5" identifier + number_literal)) ;) (expression_statement "uVar8 = uVar12 + 0x7ff8 >> 0x10;" (assignment_expression "uVar8 = uVar12 + 0x7ff8 >> 0x10" identifier = (binary_expression "uVar12 + 0x7ff8 >> 0x10" (binary_expression "uVar12 + 0x7ff8" identifier + number_literal) >> number_literal)) ;) (expression_statement "uVar12 = uVar12 - 8 & 0xffff;" (assignment_expression "uVar12 = uVar12 - 8 & 0xffff" identifier = (binary_expression "uVar12 - 8 & 0xffff" (binary_expression "uVar12 - 8" identifier - number_literal) & number_literal)) ;) (expression_statement "puVar14[1] = 0x5009f42;" (assignment_expression "puVar14[1] = 0x5009f42" (subscript_expression "puVar14[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar9 = uVar8 + 0x3d8c0000;" (assignment_expression "uVar9 = uVar8 + 0x3d8c0000" identifier = (binary_expression "uVar8 + 0x3d8c0000" identifier + number_literal)) ;) (expression_statement "uVar13 = uVar12 + 0x398c0000;" (assignment_expression "uVar13 = uVar12 + 0x398c0000" identifier = (binary_expression "uVar12 + 0x398c0000" identifier + number_literal)) ;) (expression_statement "puVar14[2] = 0xa602887d;" (assignment_expression "puVar14[2] = 0xa602887d" (subscript_expression "puVar14[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;" (assignment_expression "puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18" (subscript_expression "puVar14[3]" identifier [ number_literal ]) = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 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 "uVar8 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;" (assignment_expression "puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18" (subscript_expression "puVar14[4]" identifier [ number_literal ]) = (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" ( (binary_expression "uVar13 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" ( (binary_expression "uVar13 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar12 << 0x18" identifier << number_literal))) ;) (expression_statement "*puVar10 = 0xa603087c;" (assignment_expression "*puVar10 = 0xa603087c" (pointer_expression "*puVar10" * identifier) = number_literal) ;) }))))) (expression_statement "puVar10[1] = 0xa603897d;" (assignment_expression "puVar10[1] = 0xa603897d" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[2] = 0x2004804e;" (assignment_expression "puVar10[2] = 0x2004804e" (subscript_expression "puVar10[2]" identifier [ number_literal ]) = number_literal) ;) })) })) (if_statement "if (*(char *)(param_1 + 0x88) != '\0') {\n      __dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4);\n      iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) goto LAB_0006566c;\n      memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc));\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x88) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x88) != '\0'" (pointer_expression "*(char *)(param_1 + 0x88)" * (cast_expression "(char *)(param_1 + 0x88)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x88)" ( (binary_expression "param_1 + 0x88" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      __dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4);\n      iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) goto LAB_0006566c;\n      memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc));\n    }" { (expression_statement "__dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4);" (assignment_expression "__dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4)" identifier = (cast_expression "(void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4)" ( (binary_expression "(int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4" (binary_expression "(int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c)" (binary_expression "(int)__dest + *(int *)(param_1 + 0x74)" (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(param_1 + 0x74)" * (cast_expression "(int *)(param_1 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) ))))) + (pointer_expression "*(int *)(param_1 + 0x7c)" * (cast_expression "(int *)(param_1 + 0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x7c)" ( (binary_expression "param_1 + 0x7c" identifier + number_literal) ))))) + identifier) )))) ;) (expression_statement "iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);" (assignment_expression "iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac)" identifier = (pointer_expression "*(int *)(*(int *)(param_1 + 0x34) + 0xac)" * (cast_expression "(int *)(*(int *)(param_1 + 0x34) + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0xac)" ( (binary_expression "*(int *)(param_1 + 0x34) + 0xac" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) goto LAB_0006566c;" if (parenthesized_expression "((*(byte *)(iVar4 + 0x1c) & 2) == 0)" ( (binary_expression "(*(byte *)(iVar4 + 0x1c) & 2) == 0" (parenthesized_expression "(*(byte *)(iVar4 + 0x1c) & 2)" ( (binary_expression "*(byte *)(iVar4 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar4 + 0x1c)" * (cast_expression "(byte *)(iVar4 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1c)" ( (binary_expression "iVar4 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0006566c;" goto statement_identifier ;)) (expression_statement "memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc));" (call_expression "memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc))" identifier (argument_list "(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc))" ( identifier , (pointer_expression "*(void **)(iVar4 + 0x2c)" * (cast_expression "(void **)(iVar4 + 0x2c)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(iVar4 + 0xc)" * (cast_expression "(size_t *)(iVar4 + 0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) ))) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 ") , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) })) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) & (unary_expression - IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) )))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) != (call_expression IDENT (argument_list ( IDENT , IDENT )))) )) != (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) < LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) >> LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , 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 (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) + (binary_expression 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 IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , LIT ))) ;) })) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (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 TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & 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 TYPE) ) 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 IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) ))) )) (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 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 ')) ))) )) ))) )) (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 IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) & LIT) )) != LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (subscript_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 TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) ))) )) ))) )) (break_statement break ;))) }) while (parenthesized_expression ( BOOL )) ;) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 (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 = (binary_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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (subscript_expression IDENT [ LIT ])) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == (subscript_expression IDENT [ LIT ])) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (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 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 { (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 (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 ( (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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) + 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 (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 IDENT << LIT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , 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 = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) >> LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - IDENT) >> LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( 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) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + LIT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (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))) ;) (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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (subscript_expression IDENT [ LIT ])) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (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) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_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 { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) - (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) - (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT & LIT) | 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))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (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 IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) && (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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) >> 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))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (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 (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - LIT) & LIT)) ;) (expression_statement (assignment_expression (subscript_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 (subscript_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 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) = LIT) ;) }))))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (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 (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) })) (return_statement return ;) })))
(function_definition "void FUN_00064f30(int param_1,int param_2)\n\n{\n  byte bVar1;\n  undefined4 *puVar2;\n  int *piVar3;\n  int iVar4;\n  char cVar5;\n  void *__dest;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  int *piVar11;\n  uint uVar12;\n  uint uVar13;\n  uint *puVar14;\n  int local_40;\n  char local_1d [13];\n  \n  if ((*(int *)(param_1 + 0x44) != 0) || (*(int *)(param_1 + 0x60) != 0)) {\n    bVar1 = *(byte *)(param_1 + 0x1c);\n    if ((bVar1 & 4) == 0) {\n                    \n      FUN_000da200("../../gold/output.h",0xe3,"offset",bVar1);\n    }\n    if (*(int *)(DAT_004144e8 + 8) == 0) {\nLAB_000655b6:\n                    \n      FUN_00052750();\n    }\n    uVar12 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f);\n    if (uVar12 < 0x10) {\n      uVar12 = 0x10;\n    }\n    __dest = (void *)((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12);\n    if ((bVar1 & 2) == 0) {\nLAB_0006566c:\n                    \n      FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);\n    }\n    uVar12 = (int)__dest - *(int *)(param_1 + 0x14);\n    uVar13 = *(uint *)(param_1 + 0xc) - uVar12;\n    if (*(uint *)(param_1 + 0x10) != (uint)(*(uint *)(param_1 + 0xc) < uVar12)) {\n                    \n      FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest);\n    }\n    uVar12 = (uint)CARRY4((uint)__dest,uVar13);\n    uVar13 = (uint)(*(uint *)(param_2 + 8) < (int)__dest + uVar13);\n    iVar4 = *(int *)(param_2 + 0xc) - uVar12;\n    if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)) !=\n        (int)(iVar4 - uVar13) < 0) {\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest);\n    }\n    iVar4 = *(int *)(param_2 + 0x10);\n    if ((*(int *)(param_1 + 0x44) != 0) &&\n       (piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0)) {\n      local_40 = -1;\n      do {\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    \n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    \n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\n    }\n    iVar6 = DAT_004144e8;\n    for (puVar2 = *(undefined4 **)(param_1 + 0x5c); puVar2 != (undefined4 *)0x0;\n        puVar2 = (undefined4 *)*puVar2) {\n      if (*(char *)(puVar2 + 3) == '\0') {\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    \n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }\n    }\n    if (*(char *)(param_1 + 0x88) != '\0') {\n      __dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4);\n      iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) goto LAB_0006566c;\n      memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc));\n    }\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00064f30(int param_1,int param_2)" (identifier "FUN_00064f30") (parameter_list "(int param_1,int param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  byte bVar1;\n  undefined4 *puVar2;\n  int *piVar3;\n  int iVar4;\n  char cVar5;\n  void *__dest;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  int *piVar11;\n  uint uVar12;\n  uint uVar13;\n  uint *puVar14;\n  int local_40;\n  char local_1d [13];\n  \n  if ((*(int *)(param_1 + 0x44) != 0) || (*(int *)(param_1 + 0x60) != 0)) {\n    bVar1 = *(byte *)(param_1 + 0x1c);\n    if ((bVar1 & 4) == 0) {\n                    \n      FUN_000da200("../../gold/output.h",0xe3,"offset",bVar1);\n    }\n    if (*(int *)(DAT_004144e8 + 8) == 0) {\nLAB_000655b6:\n                    \n      FUN_00052750();\n    }\n    uVar12 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f);\n    if (uVar12 < 0x10) {\n      uVar12 = 0x10;\n    }\n    __dest = (void *)((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12);\n    if ((bVar1 & 2) == 0) {\nLAB_0006566c:\n                    \n      FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);\n    }\n    uVar12 = (int)__dest - *(int *)(param_1 + 0x14);\n    uVar13 = *(uint *)(param_1 + 0xc) - uVar12;\n    if (*(uint *)(param_1 + 0x10) != (uint)(*(uint *)(param_1 + 0xc) < uVar12)) {\n                    \n      FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest);\n    }\n    uVar12 = (uint)CARRY4((uint)__dest,uVar13);\n    uVar13 = (uint)(*(uint *)(param_2 + 8) < (int)__dest + uVar13);\n    iVar4 = *(int *)(param_2 + 0xc) - uVar12;\n    if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)) !=\n        (int)(iVar4 - uVar13) < 0) {\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest);\n    }\n    iVar4 = *(int *)(param_2 + 0x10);\n    if ((*(int *)(param_1 + 0x44) != 0) &&\n       (piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0)) {\n      local_40 = -1;\n      do {\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    \n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    \n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\n    }\n    iVar6 = DAT_004144e8;\n    for (puVar2 = *(undefined4 **)(param_1 + 0x5c); puVar2 != (undefined4 *)0x0;\n        puVar2 = (undefined4 *)*puVar2) {\n      if (*(char *)(puVar2 + 3) == '\0') {\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    \n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }\n    }\n    if (*(char *)(param_1 + 0x88) != '\0') {\n      __dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4);\n      iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) goto LAB_0006566c;\n      memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc));\n    }\n  }\n  return;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "undefined4 *puVar2;" (type_identifier "undefined4") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int *piVar3;" (primitive_type "int") (pointer_declarator "*piVar3" (* "*") (identifier "piVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "char cVar5;" (primitive_type "char") (identifier "cVar5") (; ";")) (declaration "void *__dest;" (primitive_type "void") (pointer_declarator "*__dest" (* "*") (identifier "__dest")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "uint *puVar10;" (type_identifier "uint") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "uint *puVar14;" (type_identifier "uint") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "int local_40;" (primitive_type "int") (identifier "local_40") (; ";")) (declaration "char local_1d [13];" (primitive_type "char") (array_declarator "local_1d [13]" (identifier "local_1d") ([ "[") (number_literal "13") (] "]")) (; ";")) (if_statement "if ((*(int *)(param_1 + 0x44) != 0) || (*(int *)(param_1 + 0x60) != 0)) {\n    bVar1 = *(byte *)(param_1 + 0x1c);\n    if ((bVar1 & 4) == 0) {\n                    \n      FUN_000da200("../../gold/output.h",0xe3,"offset",bVar1);\n    }\n    if (*(int *)(DAT_004144e8 + 8) == 0) {\nLAB_000655b6:\n                    \n      FUN_00052750();\n    }\n    uVar12 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f);\n    if (uVar12 < 0x10) {\n      uVar12 = 0x10;\n    }\n    __dest = (void *)((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12);\n    if ((bVar1 & 2) == 0) {\nLAB_0006566c:\n                    \n      FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);\n    }\n    uVar12 = (int)__dest - *(int *)(param_1 + 0x14);\n    uVar13 = *(uint *)(param_1 + 0xc) - uVar12;\n    if (*(uint *)(param_1 + 0x10) != (uint)(*(uint *)(param_1 + 0xc) < uVar12)) {\n                    \n      FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest);\n    }\n    uVar12 = (uint)CARRY4((uint)__dest,uVar13);\n    uVar13 = (uint)(*(uint *)(param_2 + 8) < (int)__dest + uVar13);\n    iVar4 = *(int *)(param_2 + 0xc) - uVar12;\n    if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)) !=\n        (int)(iVar4 - uVar13) < 0) {\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest);\n    }\n    iVar4 = *(int *)(param_2 + 0x10);\n    if ((*(int *)(param_1 + 0x44) != 0) &&\n       (piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0)) {\n      local_40 = -1;\n      do {\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    \n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    \n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\n    }\n    iVar6 = DAT_004144e8;\n    for (puVar2 = *(undefined4 **)(param_1 + 0x5c); puVar2 != (undefined4 *)0x0;\n        puVar2 = (undefined4 *)*puVar2) {\n      if (*(char *)(puVar2 + 3) == '\0') {\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    \n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }\n    }\n    if (*(char *)(param_1 + 0x88) != '\0') {\n      __dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4);\n      iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) goto LAB_0006566c;\n      memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc));\n    }\n  }" (if "if") (parenthesized_expression "((*(int *)(param_1 + 0x44) != 0) || (*(int *)(param_1 + 0x60) != 0))" (( "(") (binary_expression "(*(int *)(param_1 + 0x44) != 0) || (*(int *)(param_1 + 0x60) != 0)" (parenthesized_expression "(*(int *)(param_1 + 0x44) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x44) != 0" (pointer_expression "*(int *)(param_1 + 0x44)" (* "*") (cast_expression "(int *)(param_1 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x44)" (( "(") (binary_expression "param_1 + 0x44" (identifier "param_1") (+ "+") (number_literal "0x44")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(param_1 + 0x60) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x60) != 0" (pointer_expression "*(int *)(param_1 + 0x60)" (* "*") (cast_expression "(int *)(param_1 + 0x60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    bVar1 = *(byte *)(param_1 + 0x1c);\n    if ((bVar1 & 4) == 0) {\n                    \n      FUN_000da200("../../gold/output.h",0xe3,"offset",bVar1);\n    }\n    if (*(int *)(DAT_004144e8 + 8) == 0) {\nLAB_000655b6:\n                    \n      FUN_00052750();\n    }\n    uVar12 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f);\n    if (uVar12 < 0x10) {\n      uVar12 = 0x10;\n    }\n    __dest = (void *)((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12);\n    if ((bVar1 & 2) == 0) {\nLAB_0006566c:\n                    \n      FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);\n    }\n    uVar12 = (int)__dest - *(int *)(param_1 + 0x14);\n    uVar13 = *(uint *)(param_1 + 0xc) - uVar12;\n    if (*(uint *)(param_1 + 0x10) != (uint)(*(uint *)(param_1 + 0xc) < uVar12)) {\n                    \n      FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest);\n    }\n    uVar12 = (uint)CARRY4((uint)__dest,uVar13);\n    uVar13 = (uint)(*(uint *)(param_2 + 8) < (int)__dest + uVar13);\n    iVar4 = *(int *)(param_2 + 0xc) - uVar12;\n    if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)) !=\n        (int)(iVar4 - uVar13) < 0) {\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest);\n    }\n    iVar4 = *(int *)(param_2 + 0x10);\n    if ((*(int *)(param_1 + 0x44) != 0) &&\n       (piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0)) {\n      local_40 = -1;\n      do {\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    \n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    \n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\n    }\n    iVar6 = DAT_004144e8;\n    for (puVar2 = *(undefined4 **)(param_1 + 0x5c); puVar2 != (undefined4 *)0x0;\n        puVar2 = (undefined4 *)*puVar2) {\n      if (*(char *)(puVar2 + 3) == '\0') {\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    \n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }\n    }\n    if (*(char *)(param_1 + 0x88) != '\0') {\n      __dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4);\n      iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) goto LAB_0006566c;\n      memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc));\n    }\n  }" ({ "{") (expression_statement "bVar1 = *(byte *)(param_1 + 0x1c);" (assignment_expression "bVar1 = *(byte *)(param_1 + 0x1c)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)(param_1 + 0x1c)" (* "*") (cast_expression "(byte *)(param_1 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if ((bVar1 & 4) == 0) {\n                    \n      FUN_000da200("../../gold/output.h",0xe3,"offset",bVar1);\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_000da200("../../gold/output.h",0xe3,"offset",bVar1);\n    }" ({ "{") (expression_statement "FUN_000da200("../../gold/output.h",0xe3,"offset",bVar1);" (call_expression "FUN_000da200("../../gold/output.h",0xe3,"offset",bVar1)" (identifier "FUN_000da200") (argument_list "("../../gold/output.h",0xe3,"offset",bVar1)" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xe3") (, ",") (string_literal ""offset"" (" """) (string_content "offset") (" """)) (, ",") (identifier "bVar1") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(DAT_004144e8 + 8) == 0) {\nLAB_000655b6:\n                    \n      FUN_00052750();\n    }" (if "if") (parenthesized_expression "(*(int *)(DAT_004144e8 + 8) == 0)" (( "(") (binary_expression "*(int *)(DAT_004144e8 + 8) == 0" (pointer_expression "*(int *)(DAT_004144e8 + 8)" (* "*") (cast_expression "(int *)(DAT_004144e8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_004144e8 + 8)" (( "(") (binary_expression "DAT_004144e8 + 8" (identifier "DAT_004144e8") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000655b6:\n                    \n      FUN_00052750();\n    }" ({ "{") (labeled_statement "LAB_000655b6:\n                    \n      FUN_00052750();" (statement_identifier "LAB_000655b6") (: ":") (expression_statement "FUN_00052750();" (call_expression "FUN_00052750()" (identifier "FUN_00052750") (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}"))) (expression_statement "uVar12 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f);" (assignment_expression "uVar12 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f)" (identifier "uVar12") (= "=") (binary_expression "1 << ((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f)" (( "(") (binary_expression "(byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f" (binary_expression "(byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_004144e8 + 8) + 0x2b20)" (( "(") (binary_expression "*(int *)(DAT_004144e8 + 8) + 0x2b20" (pointer_expression "*(int *)(DAT_004144e8 + 8)" (* "*") (cast_expression "(int *)(DAT_004144e8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_004144e8 + 8)" (( "(") (binary_expression "DAT_004144e8 + 8" (identifier "DAT_004144e8") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x2b20")) () ")")))) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if (uVar12 < 0x10) {\n      uVar12 = 0x10;\n    }" (if "if") (parenthesized_expression "(uVar12 < 0x10)" (( "(") (binary_expression "uVar12 < 0x10" (identifier "uVar12") (< "<") (number_literal "0x10")) () ")")) (compound_statement "{\n      uVar12 = 0x10;\n    }" ({ "{") (expression_statement "uVar12 = 0x10;" (assignment_expression "uVar12 = 0x10" (identifier "uVar12") (= "=") (number_literal "0x10")) (; ";")) (} "}"))) (expression_statement "__dest = (void *)((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12);" (assignment_expression "__dest = (void *)((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12)" (identifier "__dest") (= "=") (cast_expression "(void *)((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12)" (( "(") (binary_expression "(uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12" (binary_expression "(uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14)" (binary_expression "(uVar12 - 1) + *(int *)(param_1 + 0x70)" (parenthesized_expression "(uVar12 - 1)" (( "(") (binary_expression "uVar12 - 1" (identifier "uVar12") (- "-") (number_literal "1")) () ")")) (+ "+") (pointer_expression "*(int *)(param_1 + 0x70)" (* "*") (cast_expression "(int *)(param_1 + 0x70)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x70)" (( "(") (binary_expression "param_1 + 0x70" (identifier "param_1") (+ "+") (number_literal "0x70")) () ")"))))) (+ "+") (pointer_expression "*(int *)(param_1 + 0x14)" (* "*") (cast_expression "(int *)(param_1 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")"))))) (& "&") (unary_expression "-uVar12" (- "-") (identifier "uVar12"))) () ")")))) (; ";")) (if_statement "if ((bVar1 & 2) == 0) {\nLAB_0006566c:\n                    \n      FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);\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 "{\nLAB_0006566c:\n                    \n      FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);\n    }" ({ "{") (labeled_statement "LAB_0006566c:\n                    \n      FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);" (statement_identifier "LAB_0006566c") (: ":") (expression_statement "FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);" (call_expression "FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest)" (identifier "FUN_000da200") (argument_list "("../../gold/output.h",0xcf,"data_size",__dest)" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xcf") (, ",") (string_literal ""data_size"" (" """) (string_content "data_size") (" """)) (, ",") (identifier "__dest") () ")"))) (; ";"))) (} "}"))) (expression_statement "uVar12 = (int)__dest - *(int *)(param_1 + 0x14);" (assignment_expression "uVar12 = (int)__dest - *(int *)(param_1 + 0x14)" (identifier "uVar12") (= "=") (binary_expression "(int)__dest - *(int *)(param_1 + 0x14)" (cast_expression "(int)__dest" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__dest")) (- "-") (pointer_expression "*(int *)(param_1 + 0x14)" (* "*") (cast_expression "(int *)(param_1 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))))) (; ";")) (expression_statement "uVar13 = *(uint *)(param_1 + 0xc) - uVar12;" (assignment_expression "uVar13 = *(uint *)(param_1 + 0xc) - uVar12" (identifier "uVar13") (= "=") (binary_expression "*(uint *)(param_1 + 0xc) - uVar12" (pointer_expression "*(uint *)(param_1 + 0xc)" (* "*") (cast_expression "(uint *)(param_1 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (- "-") (identifier "uVar12"))) (; ";")) (if_statement "if (*(uint *)(param_1 + 0x10) != (uint)(*(uint *)(param_1 + 0xc) < uVar12)) {\n                    \n      FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest);\n    }" (if "if") (parenthesized_expression "(*(uint *)(param_1 + 0x10) != (uint)(*(uint *)(param_1 + 0xc) < uVar12))" (( "(") (binary_expression "*(uint *)(param_1 + 0x10) != (uint)(*(uint *)(param_1 + 0xc) < uVar12)" (pointer_expression "*(uint *)(param_1 + 0x10)" (* "*") (cast_expression "(uint *)(param_1 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (call_expression "(uint)(*(uint *)(param_1 + 0xc) < uVar12)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(param_1 + 0xc) < uVar12)" (( "(") (binary_expression "*(uint *)(param_1 + 0xc) < uVar12" (pointer_expression "*(uint *)(param_1 + 0xc)" (* "*") (cast_expression "(uint *)(param_1 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (< "<") (identifier "uVar12")) () ")")))) () ")")) (compound_statement "{\n                    \n      FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest);\n    }" ({ "{") (expression_statement "FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest);" (call_expression "FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest)" (identifier "FUN_000da200") (argument_list "("../../gold/gold.h",0xc0,"convert_types",__dest)" (( "(") (string_literal ""../../gold/gold.h"" (" """) (string_content "../../gold/gold.h") (" """)) (, ",") (number_literal "0xc0") (, ",") (string_literal ""convert_types"" (" """) (string_content "convert_types") (" """)) (, ",") (identifier "__dest") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar12 = (uint)CARRY4((uint)__dest,uVar13);" (assignment_expression "uVar12 = (uint)CARRY4((uint)__dest,uVar13)" (identifier "uVar12") (= "=") (cast_expression "(uint)CARRY4((uint)__dest,uVar13)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((uint)__dest,uVar13)" (identifier "CARRY4") (argument_list "((uint)__dest,uVar13)" (( "(") (cast_expression "(uint)__dest" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "__dest")) (, ",") (identifier "uVar13") () ")"))))) (; ";")) (expression_statement "uVar13 = (uint)(*(uint *)(param_2 + 8) < (int)__dest + uVar13);" (assignment_expression "uVar13 = (uint)(*(uint *)(param_2 + 8) < (int)__dest + uVar13)" (identifier "uVar13") (= "=") (call_expression "(uint)(*(uint *)(param_2 + 8) < (int)__dest + uVar13)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(param_2 + 8) < (int)__dest + uVar13)" (( "(") (binary_expression "*(uint *)(param_2 + 8) < (int)__dest + uVar13" (pointer_expression "*(uint *)(param_2 + 8)" (* "*") (cast_expression "(uint *)(param_2 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 8)" (( "(") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) () ")")))) (< "<") (binary_expression "(int)__dest + uVar13" (cast_expression "(int)__dest" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__dest")) (+ "+") (identifier "uVar13"))) () ")")))) (; ";")) (expression_statement "iVar4 = *(int *)(param_2 + 0xc) - uVar12;" (assignment_expression "iVar4 = *(int *)(param_2 + 0xc) - uVar12" (identifier "iVar4") (= "=") (binary_expression "*(int *)(param_2 + 0xc) - uVar12" (pointer_expression "*(int *)(param_2 + 0xc)" (* "*") (cast_expression "(int *)(param_2 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")")))) (- "-") (identifier "uVar12"))) (; ";")) (if_statement "if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)) !=\n        (int)(iVar4 - uVar13) < 0) {\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest);\n    }" (if "if") (parenthesized_expression "((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)) !=\n        (int)(iVar4 - uVar13) < 0)" (( "(") (binary_expression "(SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)) !=\n        (int)(iVar4 - uVar13) < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13))" (( "(") (binary_expression "SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)" (call_expression "SBORROW4(*(int *)(param_2 + 0xc),uVar12)" (identifier "SBORROW4") (argument_list "(*(int *)(param_2 + 0xc),uVar12)" (( "(") (pointer_expression "*(int *)(param_2 + 0xc)" (* "*") (cast_expression "(int *)(param_2 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (identifier "uVar12") () ")"))) (!= "!=") (call_expression "SBORROW4(iVar4,uVar13)" (identifier "SBORROW4") (argument_list "(iVar4,uVar13)" (( "(") (identifier "iVar4") (, ",") (identifier "uVar13") () ")")))) () ")")) (!= "!=") (binary_expression "(int)(iVar4 - uVar13) < 0" (cast_expression "(int)(iVar4 - uVar13)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar4 - uVar13)" (( "(") (binary_expression "iVar4 - uVar13" (identifier "iVar4") (- "-") (identifier "uVar13")) () ")"))) (< "<") (number_literal "0"))) () ")")) (compound_statement "{\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest);\n    }" ({ "{") (expression_statement "FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest);" (call_expression "FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest)" (identifier "FUN_000da200") (argument_list "("../../gold/output.h",0x6f,"get_output_view",__dest)" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0x6f") (, ",") (string_literal ""get_output_view"" (" """) (string_content "get_output_view") (" """)) (, ",") (identifier "__dest") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar4 = *(int *)(param_2 + 0x10);" (assignment_expression "iVar4 = *(int *)(param_2 + 0x10)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_2 + 0x10)" (* "*") (cast_expression "(int *)(param_2 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if ((*(int *)(param_1 + 0x44) != 0) &&\n       (piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0)) {\n      local_40 = -1;\n      do {\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    \n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    \n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\n    }" (if "if") (parenthesized_expression "((*(int *)(param_1 + 0x44) != 0) &&\n       (piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0))" (( "(") (binary_expression "(*(int *)(param_1 + 0x44) != 0) &&\n       (piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0)" (parenthesized_expression "(*(int *)(param_1 + 0x44) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x44) != 0" (pointer_expression "*(int *)(param_1 + 0x44)" (* "*") (cast_expression "(int *)(param_1 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x44)" (( "(") (binary_expression "param_1 + 0x44" (identifier "param_1") (+ "+") (number_literal "0x44")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0)" (( "(") (comma_expression "piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0" (assignment_expression "piVar11 = *(int **)(param_1 + 0x40)" (identifier "piVar11") (= "=") (pointer_expression "*(int **)(param_1 + 0x40)" (* "*") (cast_expression "(int **)(param_1 + 0x40)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")"))))) (, ",") (binary_expression "piVar11 != (int *)0x0" (identifier "piVar11") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n      local_40 = -1;\n      do {\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    \n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    \n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);\n    }" ({ "{") (expression_statement "local_40 = -1;" (assignment_expression "local_40 = -1" (identifier "local_40") (= "=") (number_literal "-1")) (; ";")) (do_statement "do {\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    \n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    \n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      } while (piVar11 != (int *)0x0);" (do "do") (compound_statement "{\n        puVar2 = (undefined4 *)piVar11[1];\n        iVar6 = *(int *)(param_1 + 0x34);\n        if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    \n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }\n        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n        uVar12 = iVar6 + *(int *)(iVar7 + 4);\n        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);\n        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);\n        puVar14 = puVar10;\n        if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }\n        iVar6 = *(int *)(DAT_004144e8 + 8);\n        if (iVar6 == 0) {\nLAB_000655f9:\n                    \n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }\n        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }\n        puVar10[1] = 0xa603697d;\n        puVar10[2] = 0x2004804e;\n        piVar11 = (int *)*piVar11;\n      }" ({ "{") (expression_statement "puVar2 = (undefined4 *)piVar11[1];" (assignment_expression "puVar2 = (undefined4 *)piVar11[1]" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)piVar11[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar11[1]" (identifier "piVar11") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "iVar6 = *(int *)(param_1 + 0x34);" (assignment_expression "iVar6 = *(int *)(param_1 + 0x34)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (if_statement "if (puVar2 == (undefined4 *)0x0) {\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    \n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }\n        else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }" (if "if") (parenthesized_expression "(puVar2 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar2 == (undefined4 *)0x0" (identifier "puVar2") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          piVar3 = (int *)piVar11[2];\n          uVar12 = piVar11[4];\n          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    \n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }\n          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }\n          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);\n        }" ({ "{") (expression_statement "piVar3 = (int *)piVar11[2];" (assignment_expression "piVar3 = (int *)piVar11[2]" (identifier "piVar3") (= "=") (cast_expression "(int *)piVar11[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar11[2]" (identifier "piVar11") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "uVar12 = piVar11[4];" (assignment_expression "uVar12 = piVar11[4]" (identifier "uVar12") (= "=") (subscript_expression "piVar11[4]" (identifier "piVar11") ([ "[") (number_literal "4") (] "]"))) (; ";")) (if_statement "if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {\n                    \n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }" (if "if") (parenthesized_expression "((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12)" (( "(") (binary_expression "(uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12" (call_expression "(uint)(piVar3[0x38] - piVar3[0x37] >> 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(piVar3[0x38] - piVar3[0x37] >> 4)" (( "(") (binary_expression "piVar3[0x38] - piVar3[0x37] >> 4" (binary_expression "piVar3[0x38] - piVar3[0x37]" (subscript_expression "piVar3[0x38]" (identifier "piVar3") ([ "[") (number_literal "0x38") (] "]")) (- "-") (subscript_expression "piVar3[0x37]" (identifier "piVar3") ([ "[") (number_literal "0x37") (] "]"))) (>> ">>") (number_literal "4")) () ")"))) (<= "<=") (identifier "uVar12")) () ")")) (compound_statement "{\n                    \n            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);\n          }" ({ "{") (expression_statement "FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);" (call_expression "FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6)" (identifier "FUN_000da200") (argument_list "("../../gold/object.h",0x8c1,"local_symbol",iVar6)" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x8c1") (, ",") (string_literal ""local_symbol"" (" """) (string_content "local_symbol") (" """)) (, ",") (identifier "iVar6") () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }\n          else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }" (if "if") (parenthesized_expression "((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0)" (( "(") (binary_expression "(*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0" (parenthesized_expression "(*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40)" (( "(") (binary_expression "*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40" (pointer_expression "*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10)" (* "*") (cast_expression "(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar3[0x37] + 0xb + uVar12 * 0x10)" (( "(") (binary_expression "piVar3[0x37] + 0xb + uVar12 * 0x10" (binary_expression "piVar3[0x37] + 0xb" (subscript_expression "piVar3[0x37]" (identifier "piVar3") ([ "[") (number_literal "0x37") (] "]")) (+ "+") (number_literal "0xb")) (+ "+") (binary_expression "uVar12 * 0x10" (identifier "uVar12") (* "*") (number_literal "0x10"))) () ")")))) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar7 = *(int *)(iVar6 + 0x20);\n          }" ({ "{") (expression_statement "iVar7 = *(int *)(iVar6 + 0x20);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x20)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar6 + 0x20)" (* "*") (cast_expression "(int *)(iVar6 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x20)" (( "(") (binary_expression "iVar6 + 0x20" (identifier "iVar6") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }" (else "else") (compound_statement "{\n            iVar7 = *(int *)(iVar6 + 0x1c);\n            if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }\n          }" ({ "{") (expression_statement "iVar7 = *(int *)(iVar6 + 0x1c);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x1c)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar6 + 0x1c)" (* "*") (cast_expression "(int *)(iVar6 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x1c)" (( "(") (binary_expression "iVar6 + 0x1c" (identifier "iVar6") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (iVar7 == 0) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);\n            }" ({ "{") (expression_statement "FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);" (call_expression "FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0)" (identifier "FUN_000da200") (argument_list "("../../gold/powerpc.cc",0x372,"iplt_section",0)" (( "(") (string_literal ""../../gold/powerpc.cc"" (" """) (string_content "../../gold/powerpc.cc") (" """)) (, ",") (number_literal "0x372") (, ",") (string_literal ""iplt_section"" (" """) (string_content "iplt_section") (" """)) (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);" (assignment_expression "iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12)" (identifier "iVar6") (= "=") (call_expression "(**(code **)(*piVar3 + 0xa8))(piVar3,uVar12)" (parenthesized_expression "(**(code **)(*piVar3 + 0xa8))" (( "(") (pointer_expression "**(code **)(*piVar3 + 0xa8)" (* "*") (pointer_expression "*(code **)(*piVar3 + 0xa8)" (* "*") (cast_expression "(code **)(*piVar3 + 0xa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar3 + 0xa8)" (( "(") (binary_expression "*piVar3 + 0xa8" (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) (+ "+") (number_literal "0xa8")) () ")"))))) () ")")) (argument_list "(piVar3,uVar12)" (( "(") (identifier "piVar3") (, ",") (identifier "uVar12") () ")")))) (; ";")) (} "}")) (else_clause "else {\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }" (else "else") (compound_statement "{\n          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }\n          iVar7 = *(int *)(iVar6 + 0x18);\n          if (iVar7 == 0) {\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000650dd:\n          iVar6 = puVar2[6];\n          if (iVar6 == -1) {\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n        }" ({ "{") (if_statement "if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }" (if "if") (parenthesized_expression "((*(byte *)(puVar2 + 10) & 0xf) == 10)" (( "(") (binary_expression "(*(byte *)(puVar2 + 10) & 0xf) == 10" (parenthesized_expression "(*(byte *)(puVar2 + 10) & 0xf)" (( "(") (binary_expression "*(byte *)(puVar2 + 10) & 0xf" (pointer_expression "*(byte *)(puVar2 + 10)" (* "*") (cast_expression "(byte *)(puVar2 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 10)" (( "(") (binary_expression "puVar2 + 10" (identifier "puVar2") (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "10")) () ")")) (compound_statement "{\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;\n            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }\n          }" ({ "{") (if_statement "if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;" (if "if") (parenthesized_expression "((*(byte *)((int)puVar2 + 0x2a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar2 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)puVar2 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)puVar2 + 0x2a) & 7" (pointer_expression "*(byte *)((int)puVar2 + 0x2a)" (* "*") (cast_expression "(byte *)((int)puVar2 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar2 + 0x2a)" (( "(") (binary_expression "(int)puVar2 + 0x2a" (cast_expression "(int)puVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar2")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00065520;" (goto "goto") (statement_identifier "LAB_00065520") (; ";"))) (if_statement "if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }" (if "if") (parenthesized_expression "((*(byte *)((int)puVar2 + 0x2a) & 7) != 4)" (( "(") (binary_expression "(*(byte *)((int)puVar2 + 0x2a) & 7) != 4" (parenthesized_expression "(*(byte *)((int)puVar2 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)puVar2 + 0x2a) & 7" (pointer_expression "*(byte *)((int)puVar2 + 0x2a)" (* "*") (cast_expression "(byte *)((int)puVar2 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar2 + 0x2a)" (( "(") (binary_expression "(int)puVar2 + 0x2a" (cast_expression "(int)puVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar2")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n              do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );\n            }" ({ "{") (do_statement "do {\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              } while( true );" (do "do") (compound_statement "{\n                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }\n                iVar7 = *(int *)(iVar6 + 0x1c);\n                if (iVar7 != 0) goto LAB_000650dd;\n                FUN_000522c0();\nLAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;\n              }" ({ "{") (if_statement "if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }" (if "if") (parenthesized_expression "(((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0))" (( "(") (binary_expression "((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&\n                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)" (parenthesized_expression "((*(byte *)((int)puVar2 + 0x29) & 3) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar2 + 0x29) & 3) == 0" (parenthesized_expression "(*(byte *)((int)puVar2 + 0x29) & 3)" (( "(") (binary_expression "*(byte *)((int)puVar2 + 0x29) & 3" (pointer_expression "*(byte *)((int)puVar2 + 0x29)" (* "*") (cast_expression "(byte *)((int)puVar2 + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar2 + 0x29)" (( "(") (binary_expression "(int)puVar2 + 0x29" (cast_expression "(int)puVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar2")) (+ "+") (number_literal "0x29")) () ")")))) (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)puVar2 + 0x2b) & 0x10)" (( "(") (binary_expression "*(byte *)((int)puVar2 + 0x2b) & 0x10" (pointer_expression "*(byte *)((int)puVar2 + 0x2b)" (* "*") (cast_expression "(byte *)((int)puVar2 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar2 + 0x2b)" (( "(") (binary_expression "(int)puVar2 + 0x2b" (cast_expression "(int)puVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar2")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                  iVar7 = *(int *)(DAT_004144e8 + 8);\n                  if (iVar7 == 0) goto LAB_000655f9;\n                  if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }\n                }" ({ "{") (expression_statement "iVar7 = *(int *)(DAT_004144e8 + 8);" (assignment_expression "iVar7 = *(int *)(DAT_004144e8 + 8)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(DAT_004144e8 + 8)" (* "*") (cast_expression "(int *)(DAT_004144e8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_004144e8 + 8)" (( "(") (binary_expression "DAT_004144e8 + 8" (identifier "DAT_004144e8") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar7 == 0) goto LAB_000655f9;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000655f9;" (goto "goto") (statement_identifier "LAB_000655f9") (; ";"))) (if_statement "if (*(char *)(iVar7 + 0x1a25) != '\0') {\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }" (if "if") (parenthesized_expression "(*(char *)(iVar7 + 0x1a25) != '\0')" (( "(") (binary_expression "*(char *)(iVar7 + 0x1a25) != '\0'" (pointer_expression "*(char *)(iVar7 + 0x1a25)" (* "*") (cast_expression "(char *)(iVar7 + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1a25)" (( "(") (binary_expression "iVar7 + 0x1a25" (identifier "iVar7") (+ "+") (number_literal "0x1a25")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);\n                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;\n                    iVar7 = *(int *)(DAT_004144e8 + 8);\n                    if (iVar7 == 0) goto LAB_000655f9;\n                    if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;\n                  }" ({ "{") (expression_statement "cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);" (assignment_expression "cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d)" (identifier "cVar5") (= "=") (call_expression "FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d)" (identifier "FUN_001dd670") (argument_list "(iVar7 + 0x59a8,*puVar2,0,local_1d)" (( "(") (binary_expression "iVar7 + 0x59a8" (identifier "iVar7") (+ "+") (number_literal "0x59a8")) (, ",") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (, ",") (number_literal "0") (, ",") (identifier "local_1d") () ")")))) (; ";")) (if_statement "if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;" (if "if") (parenthesized_expression "((cVar5 != '\0') && (local_1d[0] == '\0'))" (( "(") (binary_expression "(cVar5 != '\0') && (local_1d[0] == '\0')" (parenthesized_expression "(cVar5 != '\0')" (( "(") (binary_expression "cVar5 != '\0'" (identifier "cVar5") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(local_1d[0] == '\0')" (( "(") (binary_expression "local_1d[0] == '\0'" (subscript_expression "local_1d[0]" (identifier "local_1d") ([ "[") (number_literal "0") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar7 = *(int *)(DAT_004144e8 + 8);" (assignment_expression "iVar7 = *(int *)(DAT_004144e8 + 8)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(DAT_004144e8 + 8)" (* "*") (cast_expression "(int *)(DAT_004144e8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_004144e8 + 8)" (( "(") (binary_expression "DAT_004144e8 + 8" (identifier "DAT_004144e8") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar7 == 0) goto LAB_000655f9;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000655f9;" (goto "goto") (statement_identifier "LAB_000655f9") (; ";"))) (if_statement "if ((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       ) break;" (if "if") (parenthesized_expression "((*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))\n                       )" (( "(") (binary_expression "(*(char *)(iVar7 + 0x825) == '\0') &&\n                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))" (parenthesized_expression "(*(char *)(iVar7 + 0x825) == '\0')" (( "(") (binary_expression "*(char *)(iVar7 + 0x825) == '\0'" (pointer_expression "*(char *)(iVar7 + 0x825)" (* "*") (cast_expression "(char *)(iVar7 + 0x825)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x825)" (( "(") (binary_expression "iVar7 + 0x825" (identifier "iVar7") (+ "+") (number_literal "0x825")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))" (( "(") (parenthesized_expression "((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0'))" (( "(") (binary_expression "(*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')" (binary_expression "(*(byte *)(puVar2 + 10) & 0xf) == 1" (parenthesized_expression "(*(byte *)(puVar2 + 10) & 0xf)" (( "(") (binary_expression "*(byte *)(puVar2 + 10) & 0xf" (pointer_expression "*(byte *)(puVar2 + 10)" (* "*") (cast_expression "(byte *)(puVar2 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 10)" (( "(") (binary_expression "puVar2 + 10" (identifier "puVar2") (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "1")) (|| "||") (parenthesized_expression "(*(char *)(iVar7 + 0x8a1) == '\0')" (( "(") (binary_expression "*(char *)(iVar7 + 0x8a1) == '\0'" (pointer_expression "*(char *)(iVar7 + 0x8a1)" (* "*") (cast_expression "(char *)(iVar7 + 0x8a1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x8a1)" (( "(") (binary_expression "iVar7 + 0x8a1" (identifier "iVar7") (+ "+") (number_literal "0x8a1")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}"))) (} "}"))) (expression_statement "iVar7 = *(int *)(iVar6 + 0x1c);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x1c)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar6 + 0x1c)" (* "*") (cast_expression "(int *)(iVar6 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x1c)" (( "(") (binary_expression "iVar6 + 0x1c" (identifier "iVar6") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (iVar7 != 0) goto LAB_000650dd;" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000650dd;" (goto "goto") (statement_identifier "LAB_000650dd") (; ";"))) (expression_statement "FUN_000522c0();" (call_expression "FUN_000522c0()" (identifier "FUN_000522c0") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_00065520:\n                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;" (statement_identifier "LAB_00065520") (: ":") (if_statement "if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;" (if "if") (parenthesized_expression "(((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0))))" (( "(") (binary_expression "((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||\n                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))" (parenthesized_expression "((*(byte *)(puVar2[2] + 0x2c) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(puVar2[2] + 0x2c) & 1) != 0" (parenthesized_expression "(*(byte *)(puVar2[2] + 0x2c) & 1)" (( "(") (binary_expression "*(byte *)(puVar2[2] + 0x2c) & 1" (pointer_expression "*(byte *)(puVar2[2] + 0x2c)" (* "*") (cast_expression "(byte *)(puVar2[2] + 0x2c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2[2] + 0x2c)" (( "(") (binary_expression "puVar2[2] + 0x2c" (subscript_expression "puVar2[2]" (identifier "puVar2") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "0x2c")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))" (( "(") (parenthesized_expression "(puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0))" (( "(") (binary_expression "puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)" (binary_expression "puVar2[3] == 0" (subscript_expression "puVar2[3]" (identifier "puVar2") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)" (( "(") (binary_expression "(*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)puVar2 + 0x2b) & 0x20)" (( "(") (binary_expression "*(byte *)((int)puVar2 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)puVar2 + 0x2b)" (* "*") (cast_expression "(byte *)((int)puVar2 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar2 + 0x2b)" (( "(") (binary_expression "(int)puVar2 + 0x2b" (cast_expression "(int)puVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar2")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";")))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar7 = *(int *)(iVar6 + 0x18);" (assignment_expression "iVar7 = *(int *)(iVar6 + 0x18)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar6 + 0x18)" (* "*") (cast_expression "(int *)(iVar6 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x18)" (( "(") (binary_expression "iVar6 + 0x18" (identifier "iVar6") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (iVar7 == 0) {\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");\n          }" ({ "{") (expression_statement "FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");" (call_expression "FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section")" (identifier "FUN_000da200") (argument_list "("../../gold/powerpc.cc",0x36a,"plt_section")" (( "(") (string_literal ""../../gold/powerpc.cc"" (" """) (string_content "../../gold/powerpc.cc") (" """)) (, ",") (number_literal "0x36a") (, ",") (string_literal ""plt_section"" (" """) (string_content "plt_section") (" """)) () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_000650dd:\n          iVar6 = puVar2[6];" (statement_identifier "LAB_000650dd") (: ":") (expression_statement "iVar6 = puVar2[6];" (assignment_expression "iVar6 = puVar2[6]" (identifier "iVar6") (= "=") (subscript_expression "puVar2[6]" (identifier "puVar2") ([ "[") (number_literal "6") (] "]"))) (; ";"))) (if_statement "if (iVar6 == -1) {\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }" (if "if") (parenthesized_expression "(iVar6 == -1)" (( "(") (binary_expression "iVar6 == -1" (identifier "iVar6") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n                    \n            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");\n          }" ({ "{") (expression_statement "FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");" (call_expression "FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset")" (identifier "FUN_000da200") (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") (" """)) () ")"))) (; ";")) (} "}"))) (} "}")))) (if_statement "if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;" (if "if") (parenthesized_expression "((*(byte *)(iVar7 + 0x1c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(iVar7 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar7 + 0x1c) & 1)" (( "(") (binary_expression "*(byte *)(iVar7 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar7 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar7 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1c)" (( "(") (binary_expression "iVar7 + 0x1c" (identifier "iVar7") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00065211;" (goto "goto") (statement_identifier "LAB_00065211") (; ";"))) (expression_statement "uVar12 = iVar6 + *(int *)(iVar7 + 4);" (assignment_expression "uVar12 = iVar6 + *(int *)(iVar7 + 4)" (identifier "uVar12") (= "=") (binary_expression "iVar6 + *(int *)(iVar7 + 4)" (identifier "iVar6") (+ "+") (pointer_expression "*(int *)(iVar7 + 4)" (* "*") (cast_expression "(int *)(iVar7 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4)" (( "(") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) () ")")))))) (; ";")) (expression_statement "puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);" (assignment_expression "puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4)" (identifier "puVar10") (= "=") (cast_expression "(uint *)((int)__dest + piVar11[5] + iVar4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__dest + piVar11[5] + iVar4)" (( "(") (binary_expression "(int)__dest + piVar11[5] + iVar4" (binary_expression "(int)__dest + piVar11[5]" (cast_expression "(int)__dest" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__dest")) (+ "+") (subscript_expression "piVar11[5]" (identifier "piVar11") ([ "[") (number_literal "5") (] "]"))) (+ "+") (identifier "iVar4")) () ")")))) (; ";")) (expression_statement "iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);" (assignment_expression "iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(*(int *)(param_1 + 0x34) + 0xb4)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x34) + 0xb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0xb4)" (( "(") (binary_expression "*(int *)(param_1 + 0x34) + 0xb4" (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (number_literal "0xb4")) () ")"))))) (; ";")) (expression_statement "puVar14 = puVar10;" (assignment_expression "puVar14 = puVar10" (identifier "puVar14") (= "=") (identifier "puVar10")) (; ";")) (if_statement "if ((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }" (if "if") (parenthesized_expression "((iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6))))" (( "(") (binary_expression "(iVar6 != 0) &&\n           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))" (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))" (( "(") (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6))" (( "(") (binary_expression "*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)" (binary_expression "*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1]" (pointer_expression "*(int *)(*(int *)(param_1 + 0x34) + 0xb0)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x34) + 0xb0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0xb0)" (( "(") (binary_expression "*(int *)(param_1 + 0x34) + 0xb0" (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (number_literal "0xb0")) () ")")))) (== "==") (subscript_expression "piVar11[1]" (identifier "piVar11") ([ "[") (number_literal "1") (] "]"))) (|| "||") (parenthesized_expression "(piVar11[1] == iVar6)" (( "(") (binary_expression "piVar11[1] == iVar6" (subscript_expression "piVar11[1]" (identifier "piVar11") ([ "[") (number_literal "1") (] "]")) (== "==") (identifier "iVar6")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          *puVar10 = 0x6381;\n          puVar14 = puVar10 + 8;\n          puVar10[1] = 0x4008381;\n          puVar10[2] = 0x781b607c;\n          puVar10[3] = 0xb2c;\n          puVar10[4] = 0x14126c7c;\n          puVar10[5] = 0x2000824d;\n          puVar10[6] = 0x7803037c;\n          puVar10[7] = 0x60;\n        }" ({ "{") (expression_statement "*puVar10 = 0x6381;" (assignment_expression "*puVar10 = 0x6381" (pointer_expression "*puVar10" (* "*") (identifier "puVar10")) (= "=") (number_literal "0x6381")) (; ";")) (expression_statement "puVar14 = puVar10 + 8;" (assignment_expression "puVar14 = puVar10 + 8" (identifier "puVar14") (= "=") (binary_expression "puVar10 + 8" (identifier "puVar10") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "puVar10[1] = 0x4008381;" (assignment_expression "puVar10[1] = 0x4008381" (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0x4008381")) (; ";")) (expression_statement "puVar10[2] = 0x781b607c;" (assignment_expression "puVar10[2] = 0x781b607c" (subscript_expression "puVar10[2]" (identifier "puVar10") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x781b607c")) (; ";")) (expression_statement "puVar10[3] = 0xb2c;" (assignment_expression "puVar10[3] = 0xb2c" (subscript_expression "puVar10[3]" (identifier "puVar10") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0xb2c")) (; ";")) (expression_statement "puVar10[4] = 0x14126c7c;" (assignment_expression "puVar10[4] = 0x14126c7c" (subscript_expression "puVar10[4]" (identifier "puVar10") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0x14126c7c")) (; ";")) (expression_statement "puVar10[5] = 0x2000824d;" (assignment_expression "puVar10[5] = 0x2000824d" (subscript_expression "puVar10[5]" (identifier "puVar10") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0x2000824d")) (; ";")) (expression_statement "puVar10[6] = 0x7803037c;" (assignment_expression "puVar10[6] = 0x7803037c" (subscript_expression "puVar10[6]" (identifier "puVar10") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0x7803037c")) (; ";")) (expression_statement "puVar10[7] = 0x60;" (assignment_expression "puVar10[7] = 0x60" (subscript_expression "puVar10[7]" (identifier "puVar10") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0x60")) (; ";")) (} "}"))) (expression_statement "iVar6 = *(int *)(DAT_004144e8 + 8);" (assignment_expression "iVar6 = *(int *)(DAT_004144e8 + 8)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(DAT_004144e8 + 8)" (* "*") (cast_expression "(int *)(DAT_004144e8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_004144e8 + 8)" (( "(") (binary_expression "DAT_004144e8 + 8" (identifier "DAT_004144e8") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar6 == 0) {\nLAB_000655f9:\n                    \n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000655f9:\n                    \n          FUN_000da200("../../gold/parameters.h",0x5c,"options");\n        }" ({ "{") (labeled_statement "LAB_000655f9:\n                    \n          FUN_000da200("../../gold/parameters.h",0x5c,"options");" (statement_identifier "LAB_000655f9") (: ":") (expression_statement "FUN_000da200("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_000da200("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_000da200") (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 *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }\n        else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }" (if "if") (parenthesized_expression "((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0'))" (( "(") (binary_expression "(*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')" (parenthesized_expression "(*(char *)(iVar6 + 0x1a25) == '\0')" (( "(") (binary_expression "*(char *)(iVar6 + 0x1a25) == '\0'" (pointer_expression "*(char *)(iVar6 + 0x1a25)" (* "*") (cast_expression "(char *)(iVar6 + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x1a25)" (( "(") (binary_expression "iVar6 + 0x1a25" (identifier "iVar6") (+ "+") (number_literal "0x1a25")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(iVar6 + 0x2931) == '\0')" (( "(") (binary_expression "*(char *)(iVar6 + 0x2931) == '\0'" (pointer_expression "*(char *)(iVar6 + 0x2931)" (* "*") (cast_expression "(char *)(iVar6 + 0x2931)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x2931)" (( "(") (binary_expression "iVar6 + 0x2931" (identifier "iVar6") (+ "+") (number_literal "0x2931")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n          puVar10 = puVar14 + 1;\n          uVar13 = uVar12 + 0x8000 >> 0x10;\n          uVar9 = (uVar12 & 0xffff) + 0x816b0000;\n          uVar8 = uVar13 + 0x3d600000;\n          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;\n          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;\n        }" ({ "{") (expression_statement "puVar10 = puVar14 + 1;" (assignment_expression "puVar10 = puVar14 + 1" (identifier "puVar10") (= "=") (binary_expression "puVar14 + 1" (identifier "puVar14") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar13 = uVar12 + 0x8000 >> 0x10;" (assignment_expression "uVar13 = uVar12 + 0x8000 >> 0x10" (identifier "uVar13") (= "=") (binary_expression "uVar12 + 0x8000 >> 0x10" (binary_expression "uVar12 + 0x8000" (identifier "uVar12") (+ "+") (number_literal "0x8000")) (>> ">>") (number_literal "0x10"))) (; ";")) (expression_statement "uVar9 = (uVar12 & 0xffff) + 0x816b0000;" (assignment_expression "uVar9 = (uVar12 & 0xffff) + 0x816b0000" (identifier "uVar9") (= "=") (binary_expression "(uVar12 & 0xffff) + 0x816b0000" (parenthesized_expression "(uVar12 & 0xffff)" (( "(") (binary_expression "uVar12 & 0xffff" (identifier "uVar12") (& "&") (number_literal "0xffff")) () ")")) (+ "+") (number_literal "0x816b0000"))) (; ";")) (expression_statement "uVar8 = uVar13 + 0x3d600000;" (assignment_expression "uVar8 = uVar13 + 0x3d600000" (identifier "uVar8") (= "=") (binary_expression "uVar13 + 0x3d600000" (identifier "uVar13") (+ "+") (number_literal "0x3d600000"))) (; ";")) (expression_statement "puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18;" (assignment_expression "puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       (uVar12 & 0xffff) << 0x18" (subscript_expression "puVar14[1]" (identifier "puVar14") ([ "[") (number_literal "1") (] "]")) (= "=") (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 "uVar9") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" (( "(") (binary_expression "uVar9 & 0xff0000" (identifier "uVar9") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" (( "(") (binary_expression "uVar9 & 0xff00" (identifier "uVar9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar12 & 0xffff) << 0x18" (parenthesized_expression "(uVar12 & 0xffff)" (( "(") (binary_expression "uVar12 & 0xffff" (identifier "uVar12") (& "&") (number_literal "0xffff")) () ")")) (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "*puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18;" (assignment_expression "*puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18" (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) (= "=") (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                     uVar13 << 0x18" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8" (binary_expression "uVar8 >> 0x18" (identifier "uVar8") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar8 & 0xff0000) >> 8" (parenthesized_expression "(uVar8 & 0xff0000)" (( "(") (binary_expression "uVar8 & 0xff0000" (identifier "uVar8") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar8 & 0xff00) << 8" (parenthesized_expression "(uVar8 & 0xff00)" (( "(") (binary_expression "uVar8 & 0xff00" (identifier "uVar8") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar13 << 0x18" (identifier "uVar13") (<< "<<") (number_literal "0x18")))) (; ";")) (} "}")) (else_clause "else {\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }" (else "else") (compound_statement "{\n          piVar3 = (int *)piVar11[2];\n          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }\n          uVar13 = uVar12 - iVar6 & 0xffff;\n          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;\n          if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }\n        }" ({ "{") (expression_statement "piVar3 = (int *)piVar11[2];" (assignment_expression "piVar3 = (int *)piVar11[2]" (identifier "piVar3") (= "=") (cast_expression "(int *)piVar11[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar11[2]" (identifier "piVar11") ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }\n          else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }" (if "if") (parenthesized_expression "((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000))" (( "(") (binary_expression "(piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)" (parenthesized_expression "(piVar3 == (int *)0x0)" (( "(") (binary_expression "piVar3 == (int *)0x0" (identifier "piVar3") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "((uint)piVar11[3] < 0x8000)" (( "(") (binary_expression "(uint)piVar11[3] < 0x8000" (cast_expression "(uint)piVar11[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar11[3]" (identifier "piVar11") ([ "[") (number_literal "3") (] "]"))) (< "<") (number_literal "0x8000")) () ")"))) () ")")) (compound_statement "{\n            iVar6 = local_40;\n            if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }\n          }" ({ "{") (expression_statement "iVar6 = local_40;" (assignment_expression "iVar6 = local_40" (identifier "iVar6") (= "=") (identifier "local_40")) (; ";")) (if_statement "if (local_40 == -1) {\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }" (if "if") (parenthesized_expression "(local_40 == -1)" (( "(") (binary_expression "local_40 == -1" (identifier "local_40") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);\n              if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }\n              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;\n              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;\n              local_40 = iVar6;\n            }" ({ "{") (expression_statement "iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);" (assignment_expression "iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(*(int *)(param_1 + 0x34) + 0x14)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x34) + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0x14)" (( "(") (binary_expression "*(int *)(param_1 + 0x34) + 0x14" (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (iVar6 == 0) {\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);\n              }" ({ "{") (expression_statement "FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);" (call_expression "FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0)" (identifier "FUN_000da200") (argument_list "("../../gold/powerpc.cc",0x3ae,"got_section",0)" (( "(") (string_literal ""../../gold/powerpc.cc"" (" """) (string_content "../../gold/powerpc.cc") (" """)) (, ",") (number_literal "0x3ae") (, ",") (string_literal ""got_section"" (" """) (string_content "got_section") (" """)) (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;" (if "if") (parenthesized_expression "((*(byte *)(iVar6 + 0x1c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(iVar6 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar6 + 0x1c) & 1)" (( "(") (binary_expression "*(byte *)(iVar6 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar6 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar6 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x1c)" (( "(") (binary_expression "iVar6 + 0x1c" (identifier "iVar6") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00065211;" (goto "goto") (statement_identifier "LAB_00065211") (; ";"))) (expression_statement "iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;" (assignment_expression "iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4" (identifier "iVar6") (= "=") (binary_expression "*(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4" (pointer_expression "*(int *)(iVar6 + 4)" (* "*") (cast_expression "(int *)(iVar6 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 4)" (( "(") (binary_expression "iVar6 + 4" (identifier "iVar6") (+ "+") (number_literal "4")) () ")")))) (+ "+") (binary_expression "*(int *)(iVar6 + 0x68) * 4" (pointer_expression "*(int *)(iVar6 + 0x68)" (* "*") (cast_expression "(int *)(iVar6 + 0x68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x68)" (( "(") (binary_expression "iVar6 + 0x68" (identifier "iVar6") (+ "+") (number_literal "0x68")) () ")")))) (* "*") (number_literal "4")))) (; ";")) (expression_statement "local_40 = iVar6;" (assignment_expression "local_40 = iVar6" (identifier "local_40") (= "=") (identifier "iVar6")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }" (else "else") (compound_statement "{\n            uVar13 = piVar3[0x50];\n            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }\n            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);\n            if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }\n            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }\n            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;\n            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;\n          }" ({ "{") (expression_statement "uVar13 = piVar3[0x50];" (assignment_expression "uVar13 = piVar3[0x50]" (identifier "uVar13") (= "=") (subscript_expression "piVar3[0x50]" (identifier "piVar3") ([ "[") (number_literal "0x50") (] "]"))) (; ";")) (if_statement "if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }" (if "if") (parenthesized_expression "((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13)" (( "(") (binary_expression "(uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13" (call_expression "(uint)(piVar3[0x22] - piVar3[0x21] >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(piVar3[0x22] - piVar3[0x21] >> 2)" (( "(") (binary_expression "piVar3[0x22] - piVar3[0x21] >> 2" (binary_expression "piVar3[0x22] - piVar3[0x21]" (subscript_expression "piVar3[0x22]" (identifier "piVar3") ([ "[") (number_literal "0x22") (] "]")) (- "-") (subscript_expression "piVar3[0x21]" (identifier "piVar3") ([ "[") (number_literal "0x21") (] "]"))) (>> ">>") (number_literal "2")) () ")"))) (<= "<=") (identifier "uVar13")) () ")")) (compound_statement "{\n                    \n              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);\n            }" ({ "{") (expression_statement "FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);" (call_expression "FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14)" (identifier "FUN_000da200") (argument_list "("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14)" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x7f7") (, ",") (string_literal ""get_output_section_offset"" (" """) (string_content "get_output_section_offset") (" """)) (, ",") (identifier "puVar14") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);" (assignment_expression "iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(piVar3[0x21] + uVar13 * 4)" (* "*") (cast_expression "(int *)(piVar3[0x21] + uVar13 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar3[0x21] + uVar13 * 4)" (( "(") (binary_expression "piVar3[0x21] + uVar13 * 4" (subscript_expression "piVar3[0x21]" (identifier "piVar3") ([ "[") (number_literal "0x21") (] "]")) (+ "+") (binary_expression "uVar13 * 4" (identifier "uVar13") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (iVar6 == -1) {\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }" (if "if") (parenthesized_expression "(iVar6 == -1)" (( "(") (binary_expression "iVar6 == -1" (identifier "iVar6") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n                    \n              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);\n            }" ({ "{") (expression_statement "FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);" (call_expression "FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13)" (identifier "FUN_000da200") (argument_list "("../../gold/powerpc.cc",0x1633,"do_write",uVar13)" (( "(") (string_literal ""../../gold/powerpc.cc"" (" """) (string_content "../../gold/powerpc.cc") (" """)) (, ",") (number_literal "0x1633") (, ",") (string_literal ""do_write"" (" """) (string_content "do_write") (" """)) (, ",") (identifier "uVar13") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }\n            else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }" (if "if") (parenthesized_expression "(*(code **)(*piVar3 + 0x60) == FUN_000a5850)" (( "(") (binary_expression "*(code **)(*piVar3 + 0x60) == FUN_000a5850" (pointer_expression "*(code **)(*piVar3 + 0x60)" (* "*") (cast_expression "(code **)(*piVar3 + 0x60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar3 + 0x60)" (( "(") (binary_expression "*piVar3 + 0x60" (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) (+ "+") (number_literal "0x60")) () ")")))) (== "==") (identifier "FUN_000a5850")) () ")")) (compound_statement "{\n              iVar7 = piVar3[0xe];\n              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }\n              iVar7 = *(int *)(iVar7 + uVar13 * 4);\n            }" ({ "{") (expression_statement "iVar7 = piVar3[0xe];" (assignment_expression "iVar7 = piVar3[0xe]" (identifier "iVar7") (= "=") (subscript_expression "piVar3[0xe]" (identifier "piVar3") ([ "[") (number_literal "0xe") (] "]"))) (; ";")) (if_statement "if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }" (if "if") (parenthesized_expression "((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13)" (( "(") (binary_expression "(uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13" (call_expression "(uint)(piVar3[0xf] - iVar7 >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(piVar3[0xf] - iVar7 >> 2)" (( "(") (binary_expression "piVar3[0xf] - iVar7 >> 2" (binary_expression "piVar3[0xf] - iVar7" (subscript_expression "piVar3[0xf]" (identifier "piVar3") ([ "[") (number_literal "0xf") (] "]")) (- "-") (identifier "iVar7")) (>> ">>") (number_literal "2")) () ")"))) (<= "<=") (identifier "uVar13")) () ")")) (compound_statement "{\n                    \n                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);\n              }" ({ "{") (expression_statement "FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);" (call_expression "FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7)" (identifier "FUN_000da200") (argument_list "("../../gold/object.h",0x5c8,"do_output_section",iVar7)" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x5c8") (, ",") (string_literal ""do_output_section"" (" """) (string_content "do_output_section") (" """)) (, ",") (identifier "iVar7") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar7 = *(int *)(iVar7 + uVar13 * 4);" (assignment_expression "iVar7 = *(int *)(iVar7 + uVar13 * 4)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar7 + uVar13 * 4)" (* "*") (cast_expression "(int *)(iVar7 + uVar13 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + uVar13 * 4)" (( "(") (binary_expression "iVar7 + uVar13 * 4" (identifier "iVar7") (+ "+") (binary_expression "uVar13 * 4" (identifier "uVar13") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }" (else "else") (compound_statement "{\n              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);\n            }" ({ "{") (expression_statement "iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);" (assignment_expression "iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13)" (identifier "iVar7") (= "=") (call_expression "(**(code **)(*piVar3 + 0x60))(piVar3,uVar13)" (parenthesized_expression "(**(code **)(*piVar3 + 0x60))" (( "(") (pointer_expression "**(code **)(*piVar3 + 0x60)" (* "*") (pointer_expression "*(code **)(*piVar3 + 0x60)" (* "*") (cast_expression "(code **)(*piVar3 + 0x60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar3 + 0x60)" (( "(") (binary_expression "*piVar3 + 0x60" (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) (+ "+") (number_literal "0x60")) () ")"))))) () ")")) (argument_list "(piVar3,uVar13)" (( "(") (identifier "piVar3") (, ",") (identifier "uVar13") () ")")))) (; ";")) (} "}")))) (if_statement "if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;" (if "if") (parenthesized_expression "((*(byte *)(iVar7 + 0x1c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(iVar7 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar7 + 0x1c) & 1)" (( "(") (binary_expression "*(byte *)(iVar7 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar7 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar7 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1c)" (( "(") (binary_expression "iVar7 + 0x1c" (identifier "iVar7") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00065211;" (goto "goto") (statement_identifier "LAB_00065211") (; ";"))) (expression_statement "iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;" (assignment_expression "iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6" (identifier "iVar6") (= "=") (binary_expression "piVar11[3] + *(int *)(iVar7 + 4) + iVar6" (binary_expression "piVar11[3] + *(int *)(iVar7 + 4)" (subscript_expression "piVar11[3]" (identifier "piVar11") ([ "[") (number_literal "3") (] "]")) (+ "+") (pointer_expression "*(int *)(iVar7 + 4)" (* "*") (cast_expression "(int *)(iVar7 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4)" (( "(") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) () ")"))))) (+ "+") (identifier "iVar6"))) (; ";")) (} "}")))) (expression_statement "uVar13 = uVar12 - iVar6 & 0xffff;" (assignment_expression "uVar13 = uVar12 - iVar6 & 0xffff" (identifier "uVar13") (= "=") (binary_expression "uVar12 - iVar6 & 0xffff" (binary_expression "uVar12 - iVar6" (identifier "uVar12") (- "-") (identifier "iVar6")) (& "&") (number_literal "0xffff"))) (; ";")) (expression_statement "uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;" (assignment_expression "uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10" (identifier "uVar12") (= "=") (binary_expression "(uVar12 - iVar6) + 0x8000 >> 0x10" (binary_expression "(uVar12 - iVar6) + 0x8000" (parenthesized_expression "(uVar12 - iVar6)" (( "(") (binary_expression "uVar12 - iVar6" (identifier "uVar12") (- "-") (identifier "iVar6")) () ")")) (+ "+") (number_literal "0x8000")) (>> ">>") (number_literal "0x10"))) (; ";")) (if_statement "if (uVar12 == 0) {\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }\n          else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }" (if "if") (parenthesized_expression "(uVar12 == 0)" (( "(") (binary_expression "uVar12 == 0" (identifier "uVar12") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar12 = uVar13 + 0x817e0000;\n            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;\n            puVar10 = puVar14;\n          }" ({ "{") (expression_statement "uVar12 = uVar13 + 0x817e0000;" (assignment_expression "uVar12 = uVar13 + 0x817e0000" (identifier "uVar12") (= "=") (binary_expression "uVar13 + 0x817e0000" (identifier "uVar13") (+ "+") (number_literal "0x817e0000"))) (; ";")) (expression_statement "*puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18;" (assignment_expression "*puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18" (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) (= "=") (binary_expression "uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar13 << 0x18" (binary_expression "uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8" (binary_expression "uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8" (binary_expression "uVar12 >> 0x18" (identifier "uVar12") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar12 & 0xff0000) >> 8" (parenthesized_expression "(uVar12 & 0xff0000)" (( "(") (binary_expression "uVar12 & 0xff0000" (identifier "uVar12") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar12 & 0xff00) << 8" (parenthesized_expression "(uVar12 & 0xff00)" (( "(") (binary_expression "uVar12 & 0xff00" (identifier "uVar12") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar13 << 0x18" (identifier "uVar13") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "puVar10 = puVar14;" (assignment_expression "puVar10 = puVar14" (identifier "puVar10") (= "=") (identifier "puVar14")) (; ";")) (} "}")) (else_clause "else {\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }" (else "else") (compound_statement "{\n            uVar8 = uVar12 + 0x3d7e0000;\n            uVar9 = uVar13 + 0x816b0000;\n            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n            puVar10 = puVar14 + 1;\n            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;\n          }" ({ "{") (expression_statement "uVar8 = uVar12 + 0x3d7e0000;" (assignment_expression "uVar8 = uVar12 + 0x3d7e0000" (identifier "uVar8") (= "=") (binary_expression "uVar12 + 0x3d7e0000" (identifier "uVar12") (+ "+") (number_literal "0x3d7e0000"))) (; ";")) (expression_statement "uVar9 = uVar13 + 0x816b0000;" (assignment_expression "uVar9 = uVar13 + 0x816b0000" (identifier "uVar9") (= "=") (binary_expression "uVar13 + 0x816b0000" (identifier "uVar13") (+ "+") (number_literal "0x816b0000"))) (; ";")) (expression_statement "*puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18;" (assignment_expression "*puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18" (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) (= "=") (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                       uVar12 << 0x18" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8" (binary_expression "uVar8 >> 0x18" (identifier "uVar8") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar8 & 0xff0000) >> 8" (parenthesized_expression "(uVar8 & 0xff0000)" (( "(") (binary_expression "uVar8 & 0xff0000" (identifier "uVar8") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar8 & 0xff00) << 8" (parenthesized_expression "(uVar8 & 0xff00)" (( "(") (binary_expression "uVar8 & 0xff00" (identifier "uVar8") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar12 << 0x18" (identifier "uVar12") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "puVar10 = puVar14 + 1;" (assignment_expression "puVar10 = puVar14 + 1" (identifier "puVar10") (= "=") (binary_expression "puVar14 + 1" (identifier "puVar14") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18;" (assignment_expression "puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18" (subscript_expression "puVar14[1]" (identifier "puVar14") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                         uVar13 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" (( "(") (binary_expression "uVar9 & 0xff0000" (identifier "uVar9") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" (( "(") (binary_expression "uVar9 & 0xff00" (identifier "uVar9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar13 << 0x18" (identifier "uVar13") (<< "<<") (number_literal "0x18")))) (; ";")) (} "}")))) (} "}")))) (expression_statement "puVar10[1] = 0xa603697d;" (assignment_expression "puVar10[1] = 0xa603697d" (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0xa603697d")) (; ";")) (expression_statement "puVar10[2] = 0x2004804e;" (assignment_expression "puVar10[2] = 0x2004804e" (subscript_expression "puVar10[2]" (identifier "puVar10") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x2004804e")) (; ";")) (expression_statement "piVar11 = (int *)*piVar11;" (assignment_expression "piVar11 = (int *)*piVar11" (identifier "piVar11") (= "=") (cast_expression "(int *)*piVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar11" (* "*") (identifier "piVar11")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar11 != (int *)0x0)" (( "(") (binary_expression "piVar11 != (int *)0x0" (identifier "piVar11") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (expression_statement "iVar6 = DAT_004144e8;" (assignment_expression "iVar6 = DAT_004144e8" (identifier "iVar6") (= "=") (identifier "DAT_004144e8")) (; ";")) (for_statement "for (puVar2 = *(undefined4 **)(param_1 + 0x5c); puVar2 != (undefined4 *)0x0;\n        puVar2 = (undefined4 *)*puVar2) {\n      if (*(char *)(puVar2 + 3) == '\0') {\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    \n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }\n    }" (for "for") (( "(") (assignment_expression "puVar2 = *(undefined4 **)(param_1 + 0x5c)" (identifier "puVar2") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 0x5c)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x5c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x5c)" (( "(") (binary_expression "param_1 + 0x5c" (identifier "param_1") (+ "+") (number_literal "0x5c")) () ")"))))) (; ";") (binary_expression "puVar2 != (undefined4 *)0x0" (identifier "puVar2") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "puVar2 = (undefined4 *)*puVar2" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)*puVar2" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")))) () ")") (compound_statement "{\n      if (*(char *)(puVar2 + 3) == '\0') {\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    \n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }\n    }" ({ "{") (if_statement "if (*(char *)(puVar2 + 3) == '\0') {\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    \n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }" (if "if") (parenthesized_expression "(*(char *)(puVar2 + 3) == '\0')" (( "(") (binary_expression "*(char *)(puVar2 + 3) == '\0'" (pointer_expression "*(char *)(puVar2 + 3)" (* "*") (cast_expression "(char *)(puVar2 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 3)" (( "(") (binary_expression "puVar2 + 3" (identifier "puVar2") (+ "+") (number_literal "3")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);\n        iVar7 = *(int *)(iVar6 + 8);\n        if (iVar7 == 0) goto LAB_000655b6;\n        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);\n        if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }\n        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    \n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }\n        uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];\n        if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }\n        puVar10[1] = 0xa603897d;\n        puVar10[2] = 0x2004804e;\n      }" ({ "{") (expression_statement "puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);" (assignment_expression "puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4)" (identifier "puVar14") (= "=") (cast_expression "(uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4)" (( "(") (binary_expression "(int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4" (binary_expression "(int)__dest + *(int *)(param_1 + 0x74) + puVar2[4]" (binary_expression "(int)__dest + *(int *)(param_1 + 0x74)" (cast_expression "(int)__dest" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__dest")) (+ "+") (pointer_expression "*(int *)(param_1 + 0x74)" (* "*") (cast_expression "(int *)(param_1 + 0x74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x74)" (( "(") (binary_expression "param_1 + 0x74" (identifier "param_1") (+ "+") (number_literal "0x74")) () ")"))))) (+ "+") (subscript_expression "puVar2[4]" (identifier "puVar2") ([ "[") (number_literal "4") (] "]"))) (+ "+") (identifier "iVar4")) () ")")))) (; ";")) (expression_statement "iVar7 = *(int *)(iVar6 + 8);" (assignment_expression "iVar7 = *(int *)(iVar6 + 8)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar6 + 8)" (* "*") (cast_expression "(int *)(iVar6 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 8)" (( "(") (binary_expression "iVar6 + 8" (identifier "iVar6") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar7 == 0) goto LAB_000655b6;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000655b6;" (goto "goto") (statement_identifier "LAB_000655b6") (; ";"))) (expression_statement "uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);" (assignment_expression "uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f)" (identifier "uVar12") (= "=") (binary_expression "1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f)" (( "(") (binary_expression "(byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f" (binary_expression "(byte)*(undefined4 *)(iVar7 + 0x2b20)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x2b20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x2b20)" (( "(") (binary_expression "iVar7 + 0x2b20" (identifier "iVar7") (+ "+") (number_literal "0x2b20")) () ")")))) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if (uVar12 < 0x10) {\n          uVar12 = 0x10;\n        }" (if "if") (parenthesized_expression "(uVar12 < 0x10)" (( "(") (binary_expression "uVar12 < 0x10" (identifier "uVar12") (< "<") (number_literal "0x10")) () ")")) (compound_statement "{\n          uVar12 = 0x10;\n        }" ({ "{") (expression_statement "uVar12 = 0x10;" (assignment_expression "uVar12 = 0x10" (identifier "uVar12") (= "=") (number_literal "0x10")) (; ";")) (} "}"))) (if_statement "if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {\nLAB_00065211:\n                    \n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }" (if "if") (parenthesized_expression "((*(byte *)(param_1 + 0x1c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0x1c) & 1)" (( "(") (binary_expression "*(byte *)(param_1 + 0x1c) & 1" (pointer_expression "*(byte *)(param_1 + 0x1c)" (* "*") (cast_expression "(byte *)(param_1 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00065211:\n                    \n          FUN_000da200("../../gold/output.h",0xc5,"address");\n        }" ({ "{") (labeled_statement "LAB_00065211:\n                    \n          FUN_000da200("../../gold/output.h",0xc5,"address");" (statement_identifier "LAB_00065211") (: ":") (expression_statement "FUN_000da200("../../gold/output.h",0xc5,"address");" (call_expression "FUN_000da200("../../gold/output.h",0xc5,"address")" (identifier "FUN_000da200") (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 "uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4];" (assignment_expression "uVar12 = (puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4]" (identifier "uVar12") (= "=") (binary_expression "(puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))) - puVar2[4]" (parenthesized_expression "(puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74)))" (( "(") (binary_expression "puVar2[1] -\n                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))" (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]")) (- "-") (parenthesized_expression "((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74))" (( "(") (binary_expression "(-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +\n                 *(int *)(param_1 + 0x74)" (parenthesized_expression "(-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70))" (( "(") (binary_expression "-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)" (unary_expression "-uVar12" (- "-") (identifier "uVar12")) (& "&") (binary_expression "(uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)" (binary_expression "(uVar12 - 1) + *(int *)(param_1 + 4)" (parenthesized_expression "(uVar12 - 1)" (( "(") (binary_expression "uVar12 - 1" (identifier "uVar12") (- "-") (number_literal "1")) () ")")) (+ "+") (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (+ "+") (pointer_expression "*(int *)(param_1 + 0x70)" (* "*") (cast_expression "(int *)(param_1 + 0x70)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x70)" (( "(") (binary_expression "param_1 + 0x70" (identifier "param_1") (+ "+") (number_literal "0x70")) () ")")))))) () ")")) (+ "+") (pointer_expression "*(int *)(param_1 + 0x74)" (* "*") (cast_expression "(int *)(param_1 + 0x74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x74)" (( "(") (binary_expression "param_1 + 0x74" (identifier "param_1") (+ "+") (number_literal "0x74")) () ")"))))) () ")"))) () ")")) (- "-") (subscript_expression "puVar2[4]" (identifier "puVar2") ([ "[") (number_literal "4") (] "]")))) (; ";")) (if_statement "if (uVar12 + 0x2000000 < 0x4000000) {\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }\n        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }" (if "if") (parenthesized_expression "(uVar12 + 0x2000000 < 0x4000000)" (( "(") (binary_expression "uVar12 + 0x2000000 < 0x4000000" (binary_expression "uVar12 + 0x2000000" (identifier "uVar12") (+ "+") (number_literal "0x2000000")) (< "<") (number_literal "0x4000000")) () ")")) (compound_statement "{\n          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;\n          puVar10 = puVar14;\n        }" ({ "{") (expression_statement "*puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;" (assignment_expression "*puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18" (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) (= "=") (binary_expression "(uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18" (binary_expression "(uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |\n                     (uVar12 & 0xff00) << 8" (binary_expression "(uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8" (binary_expression "(uVar12 & 0x3000000 | 0x48000000) >> 0x18" (parenthesized_expression "(uVar12 & 0x3000000 | 0x48000000)" (( "(") (binary_expression "uVar12 & 0x3000000 | 0x48000000" (binary_expression "uVar12 & 0x3000000" (identifier "uVar12") (& "&") (number_literal "0x3000000")) (| "|") (number_literal "0x48000000")) () ")")) (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar12 & 0xff0000) >> 8" (parenthesized_expression "(uVar12 & 0xff0000)" (( "(") (binary_expression "uVar12 & 0xff0000" (identifier "uVar12") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar12 & 0xff00) << 8" (parenthesized_expression "(uVar12 & 0xff00)" (( "(") (binary_expression "uVar12 & 0xff00" (identifier "uVar12") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar12 & 0xfc) << 0x18" (parenthesized_expression "(uVar12 & 0xfc)" (( "(") (binary_expression "uVar12 & 0xfc" (identifier "uVar12") (& "&") (number_literal "0xfc")) () ")")) (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "puVar10 = puVar14;" (assignment_expression "puVar10 = puVar14" (identifier "puVar10") (= "=") (identifier "puVar14")) (; ";")) (} "}")) (else_clause "else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }" (else "else") (if_statement "if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }\n        else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }" (if "if") (parenthesized_expression "((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0'))" (( "(") (binary_expression "(*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')" (parenthesized_expression "(*(char *)(iVar7 + 0x1a25) == '\0')" (( "(") (binary_expression "*(char *)(iVar7 + 0x1a25) == '\0'" (pointer_expression "*(char *)(iVar7 + 0x1a25)" (* "*") (cast_expression "(char *)(iVar7 + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1a25)" (( "(") (binary_expression "iVar7 + 0x1a25" (identifier "iVar7") (+ "+") (number_literal "0x1a25")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(iVar7 + 0x2931) == '\0')" (( "(") (binary_expression "*(char *)(iVar7 + 0x2931) == '\0'" (pointer_expression "*(char *)(iVar7 + 0x2931)" (* "*") (cast_expression "(char *)(iVar7 + 0x2931)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x2931)" (( "(") (binary_expression "iVar7 + 0x2931" (identifier "iVar7") (+ "+") (number_literal "0x2931")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n          puVar10 = puVar14 + 1;\n          uVar12 = puVar2[1] + 0x8000 >> 0x10;\n          uVar13 = uVar12 + 0x3d800000;\n          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;\n          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;\n          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;\n        }" ({ "{") (expression_statement "puVar10 = puVar14 + 1;" (assignment_expression "puVar10 = puVar14 + 1" (identifier "puVar10") (= "=") (binary_expression "puVar14 + 1" (identifier "puVar14") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar12 = puVar2[1] + 0x8000 >> 0x10;" (assignment_expression "uVar12 = puVar2[1] + 0x8000 >> 0x10" (identifier "uVar12") (= "=") (binary_expression "puVar2[1] + 0x8000 >> 0x10" (binary_expression "puVar2[1] + 0x8000" (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x8000")) (>> ">>") (number_literal "0x10"))) (; ";")) (expression_statement "uVar13 = uVar12 + 0x3d800000;" (assignment_expression "uVar13 = uVar12 + 0x3d800000" (identifier "uVar13") (= "=") (binary_expression "uVar12 + 0x3d800000" (identifier "uVar12") (+ "+") (number_literal "0x3d800000"))) (; ";")) (expression_statement "*puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18;" (assignment_expression "*puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18" (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) (= "=") (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                     uVar12 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" (identifier "uVar13") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" (( "(") (binary_expression "uVar13 & 0xff0000" (identifier "uVar13") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" (( "(") (binary_expression "uVar13 & 0xff00" (identifier "uVar13") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar12 << 0x18" (identifier "uVar12") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;" (assignment_expression "uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000" (identifier "uVar12") (= "=") (binary_expression "*(ushort *)(puVar2 + 1) + 0x398c0000" (pointer_expression "*(ushort *)(puVar2 + 1)" (* "*") (cast_expression "(ushort *)(puVar2 + 1)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 1)" (( "(") (binary_expression "puVar2 + 1" (identifier "puVar2") (+ "+") (number_literal "1")) () ")")))) (+ "+") (number_literal "0x398c0000"))) (; ";")) (expression_statement "*puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18;" (assignment_expression "*puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18" (pointer_expression "*puVar10" (* "*") (identifier "puVar10")) (= "=") (binary_expression "uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                     (uint)*(ushort *)(puVar2 + 1) << 0x18" (binary_expression "uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8" (binary_expression "uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8" (binary_expression "uVar12 >> 0x18" (identifier "uVar12") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar12 & 0xff0000) >> 8" (parenthesized_expression "(uVar12 & 0xff0000)" (( "(") (binary_expression "uVar12 & 0xff0000" (identifier "uVar12") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar12 & 0xff00) << 8" (parenthesized_expression "(uVar12 & 0xff00)" (( "(") (binary_expression "uVar12 & 0xff00" (identifier "uVar12") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uint)*(ushort *)(puVar2 + 1) << 0x18" (binary_expression "(uint)*(ushort *)(puVar2 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)(puVar2 + 1)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 1)" (( "(") (binary_expression "puVar2 + 1" (identifier "puVar2") (+ "+") (number_literal "1")) () ")")))) (<< "<<") (number_literal "0x18")))) (; ";")) (} "}")) (else_clause "else {\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }" (else "else") (compound_statement "{\n          *puVar14 = 0xa602087c;\n          puVar10 = puVar14 + 5;\n          uVar8 = uVar12 + 0x7ff8 >> 0x10;\n          uVar12 = uVar12 - 8 & 0xffff;\n          puVar14[1] = 0x5009f42;\n          uVar9 = uVar8 + 0x3d8c0000;\n          uVar13 = uVar12 + 0x398c0000;\n          puVar14[2] = 0xa602887d;\n          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;\n          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;\n          *puVar10 = 0xa603087c;\n        }" ({ "{") (expression_statement "*puVar14 = 0xa602087c;" (assignment_expression "*puVar14 = 0xa602087c" (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) (= "=") (number_literal "0xa602087c")) (; ";")) (expression_statement "puVar10 = puVar14 + 5;" (assignment_expression "puVar10 = puVar14 + 5" (identifier "puVar10") (= "=") (binary_expression "puVar14 + 5" (identifier "puVar14") (+ "+") (number_literal "5"))) (; ";")) (expression_statement "uVar8 = uVar12 + 0x7ff8 >> 0x10;" (assignment_expression "uVar8 = uVar12 + 0x7ff8 >> 0x10" (identifier "uVar8") (= "=") (binary_expression "uVar12 + 0x7ff8 >> 0x10" (binary_expression "uVar12 + 0x7ff8" (identifier "uVar12") (+ "+") (number_literal "0x7ff8")) (>> ">>") (number_literal "0x10"))) (; ";")) (expression_statement "uVar12 = uVar12 - 8 & 0xffff;" (assignment_expression "uVar12 = uVar12 - 8 & 0xffff" (identifier "uVar12") (= "=") (binary_expression "uVar12 - 8 & 0xffff" (binary_expression "uVar12 - 8" (identifier "uVar12") (- "-") (number_literal "8")) (& "&") (number_literal "0xffff"))) (; ";")) (expression_statement "puVar14[1] = 0x5009f42;" (assignment_expression "puVar14[1] = 0x5009f42" (subscript_expression "puVar14[1]" (identifier "puVar14") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0x5009f42")) (; ";")) (expression_statement "uVar9 = uVar8 + 0x3d8c0000;" (assignment_expression "uVar9 = uVar8 + 0x3d8c0000" (identifier "uVar9") (= "=") (binary_expression "uVar8 + 0x3d8c0000" (identifier "uVar8") (+ "+") (number_literal "0x3d8c0000"))) (; ";")) (expression_statement "uVar13 = uVar12 + 0x398c0000;" (assignment_expression "uVar13 = uVar12 + 0x398c0000" (identifier "uVar13") (= "=") (binary_expression "uVar12 + 0x398c0000" (identifier "uVar12") (+ "+") (number_literal "0x398c0000"))) (; ";")) (expression_statement "puVar14[2] = 0xa602887d;" (assignment_expression "puVar14[2] = 0xa602887d" (subscript_expression "puVar14[2]" (identifier "puVar14") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0xa602887d")) (; ";")) (expression_statement "puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18;" (assignment_expression "puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18" (subscript_expression "puVar14[3]" (identifier "puVar14") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar8 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" (( "(") (binary_expression "uVar9 & 0xff0000" (identifier "uVar9") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" (( "(") (binary_expression "uVar9 & 0xff00" (identifier "uVar9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar8 << 0x18" (identifier "uVar8") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18;" (assignment_expression "puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18" (subscript_expression "puVar14[4]" (identifier "puVar14") ([ "[") (number_literal "4") (] "]")) (= "=") (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |\n                       uVar12 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" (identifier "uVar13") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" (( "(") (binary_expression "uVar13 & 0xff0000" (identifier "uVar13") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" (( "(") (binary_expression "uVar13 & 0xff00" (identifier "uVar13") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar12 << 0x18" (identifier "uVar12") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "*puVar10 = 0xa603087c;" (assignment_expression "*puVar10 = 0xa603087c" (pointer_expression "*puVar10" (* "*") (identifier "puVar10")) (= "=") (number_literal "0xa603087c")) (; ";")) (} "}")))))) (expression_statement "puVar10[1] = 0xa603897d;" (assignment_expression "puVar10[1] = 0xa603897d" (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0xa603897d")) (; ";")) (expression_statement "puVar10[2] = 0x2004804e;" (assignment_expression "puVar10[2] = 0x2004804e" (subscript_expression "puVar10[2]" (identifier "puVar10") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x2004804e")) (; ";")) (} "}"))) (} "}"))) (if_statement "if (*(char *)(param_1 + 0x88) != '\0') {\n      __dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4);\n      iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) goto LAB_0006566c;\n      memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc));\n    }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x88) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x88) != '\0'" (pointer_expression "*(char *)(param_1 + 0x88)" (* "*") (cast_expression "(char *)(param_1 + 0x88)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x88)" (( "(") (binary_expression "param_1 + 0x88" (identifier "param_1") (+ "+") (number_literal "0x88")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      __dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4);\n      iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) goto LAB_0006566c;\n      memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc));\n    }" ({ "{") (expression_statement "__dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4);" (assignment_expression "__dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4)" (identifier "__dest") (= "=") (cast_expression "(void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4)" (( "(") (binary_expression "(int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4" (binary_expression "(int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c)" (binary_expression "(int)__dest + *(int *)(param_1 + 0x74)" (cast_expression "(int)__dest" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__dest")) (+ "+") (pointer_expression "*(int *)(param_1 + 0x74)" (* "*") (cast_expression "(int *)(param_1 + 0x74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x74)" (( "(") (binary_expression "param_1 + 0x74" (identifier "param_1") (+ "+") (number_literal "0x74")) () ")"))))) (+ "+") (pointer_expression "*(int *)(param_1 + 0x7c)" (* "*") (cast_expression "(int *)(param_1 + 0x7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x7c)" (( "(") (binary_expression "param_1 + 0x7c" (identifier "param_1") (+ "+") (number_literal "0x7c")) () ")"))))) (+ "+") (identifier "iVar4")) () ")")))) (; ";")) (expression_statement "iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);" (assignment_expression "iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(*(int *)(param_1 + 0x34) + 0xac)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x34) + 0xac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0xac)" (( "(") (binary_expression "*(int *)(param_1 + 0x34) + 0xac" (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (number_literal "0xac")) () ")"))))) (; ";")) (if_statement "if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) goto LAB_0006566c;" (if "if") (parenthesized_expression "((*(byte *)(iVar4 + 0x1c) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(iVar4 + 0x1c) & 2) == 0" (parenthesized_expression "(*(byte *)(iVar4 + 0x1c) & 2)" (( "(") (binary_expression "*(byte *)(iVar4 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar4 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar4 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1c)" (( "(") (binary_expression "iVar4 + 0x1c" (identifier "iVar4") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0006566c;" (goto "goto") (statement_identifier "LAB_0006566c") (; ";"))) (expression_statement "memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc));" (call_expression "memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc))" (identifier "memcpy") (argument_list "(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc))" (( "(") (identifier "__dest") (, ",") (pointer_expression "*(void **)(iVar4 + 0x2c)" (* "*") (cast_expression "(void **)(iVar4 + 0x2c)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x2c)" (( "(") (binary_expression "iVar4 + 0x2c" (identifier "iVar4") (+ "+") (number_literal "0x2c")) () ")")))) (, ",") (pointer_expression "*(size_t *)(iVar4 + 0xc)" (* "*") (cast_expression "(size_t *)(iVar4 + 0xc)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")")))) () ")"))) (; ";")) (} "}"))) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Type propagation algorithm not settling */
/* 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(Stub_table<32,_true> * this, Output_file * of) */

void __thiscall
anon_unknown.dwarf_2af53c::var_7<32,var_21>::do_write
          (var_7<32,var_21> *this,Output_file *of)

{
  size_type var_5;
  var_1<32,var_21> *pTVar2;
  type_1 *var_27;
  type_2 *var_22;
  var_2<32,var_21> *pOVar5;
  var_3<32,var_21> *var_32;
  type_3 *var_19;
  type_3 *var_33;
  type_3 *var_34;
  int var_16;
  type_4 *pPVar11;
  bool bVar12;
  type_5 *var_26;
  int var_14;
  type_3 *var_18;
  type_6 var_11;
  type_6 var_30;
  var_4<32,var_21> *var_20;
  type_6 *var_28;
  type_3 *var_17;
  type_6 var_10;
  type_6 var_13;
  type_6 *var_29;
  var_1<32,var_21> *in_stack_ffffffa4;
  int var_31;
  bool var_24;
  
  var_5 = (this->plt_call_stubs_)._M_h._M_element_count;
  if ((var_5 != 0) || ((this->long_branch_stubs_)._M_h._M_element_count != 0)) {
    if ((this->field_0x1c & 4) == 0) {
                    /* WARNING: Subroutine does not return */
      gold::var_6("../../gold/output.h",0xe3,"offset");
    }
    if (gold::parameters->options_ == (type_2 *)0x0) {
LAB_000655b6:
                    /* WARNING: Subroutine does not return */
      var_7<64,var_8>::var_9((var_7<64,var_8> *)in_stack_ffffffa4);
    }
    var_10 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);
    if (var_10 < 0x10) {
      var_10 = 0x10;
    }
    var_10 = (var_10 - 1) + this->orig_data_size_ + *(int *)&this->field_0x14 & -var_10;
    if ((this->field_0x1c & 2) == 0) {
LAB_0006566c:
                    /* WARNING: Subroutine does not return */
      gold::var_6("../../gold/output.h",0xcf,"data_size");
    }
    var_11 = var_10 - *(int *)&this->field_0x14;
    var_13 = *(type_6 *)&this->field_0xc - var_11;
    if (*(type_6 *)&this->field_0x10 != (type_6)(*(type_6 *)&this->field_0xc < var_11)) {
                    /* WARNING: Subroutine does not return */
      gold::var_6("../../gold/gold.h",0xc0,"convert_types");
    }
    var_11 = (type_6)var_12(var_10,var_13);
    var_14 = *(int *)((int)&of->file_size_ + 4);
    var_13 = (type_6)((type_6)of->file_size_ < var_10 + var_13);
    var_16 = var_14 - var_11;
    if ((var_15(var_14,var_11) != var_15(var_16,var_13)) != (int)(var_16 - var_13) < 0) {
                    /* WARNING: Subroutine does not return */
      gold::var_6("../../gold/output.h",0x6f,"get_output_view");
    }
    var_26 = of->base_ + var_10;
    if ((var_5 != 0) &&
       (var_17 = (this->plt_call_stubs_)._M_h._M_before_begin._M_nxt,
       var_17 != (type_3 *)0x0)) {
      var_31 = -1;
      do {
        var_18 = var_17[1]._M_nxt;
        pTVar2 = this->targ_;
        if (var_18 == (type_3 *)0x0) {
          var_18 = var_17[2]._M_nxt;
          var_19 = var_17[4]._M_nxt;
          if ((type_3 *)((int)var_18[0x38]._M_nxt - (int)var_18[0x37]._M_nxt >> 4) <=
              var_19) {
                    /* WARNING: Subroutine does not return */
            gold::var_6("../../gold/object.h",0x8c1,"local_symbol");
          }
          if (((type_6)var_18[0x37]._M_nxt[(int)var_19 * 4 + 2]._M_nxt & 0x40000000) == 0) {
            var_20 = pTVar2->lplt_;
          }
          else {
            var_20 = pTVar2->iplt_;
            if (var_20 == (var_4<32,var_21> *)0x0) {
                    /* WARNING: Subroutine does not return */
              gold::var_6("../../gold/powerpc.cc",0x372,"iplt_section");
            }
          }
          var_18 = (type_3 *)(*(type_7 *)var_18->_M_nxt[0x2a]._M_nxt)(var_18,var_19);
        }
        else {
          if (((type_6)var_18[10]._M_nxt & 0xf) == 10) {
            if (((type_6)var_18[10]._M_nxt & 0x70000) == 0) goto LAB_00065520;
            if (((type_6)var_18[10]._M_nxt & 0x70000) != 0x40000) {
              do {
                if ((((type_6)var_18[10]._M_nxt & 0x300) == 0) &&
                   (((type_6)var_18[10]._M_nxt & 0x10000000) == 0)) {
                  var_22 = gold::parameters->options_;
                  if (var_22 == (type_2 *)0x0) goto LAB_000655f9;
                  if ((var_22->shared_).value != false) {
                    bVar12 = gold::Version_script_info::var_23
                                       (&(var_22->dynamic_list_).version_script_info_,
                                        (char *)var_18->_M_nxt,(type_8 *)0x0,&var_24);
                    if ((bVar12) && (var_24 == false)) break;
                    var_22 = gold::parameters->options_;
                    if (var_22 == (type_2 *)0x0) goto LAB_000655f9;
                    if (((var_22->Bsymbolic_).value == false) &&
                       ((((type_6)var_18[10]._M_nxt & 0xf) == 1 ||
                        ((var_22->Bsymbolic_functions_).value == false)))) break;
                  }
                }
                var_20 = pTVar2->iplt_;
                if (var_20 != (var_4<32,var_21> *)0x0) goto LAB_000650dd;
                var_1<32,var_21>::var_25(in_stack_ffffffa4);
LAB_00065520:
                if ((((type_6)var_18[2]._M_nxt[0xb]._M_nxt & 1) != 0) ||
                   ((var_18[3]._M_nxt == (type_3 *)0x0 &&
                    (((type_6)var_18[10]._M_nxt & 0x20000000) != 0)))) break;
              } while( true );
            }
          }
          var_20 = pTVar2->plt_;
          if (var_20 == (var_4<32,var_21> *)0x0) {
                    /* WARNING: Subroutine does not return */
            gold::var_6("../../gold/powerpc.cc",0x36a,"plt_section");
          }
LAB_000650dd:
          var_18 = var_18[6]._M_nxt;
          if (var_18 == (type_3 *)0xffffffff) {
                    /* WARNING: Subroutine does not return */
            gold::var_6("../../gold/symtab.h",0x1ce,"plt_offset");
          }
        }
        if (((var_20->super_Output_section_data_build).super_Output_section_data.super_Output_data.
             field_0x1c & 1) == 0) goto LAB_00065211;
        var_10 = (int)&var_18->_M_nxt +
                 (int)(var_20->super_Output_section_data_build).super_Output_section_data.
                      super_Output_data.address_;
        var_28 = (type_6 *)(var_26 + (int)var_17[5]._M_nxt);
        var_27 = this->targ_->tls_get_addr_opt_;
        var_29 = var_28;
        if ((var_27 != (type_1 *)0x0) &&
           ((this->targ_->tls_get_addr_ == (type_1 *)var_17[1]._M_nxt ||
            ((type_1 *)var_17[1]._M_nxt == var_27)))) {
          *var_28 = 0x6381;
          var_29 = var_28 + 8;
          var_28[1] = 0x4008381;
          var_28[2] = 0x781b607c;
          var_28[3] = 0xb2c;
          var_28[4] = 0x14126c7c;
          var_28[5] = 0x2000824d;
          var_28[6] = 0x7803037c;
          var_28[7] = 0x60;
        }
        var_22 = gold::parameters->options_;
        if (var_22 == (type_2 *)0x0) {
LAB_000655f9:
                    /* WARNING: Subroutine does not return */
          gold::var_6("../../gold/parameters.h",0x5c,"options");
        }
        if (((var_22->shared_).value == false) && ((var_22->pie_).value == false)) {
          var_28 = var_29 + 1;
          var_11 = var_10 + 0x8000 >> 0x10;
          var_30 = (var_10 & 0xffff) + 0x816b0000;
          var_13 = var_11 + 0x3d600000;
          var_29[1] = var_30 >> 0x18 | (var_30 & 0xff0000) >> 8 | (var_30 & 0xff00) << 8 |
                       (var_10 & 0xffff) << 0x18;
          *var_29 = var_13 >> 0x18 | (var_13 & 0xff0000) >> 8 | (var_13 & 0xff00) << 8 |
                     var_11 << 0x18;
        }
        else {
          var_18 = var_17[2]._M_nxt;
          if ((var_18 == (type_3 *)0x0) || (var_17[3]._M_nxt < (type_3 *)0x8000)
             ) {
            var_14 = var_31;
            if (var_31 == -1) {
              var_32 = this->targ_->got_;
              if (var_32 == (var_3<32,var_21> *)0x0) {
                    /* WARNING: Subroutine does not return */
                gold::var_6("../../gold/powerpc.cc",0x3ae,"got_section");
              }
              if (((var_32->super_Output_data_got<32,var_21>).super_Output_data_got_base.
                   super_Output_section_data_build.super_Output_section_data.super_Output_data.
                   field_0x1c & 1) == 0) goto LAB_00065211;
              var_14 = (int)(var_32->super_Output_data_got<32,var_21>).super_Output_data_got_base.
                            super_Output_section_data_build.super_Output_section_data.
                            super_Output_data.address_ + var_32->header_index_ * 4;
              var_31 = var_14;
            }
          }
          else {
            var_19 = var_18[0x50]._M_nxt;
            if ((type_3 *)((int)var_18[0x22]._M_nxt - (int)var_18[0x21]._M_nxt >> 2) <=
                var_19) {
                    /* WARNING: Subroutine does not return */
              gold::var_6("../../gold/object.h",0x7f7,"get_output_section_offset");
            }
            var_33 = var_18[0x21]._M_nxt[(int)var_19]._M_nxt;
            if (var_33 == (type_3 *)0xffffffff) {
                    /* WARNING: Subroutine does not return */
              gold::var_6("../../gold/powerpc.cc",0x1633,"do_write");
            }
            var_34 = var_18->_M_nxt[0x18]._M_nxt;
            if (var_34 == (type_3 *)gold::Relobj::do_output_section) {
              if ((type_3 *)((int)var_18[0xf]._M_nxt - (int)var_18[0xe]._M_nxt >> 2) <=
                  var_19) {
                    /* WARNING: Subroutine does not return */
                gold::var_6("../../gold/object.h",0x5c8,"do_output_section");
              }
              var_18 = var_18[0xe]._M_nxt[(int)var_19]._M_nxt;
            }
            else {
              var_18 = (type_3 *)(*(type_7 *)var_34)(var_18,var_19);
            }
            if (((type_6)var_18[7]._M_nxt & 1) == 0) goto LAB_00065211;
            var_14 = (int)&var_33->_M_nxt +
                     (int)&(var_18[1]._M_nxt)->_M_nxt + (int)&(var_17[3]._M_nxt)->_M_nxt;
          }
          var_11 = var_10 - var_14 & 0xffff;
          var_10 = (var_10 - var_14) + 0x8000 >> 0x10;
          if (var_10 == 0) {
            var_10 = var_11 + 0x817e0000;
            *var_29 = var_10 >> 0x18 | (var_10 & 0xff0000) >> 8 | (var_10 & 0xff00) << 8 |
                       var_11 << 0x18;
            var_28 = var_29;
          }
          else {
            var_13 = var_10 + 0x3d7e0000;
            var_30 = var_11 + 0x816b0000;
            *var_29 = var_13 >> 0x18 | (var_13 & 0xff0000) >> 8 | (var_13 & 0xff00) << 8 |
                       var_10 << 0x18;
            var_28 = var_29 + 1;
            var_29[1] = var_30 >> 0x18 | (var_30 & 0xff0000) >> 8 | (var_30 & 0xff00) << 8 |
                         var_11 << 0x18;
          }
        }
        var_28[1] = 0xa603697d;
        var_28[2] = 0x2004804e;
        var_17 = var_17->_M_nxt;
      } while (var_17 != (type_3 *)0x0);
    }
    pPVar11 = gold::parameters;
    for (var_17 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;
        var_17 != (type_3 *)0x0; var_17 = var_17->_M_nxt) {
      if (*(char *)&var_17[3]._M_nxt == '\0') {
        var_29 = (type_6 *)(var_26 + (int)&(var_17[4]._M_nxt)->_M_nxt + this->plt_size_);
        var_22 = pPVar11->options_;
        if (var_22 == (type_2 *)0x0) goto LAB_000655b6;
        var_10 = 1 << ((byte)(var_22->plt_align_).value & 0x1f);
        if (var_10 < 0x10) {
          var_10 = 0x10;
        }
        if ((this->field_0x1c & 1) == 0) {
LAB_00065211:
                    /* WARNING: Subroutine does not return */
          gold::var_6("../../gold/output.h",0xc5,"address");
        }
        var_10 = (int)var_17[1]._M_nxt +
                 (-(int)var_17[4]._M_nxt -
                 ((-var_10 & (var_10 - 1) + *(int *)&this->field_0x4 + this->orig_data_size_) +
                 this->plt_size_));
        if (var_10 + 0x2000000 < 0x4000000) {
          *var_29 = (var_10 & 0x3000000 | 0x48000000) >> 0x18 | (var_10 & 0xff0000) >> 8 |
                     (var_10 & 0xff00) << 8 | (var_10 & 0xfc) << 0x18;
          var_28 = var_29;
        }
        else if (((var_22->shared_).value == false) && ((var_22->pie_).value == false)) {
          var_28 = var_29 + 1;
          var_10 = (type_6)(var_17[1]._M_nxt + 0x2000) >> 0x10;
          var_11 = var_10 + 0x3d800000;
          *var_29 = var_11 >> 0x18 | (var_11 & 0xff0000) >> 8 | (var_11 & 0xff00) << 8 |
                     var_10 << 0x18;
          var_10 = *(type_9 *)&var_17[1]._M_nxt + 0x398c0000;
          *var_28 = var_10 >> 0x18 | (var_10 & 0xff0000) >> 8 | (var_10 & 0xff00) << 8 |
                     (type_6)*(type_9 *)&var_17[1]._M_nxt << 0x18;
        }
        else {
          *var_29 = 0xa602087c;
          var_28 = var_29 + 5;
          var_13 = var_10 + 0x7ff8 >> 0x10;
          var_10 = var_10 - 8 & 0xffff;
          var_29[1] = 0x5009f42;
          var_30 = var_13 + 0x3d8c0000;
          var_11 = var_10 + 0x398c0000;
          var_29[2] = 0xa602887d;
          var_29[3] = var_30 >> 0x18 | (var_30 & 0xff0000) >> 8 | (var_30 & 0xff00) << 8 |
                       var_13 << 0x18;
          var_29[4] = var_11 >> 0x18 | (var_11 & 0xff0000) >> 8 | (var_11 & 0xff00) << 8 |
                       var_10 << 0x18;
          *var_28 = 0xa603087c;
        }
        var_28[1] = 0xa603897d;
        var_28[2] = 0x2004804e;
      }
    }
    if (this->need_save_res_ != false) {
      pOVar5 = this->targ_->savres_section_;
      if ((pOVar5->field_0x1c & 2) == 0) goto LAB_0006566c;
      var_35(var_26 + this->plt_size_ + this->branch_size_,pOVar5->contents_,
             *(size_t *)&pOVar5->field_0xc);
    }
  }
  return;
}


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

/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

void MASKED(int param_1,int param_2)

{
  byte bVar1;
  undefined4 *puVar2;
  int *piVar3;
  int iVar4;
  char cVar5;
  void *__dest;
  int iVar6;
  int iVar7;
  uint uVar8;
  uint uVar9;
  uint *puVar10;
  int *piVar11;
  uint uVar12;
  uint uVar13;
  uint *puVar14;
  int local_40;
  char local_1d [13];
  
  if ((*(int *)(param_1 + 0x44) != 0) || (*(int *)(param_1 + 0x60) != 0)) {
    bVar1 = *(byte *)(param_1 + 0x1c);
    if ((bVar1 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_000da200("../../gold/output.h",0xe3,"offset",bVar1);
    }
    if (*(int *)(DAT_004144e8 + 8) == 0) {
LAB_000655b6:
                    /* WARNING: Subroutine does not return */
      FUN_00052750();
    }
    uVar12 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_004144e8 + 8) + 0x2b20) & 0x1f);
    if (uVar12 < 0x10) {
      uVar12 = 0x10;
    }
    __dest = (void *)((uVar12 - 1) + *(int *)(param_1 + 0x70) + *(int *)(param_1 + 0x14) & -uVar12);
    if ((bVar1 & 2) == 0) {
LAB_0006566c:
                    /* WARNING: Subroutine does not return */
      FUN_000da200("../../gold/output.h",0xcf,"data_size",__dest);
    }
    uVar12 = (int)__dest - *(int *)(param_1 + 0x14);
    uVar13 = *(uint *)(param_1 + 0xc) - uVar12;
    if (*(uint *)(param_1 + 0x10) != (uint)(*(uint *)(param_1 + 0xc) < uVar12)) {
                    /* WARNING: Subroutine does not return */
      FUN_000da200("../../gold/gold.h",0xc0,"convert_types",__dest);
    }
    uVar12 = (uint)CARRY4((uint)__dest,uVar13);
    uVar13 = (uint)(*(uint *)(param_2 + 8) < (int)__dest + uVar13);
    iVar4 = *(int *)(param_2 + 0xc) - uVar12;
    if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar4,uVar13)) !=
        (int)(iVar4 - uVar13) < 0) {
                    /* WARNING: Subroutine does not return */
      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",__dest);
    }
    iVar4 = *(int *)(param_2 + 0x10);
    if ((*(int *)(param_1 + 0x44) != 0) &&
       (piVar11 = *(int **)(param_1 + 0x40), piVar11 != (int *)0x0)) {
      local_40 = -1;
      do {
        puVar2 = (undefined4 *)piVar11[1];
        iVar6 = *(int *)(param_1 + 0x34);
        if (puVar2 == (undefined4 *)0x0) {
          piVar3 = (int *)piVar11[2];
          uVar12 = piVar11[4];
          if ((uint)(piVar3[0x38] - piVar3[0x37] >> 4) <= uVar12) {
                    /* WARNING: Subroutine does not return */
            FUN_000da200("../../gold/object.h",0x8c1,"local_symbol",iVar6);
          }
          if ((*(byte *)(piVar3[0x37] + 0xb + uVar12 * 0x10) & 0x40) == 0) {
            iVar7 = *(int *)(iVar6 + 0x20);
          }
          else {
            iVar7 = *(int *)(iVar6 + 0x1c);
            if (iVar7 == 0) {
                    /* WARNING: Subroutine does not return */
              FUN_000da200("../../gold/powerpc.cc",0x372,"iplt_section",0);
            }
          }
          iVar6 = (**(code **)(*piVar3 + 0xa8))(piVar3,uVar12);
        }
        else {
          if ((*(byte *)(puVar2 + 10) & 0xf) == 10) {
            if ((*(byte *)((int)puVar2 + 0x2a) & 7) == 0) goto LAB_00065520;
            if ((*(byte *)((int)puVar2 + 0x2a) & 7) != 4) {
              do {
                if (((*(byte *)((int)puVar2 + 0x29) & 3) == 0) &&
                   ((*(byte *)((int)puVar2 + 0x2b) & 0x10) == 0)) {
                  iVar7 = *(int *)(DAT_004144e8 + 8);
                  if (iVar7 == 0) goto LAB_000655f9;
                  if (*(char *)(iVar7 + 0x1a25) != '\0') {
                    cVar5 = FUN_001dd670(iVar7 + 0x59a8,*puVar2,0,local_1d);
                    if ((cVar5 != '\0') && (local_1d[0] == '\0')) break;
                    iVar7 = *(int *)(DAT_004144e8 + 8);
                    if (iVar7 == 0) goto LAB_000655f9;
                    if ((*(char *)(iVar7 + 0x825) == '\0') &&
                       (((*(byte *)(puVar2 + 10) & 0xf) == 1 || (*(char *)(iVar7 + 0x8a1) == '\0')))
                       ) break;
                  }
                }
                iVar7 = *(int *)(iVar6 + 0x1c);
                if (iVar7 != 0) goto LAB_000650dd;
                FUN_000522c0();
LAB_00065520:
                if (((*(byte *)(puVar2[2] + 0x2c) & 1) != 0) ||
                   ((puVar2[3] == 0 && ((*(byte *)((int)puVar2 + 0x2b) & 0x20) != 0)))) break;
              } while( true );
            }
          }
          iVar7 = *(int *)(iVar6 + 0x18);
          if (iVar7 == 0) {
                    /* WARNING: Subroutine does not return */
            FUN_000da200("../../gold/powerpc.cc",0x36a,"plt_section");
          }
LAB_000650dd:
          iVar6 = puVar2[6];
          if (iVar6 == -1) {
                    /* WARNING: Subroutine does not return */
            FUN_000da200("../../gold/symtab.h",0x1ce,"plt_offset");
          }
        }
        if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;
        uVar12 = iVar6 + *(int *)(iVar7 + 4);
        puVar10 = (uint *)((int)__dest + piVar11[5] + iVar4);
        iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0xb4);
        puVar14 = puVar10;
        if ((iVar6 != 0) &&
           ((*(int *)(*(int *)(param_1 + 0x34) + 0xb0) == piVar11[1] || (piVar11[1] == iVar6)))) {
          *puVar10 = 0x6381;
          puVar14 = puVar10 + 8;
          puVar10[1] = 0x4008381;
          puVar10[2] = 0x781b607c;
          puVar10[3] = 0xb2c;
          puVar10[4] = 0x14126c7c;
          puVar10[5] = 0x2000824d;
          puVar10[6] = 0x7803037c;
          puVar10[7] = 0x60;
        }
        iVar6 = *(int *)(DAT_004144e8 + 8);
        if (iVar6 == 0) {
LAB_000655f9:
                    /* WARNING: Subroutine does not return */
          FUN_000da200("../../gold/parameters.h",0x5c,"options");
        }
        if ((*(char *)(iVar6 + 0x1a25) == '\0') && (*(char *)(iVar6 + 0x2931) == '\0')) {
          puVar10 = puVar14 + 1;
          uVar13 = uVar12 + 0x8000 >> 0x10;
          uVar9 = (uVar12 & 0xffff) + 0x816b0000;
          uVar8 = uVar13 + 0x3d600000;
          puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |
                       (uVar12 & 0xffff) << 0x18;
          *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |
                     uVar13 << 0x18;
        }
        else {
          piVar3 = (int *)piVar11[2];
          if ((piVar3 == (int *)0x0) || ((uint)piVar11[3] < 0x8000)) {
            iVar6 = local_40;
            if (local_40 == -1) {
              iVar6 = *(int *)(*(int *)(param_1 + 0x34) + 0x14);
              if (iVar6 == 0) {
                    /* WARNING: Subroutine does not return */
                FUN_000da200("../../gold/powerpc.cc",0x3ae,"got_section",0);
              }
              if ((*(byte *)(iVar6 + 0x1c) & 1) == 0) goto LAB_00065211;
              iVar6 = *(int *)(iVar6 + 4) + *(int *)(iVar6 + 0x68) * 4;
              local_40 = iVar6;
            }
          }
          else {
            uVar13 = piVar3[0x50];
            if ((uint)(piVar3[0x22] - piVar3[0x21] >> 2) <= uVar13) {
                    /* WARNING: Subroutine does not return */
              FUN_000da200("../../gold/object.h",0x7f7,"get_output_section_offset",puVar14);
            }
            iVar6 = *(int *)(piVar3[0x21] + uVar13 * 4);
            if (iVar6 == -1) {
                    /* WARNING: Subroutine does not return */
              FUN_000da200("../../gold/powerpc.cc",0x1633,"do_write",uVar13);
            }
            if (*(code **)(*piVar3 + 0x60) == FUN_000a5850) {
              iVar7 = piVar3[0xe];
              if ((uint)(piVar3[0xf] - iVar7 >> 2) <= uVar13) {
                    /* WARNING: Subroutine does not return */
                FUN_000da200("../../gold/object.h",0x5c8,"do_output_section",iVar7);
              }
              iVar7 = *(int *)(iVar7 + uVar13 * 4);
            }
            else {
              iVar7 = (**(code **)(*piVar3 + 0x60))(piVar3,uVar13);
            }
            if ((*(byte *)(iVar7 + 0x1c) & 1) == 0) goto LAB_00065211;
            iVar6 = piVar11[3] + *(int *)(iVar7 + 4) + iVar6;
          }
          uVar13 = uVar12 - iVar6 & 0xffff;
          uVar12 = (uVar12 - iVar6) + 0x8000 >> 0x10;
          if (uVar12 == 0) {
            uVar12 = uVar13 + 0x817e0000;
            *puVar14 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |
                       uVar13 << 0x18;
            puVar10 = puVar14;
          }
          else {
            uVar8 = uVar12 + 0x3d7e0000;
            uVar9 = uVar13 + 0x816b0000;
            *puVar14 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |
                       uVar12 << 0x18;
            puVar10 = puVar14 + 1;
            puVar14[1] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |
                         uVar13 << 0x18;
          }
        }
        puVar10[1] = 0xa603697d;
        puVar10[2] = 0x2004804e;
        piVar11 = (int *)*piVar11;
      } while (piVar11 != (int *)0x0);
    }
    iVar6 = DAT_004144e8;
    for (puVar2 = *(undefined4 **)(param_1 + 0x5c); puVar2 != (undefined4 *)0x0;
        puVar2 = (undefined4 *)*puVar2) {
      if (*(char *)(puVar2 + 3) == '\0') {
        puVar14 = (uint *)((int)__dest + *(int *)(param_1 + 0x74) + puVar2[4] + iVar4);
        iVar7 = *(int *)(iVar6 + 8);
        if (iVar7 == 0) goto LAB_000655b6;
        uVar12 = 1 << ((byte)*(undefined4 *)(iVar7 + 0x2b20) & 0x1f);
        if (uVar12 < 0x10) {
          uVar12 = 0x10;
        }
        if ((*(byte *)(param_1 + 0x1c) & 1) == 0) {
LAB_00065211:
                    /* WARNING: Subroutine does not return */
          FUN_000da200("../../gold/output.h",0xc5,"address");
        }
        uVar12 = (puVar2[1] -
                 ((-uVar12 & (uVar12 - 1) + *(int *)(param_1 + 4) + *(int *)(param_1 + 0x70)) +
                 *(int *)(param_1 + 0x74))) - puVar2[4];
        if (uVar12 + 0x2000000 < 0x4000000) {
          *puVar14 = (uVar12 & 0x3000000 | 0x48000000) >> 0x18 | (uVar12 & 0xff0000) >> 8 |
                     (uVar12 & 0xff00) << 8 | (uVar12 & 0xfc) << 0x18;
          puVar10 = puVar14;
        }
        else if ((*(char *)(iVar7 + 0x1a25) == '\0') && (*(char *)(iVar7 + 0x2931) == '\0')) {
          puVar10 = puVar14 + 1;
          uVar12 = puVar2[1] + 0x8000 >> 0x10;
          uVar13 = uVar12 + 0x3d800000;
          *puVar14 = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |
                     uVar12 << 0x18;
          uVar12 = *(ushort *)(puVar2 + 1) + 0x398c0000;
          *puVar10 = uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |
                     (uint)*(ushort *)(puVar2 + 1) << 0x18;
        }
        else {
          *puVar14 = 0xa602087c;
          puVar10 = puVar14 + 5;
          uVar8 = uVar12 + 0x7ff8 >> 0x10;
          uVar12 = uVar12 - 8 & 0xffff;
          puVar14[1] = 0x5009f42;
          uVar9 = uVar8 + 0x3d8c0000;
          uVar13 = uVar12 + 0x398c0000;
          puVar14[2] = 0xa602887d;
          puVar14[3] = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |
                       uVar8 << 0x18;
          puVar14[4] = uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 |
                       uVar12 << 0x18;
          *puVar10 = 0xa603087c;
        }
        puVar10[1] = 0xa603897d;
        puVar10[2] = 0x2004804e;
      }
    }
    if (*(char *)(param_1 + 0x88) != '\0') {
      __dest = (void *)((int)__dest + *(int *)(param_1 + 0x74) + *(int *)(param_1 + 0x7c) + iVar4);
      iVar4 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);
      if ((*(byte *)(iVar4 + 0x1c) & 2) == 0) goto LAB_0006566c;
      memcpy(__dest,*(void **)(iVar4 + 0x2c),*(size_t *)(iVar4 + 0xc));
    }
  }
  return;
}

