
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* DWARF original name: sized_create_version_sections<64, true>
   DWARF original prototype: void sized_create_version_sections<64,_true>(Layout * this, Versions *
   versions, Symbol_table * symtab, uint local_symcount,
   vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> * dynamic_symbols, Output_section * dynstr)
    */

void __thiscall
gold::Layout::sized_create_version_sections<64,_true>
          (Layout *this,Versions *versions,Symbol_table *symtab,uint param_3,
          vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *dynamic_symbols,
          Output_section *dynstr)

{
  Output_section *pOVar1;
  int *piVar2;
  pointer pDVar3;
  Gdb_index *pGVar4;
  Layout *this_00;
  pointer pDVar5;
  pointer pDVar6;
  undefined4 uVar7;
  int iVar8;
  undefined4 uVar9;
  Output_data_dynamic *pOVar10;
  int in_t9;
  code *pcVar11;
  code *pcVar12;
  uchar **ppuVar13;
  uint *puVar14;
  undefined4 uVar15;
  undefined4 uVar16;
  uint vsize;
  Output_data *local_5c;
  undefined4 local_58;
  undefined4 local_54;
  uint vnentries;
  uint vnsize;
  uchar *vnbuf;
  uint vdentries;
  uint vdsize;
  uchar *vdbuf;
  uchar *vbuf;
  uint *local_30;
  
  uVar16 = 0;
  uVar15 = 3;
  pOVar1 = choose_output_section
                     (this,(Relobj *)0x0,(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x40f4),0x6fffffff,2,
                      false,ORDER_DYNAMIC_LINKER,false,false,false);
  if (pOVar1 != (Output_section *)0x0) {
    puVar14 = &vsize;
    ppuVar13 = &vbuf;
    local_30 = puVar14;
    (**(code **)(in_t9 + 0x2f9814))
              (versions,symtab,&this->dynpool_,param_3,dynamic_symbols,ppuVar13,puVar14);
    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);
    piVar2[2] = 0;
    piVar2[3] = 0;
    piVar2[0xb] = 2;
    piVar2[10] = 0;
    piVar2[7] = -1;
    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;
    iVar8 = *(int *)(in_t9 + 0x2f965c);
    pcVar11 = *(code **)(in_t9 + 0x2f9428);
    piVar2[6] = -1;
    piVar2[5] = vsize;
    *piVar2 = iVar8 + 8;
    piVar2[9] = 0;
    piVar2[4] = 0;
    piVar2[0xc] = (int)vbuf;
    piVar2[0xd] = *(int *)(in_t9 + 0x2f8d74) + 0x4104;
    (*pcVar11)(pOVar1,piVar2);
    uVar9 = 2;
    (**(code **)(in_t9 + 0x2f8d90))(pOVar1);
    if ((pOVar1->link_ == 0) && (-1 < *(int *)&pOVar1->field_0x98 << 2)) {
      iVar8 = *(int *)(in_t9 + 0x2f8d74);
      if (*(int *)&pOVar1->field_0x98 << 3 < 0) goto LAB_001c9384;
      pOVar10 = this->dynamic_data_;
      pOVar1->link_section_ = &this->dynsym_section_->super_Output_data;
      if (pOVar10 != (Output_data_dynamic *)0x0) {
        pDVar5 = (pOVar10->entries_).
                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
                 ._M_impl._M_finish;
        local_58 = 0x6ffffff0;
        local_54 = 0;
        local_5c = (Output_data *)0x0;
        vsize = (uint)pOVar1;
        if (pDVar5 == (pOVar10->entries_).
                      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
                      ._M_impl._M_end_of_storage) {
          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar5,local_30);
        }
        else {
          (pDVar5->u_).val = (uint)pOVar1;
          pDVar5->od2 = (Output_data *)0x0;
          pDVar5->tag_ = DT_VERSYM;
          pDVar5->offset_ = 0;
          (pOVar10->entries_).
          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
          ._M_impl._M_finish = pDVar5 + 1;
        }
      }
      goto LAB_001c8ec4;
    }
LAB_001c9380:
    iVar8 = *(int *)(in_t9 + 0x2f8d74);
LAB_001c9384:
    uVar7 = 0xd07;
    pcVar11 = *(code **)(in_t9 + 0x2f8d54);
    iVar8 = iVar8 + 0x4558;
    this_00 = (Layout *)(*(int *)(in_t9 + 0x2f85a0) + 0x3574);
    (*pcVar11)(this_00,0xd07,iVar8);
    pGVar4 = this_00->gdb_index_data_;
    if (pGVar4 == (Gdb_index *)0x0) {
      pOVar1 = choose_output_section
                         (this_00,(Relobj *)0x0,(char *)(*(int *)(pcVar11 + 0x2f86b4) + 0x40e8),1,0,
                          false,ORDER_INVALID,false,false,false);
      if (pOVar1 == (Output_section *)0x0) {
        return;
      }
      pGVar4 = (Gdb_index *)(**(code **)(pcVar11 + 0x2f800c))(0x138);
      (**(code **)(pcVar11 + 0x2f9164))(pGVar4,pOVar1);
      pcVar12 = *(code **)(pcVar11 + 0x2f8d68);
      this_00->gdb_index_data_ = pGVar4;
      (*pcVar12)(pOVar1,pGVar4);
      *(uint *)&pOVar1->field_0x98 = *(uint *)&pOVar1->field_0x98 & 0xf7ffffff | 0x8000000;
      pGVar4 = this_00->gdb_index_data_;
    }
                    /* WARNING: Could not recover jumptable at 0x001c9450. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(pcVar11 + 0x2f9160))
              (pGVar4,uVar7,iVar8,uVar9,dynamic_symbols,ppuVar13,puVar14,uVar15,uVar16);
    return;
  }
  pOVar10 = this->dynamic_data_;
LAB_001c8ec4:
  if ((versions->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.
      _M_start ==
      (versions->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.
      _M_finish) {
LAB_001c90ac:
    if ((versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.
        _M_impl._M_start ==
        (versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.
        _M_impl._M_finish) {
      return;
    }
    uVar15 = 3;
    uVar16 = 0;
    puVar14 = (uint *)0x0;
    ppuVar13 = (uchar **)0x2;
    pOVar1 = choose_output_section
                       (this,(Relobj *)0x0,(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x4130),0x6ffffffe,
                        2,false,ORDER_DYNAMIC_LINKER,false,false,false);
    if (pOVar1 == (Output_section *)0x0) {
      return;
    }
    dynamic_symbols = (vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *)&vnentries;
    (**(code **)(in_t9 + 0x2f981c))(versions,&this->dynpool_,&vnbuf,&vnsize,dynamic_symbols);
    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);
    piVar2[2] = 0;
    piVar2[3] = 0;
    piVar2[10] = 0;
    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;
    iVar8 = *(int *)(in_t9 + 0x2f965c);
    pcVar11 = *(code **)(in_t9 + 0x2f9428);
    piVar2[0xb] = 4;
    piVar2[5] = vnsize;
    uVar9 = 0xffffffff;
    *piVar2 = iVar8 + 8;
    piVar2[9] = 0;
    piVar2[4] = 0;
    piVar2[0xc] = (int)vnbuf;
    iVar8 = *(int *)(in_t9 + 0x2f8d74);
    piVar2[7] = -1;
    piVar2[6] = -1;
    piVar2[0xd] = iVar8 + 0x4140;
    (*pcVar11)(pOVar1,piVar2);
    if (((pOVar1->link_ != 0) || (*(int *)&pOVar1->field_0x98 << 2 < 0)) ||
       (*(int *)&pOVar1->field_0x98 << 3 < 0)) goto LAB_001c9380;
    pOVar1->link_section_ = &dynstr->super_Output_data;
    if (((pOVar1->info_section_ == (Output_section *)0x0) && (pOVar1->info_symndx_ == (Symbol *)0x0)
        ) && ((pOVar1->info_ == 0 || (vnentries == pOVar1->info_)))) {
      pOVar1->info_ = vnentries;
      if (pOVar10 == (Output_data_dynamic *)0x0) {
        return;
      }
      pDVar5 = (pOVar10->entries_).
               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
               ._M_impl._M_finish;
      pDVar6 = (pOVar10->entries_).
               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
               ._M_impl._M_end_of_storage;
      versions = (Versions *)&pOVar10->entries_;
      local_54 = 0;
      local_58 = 0x6ffffffe;
      local_5c = (Output_data *)0x0;
      if (pDVar5 == pDVar6) {
        vsize = (uint)pOVar1;
        (**(code **)(in_t9 + 0x2f9274))(versions,pDVar6,&vsize);
        pDVar3 = (pOVar10->entries_).
                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
                 ._M_impl._M_finish;
        pDVar6 = (pOVar10->entries_).
                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
                 ._M_impl._M_end_of_storage;
      }
      else {
        pDVar3 = pDVar5 + 1;
        (pDVar5->u_).val = (uint)pOVar1;
        pDVar5->od2 = (Output_data *)0x0;
        pDVar5->tag_ = DT_VERNEED;
        pDVar5->offset_ = 0;
        (pOVar10->entries_).
        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ._M_impl._M_finish = pDVar3;
      }
      local_58 = 0x6fffffff;
      local_54 = 0xffffffff;
      vsize = vnentries;
      if (pDVar3 != pDVar6) {
        (pDVar3->u_).val = vnentries;
        pDVar3->tag_ = DT_VERNEEDNUM;
        pDVar3->od2 = local_5c;
        pDVar3->offset_ = 0xffffffff;
        (pOVar10->entries_).
        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
        ._M_impl._M_finish = pDVar3 + 1;
        return;
      }
      goto LAB_001c9304;
    }
LAB_001c92e8:
    iVar8 = *(int *)(in_t9 + 0x2f8d74);
  }
  else {
    uVar15 = 3;
    uVar16 = 0;
    puVar14 = (uint *)0x0;
    ppuVar13 = (uchar **)0x2;
    pOVar1 = choose_output_section
                       (this,(Relobj *)0x0,(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x4110),0x6ffffffd,
                        2,false,ORDER_DYNAMIC_LINKER,false,false,false);
    if (pOVar1 == (Output_section *)0x0) goto LAB_001c90ac;
    dynamic_symbols = (vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *)&vdentries;
    (**(code **)(in_t9 + 0x2f9818))(versions,&this->dynpool_,&vdbuf,&vdsize,dynamic_symbols);
    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);
    piVar2[2] = 0;
    piVar2[3] = 0;
    piVar2[10] = 0;
    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;
    iVar8 = *(int *)(in_t9 + 0x2f965c);
    pcVar11 = *(code **)(in_t9 + 0x2f9428);
    piVar2[0xb] = 4;
    piVar2[5] = vdsize;
    uVar9 = 0xffffffff;
    *piVar2 = iVar8 + 8;
    piVar2[9] = 0;
    piVar2[4] = 0;
    piVar2[0xc] = (int)vdbuf;
    iVar8 = *(int *)(in_t9 + 0x2f8d74);
    piVar2[7] = -1;
    piVar2[6] = -1;
    piVar2[0xd] = iVar8 + 0x4120;
    (*pcVar11)(pOVar1,piVar2);
    if (((pOVar1->link_ != 0) || (*(int *)&pOVar1->field_0x98 << 2 < 0)) ||
       (*(int *)&pOVar1->field_0x98 << 3 < 0)) goto LAB_001c9380;
    pOVar1->link_section_ = &dynstr->super_Output_data;
    if (pOVar1->info_section_ != (Output_section *)0x0) goto LAB_001c92e8;
    iVar8 = *(int *)(in_t9 + 0x2f8d74);
    if ((pOVar1->info_symndx_ == (Symbol *)0x0) &&
       ((pOVar1->info_ == 0 || (vdentries == pOVar1->info_)))) {
      pOVar1->info_ = vdentries;
      if (pOVar10 != (Output_data_dynamic *)0x0) {
        pDVar5 = (pOVar10->entries_).
                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
                 ._M_impl._M_finish;
        pDVar6 = (pOVar10->entries_).
                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
                 ._M_impl._M_end_of_storage;
        local_54 = 0;
        local_58 = 0x6ffffffc;
        local_5c = (Output_data *)0x0;
        if (pDVar5 == pDVar6) {
          vsize = (uint)pOVar1;
          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);
          pDVar3 = (pOVar10->entries_).
                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
                   ._M_impl._M_finish;
          pDVar6 = (pOVar10->entries_).
                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
                   ._M_impl._M_end_of_storage;
        }
        else {
          pDVar3 = pDVar5 + 1;
          (pDVar5->u_).val = (uint)pOVar1;
          pDVar5->od2 = (Output_data *)0x0;
          pDVar5->tag_ = DT_VERDEF;
          pDVar5->offset_ = 0;
          (pOVar10->entries_).
          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
          ._M_impl._M_finish = pDVar3;
        }
        local_58 = 0x6ffffffd;
        local_54 = 0xffffffff;
        vsize = vdentries;
        if (pDVar6 == pDVar3) {
          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);
        }
        else {
          (pDVar3->u_).val = vdentries;
          pDVar3->tag_ = DT_VERDEFNUM;
          pDVar3->od2 = local_5c;
          pDVar3->offset_ = 0xffffffff;
          (pOVar10->entries_).
          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>
          ._M_impl._M_finish = pDVar3 + 1;
        }
      }
      goto LAB_001c90ac;
    }
  }
  pDVar3 = (pointer)(**(code **)(in_t9 + 0x2f8d54))
                              (*(int *)(in_t9 + 0x2f85a0) + 0x3574,0xd5e,iVar8 + 0x4430);
LAB_001c9304:
  (**(code **)(in_t9 + 0x2f9274))(versions,pDVar3,&vsize);
  return;
}



/* void gold::Layout::sized_create_version_sections<64, true>(gold::Versions const*,
   gold::Symbol_table const*, unsigned int, std::vector<gold::Symbol*, std::allocator<gold::Symbol*>
   > const&, gold::Output_section const*) */

void __thiscall
gold::Layout::sized_create_version_sections<64,true>
          (Layout *this,Versions *param_1,Symbol_table *param_2,uint param_3,vector *param_4,
          Output_section *param_5)

{
  int iVar1;
  int *piVar2;
  undefined4 uVar3;
  int iVar4;
  int *piVar5;
  undefined4 uVar6;
  int iVar7;
  undefined4 uVar8;
  int in_t9;
  code *pcVar9;
  code *pcVar10;
  int *piVar11;
  undefined4 uVar12;
  undefined4 uVar13;
  int local_60;
  int local_5c;
  undefined4 local_58;
  undefined4 local_54;
  int local_50;
  int local_4c;
  int local_48;
  int local_44;
  int local_40;
  int local_3c;
  int local_38 [2];
  int *local_30;
  
  uVar13 = 0;
  uVar12 = 3;
  iVar1 = choose_output_section(this,0,*(int *)(in_t9 + 0x2f8d74) + 0x40f4,0x6fffffff,0,2,0,3,0,0,0)
  ;
  if (iVar1 != 0) {
    piVar5 = &local_60;
    piVar11 = local_38;
    local_30 = piVar5;
    (**(code **)(in_t9 + 0x2f9814))(param_1,param_2,this + 0xa8,param_3,param_4,piVar11,piVar5);
    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);
    piVar2[2] = 0;
    piVar2[3] = 0;
    piVar2[0xb] = 2;
    piVar2[10] = 0;
    piVar2[7] = -1;
    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;
    iVar7 = *(int *)(in_t9 + 0x2f965c);
    pcVar9 = *(code **)(in_t9 + 0x2f9428);
    piVar2[6] = -1;
    piVar2[5] = local_60;
    *piVar2 = iVar7 + 8;
    piVar2[9] = 0;
    piVar2[4] = 0;
    piVar2[0xc] = local_38[0];
    piVar2[0xd] = *(int *)(in_t9 + 0x2f8d74) + 0x4104;
    (*pcVar9)(iVar1,piVar2);
    uVar8 = 2;
    (**(code **)(in_t9 + 0x2f8d90))(iVar1);
    if ((*(int *)(iVar1 + 0x44) == 0) && (-1 < *(int *)(iVar1 + 0x98) << 2)) {
      iVar7 = *(int *)(in_t9 + 0x2f8d74);
      if (*(int *)(iVar1 + 0x98) << 3 < 0) goto LAB_001c9384;
      iVar7 = *(int *)(this + 0x198);
      *(undefined4 *)(iVar1 + 0x40) = *(undefined4 *)(this + 0x188);
      if (iVar7 != 0) {
        piVar5 = *(int **)(iVar7 + 0x34);
        local_58 = 0x6ffffff0;
        local_54 = 0;
        local_5c = 0;
        local_60 = iVar1;
        if (piVar5 == *(int **)(iVar7 + 0x38)) {
          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);
        }
        else {
          *piVar5 = iVar1;
          piVar5[1] = 0;
          piVar5[2] = 0x6ffffff0;
          piVar5[3] = 0;
          *(int **)(iVar7 + 0x34) = piVar5 + 4;
        }
      }
      goto LAB_001c8ec4;
    }
LAB_001c9380:
    iVar7 = *(int *)(in_t9 + 0x2f8d74);
LAB_001c9384:
    uVar6 = 0xd07;
    pcVar9 = *(code **)(in_t9 + 0x2f8d54);
    iVar7 = iVar7 + 0x4558;
    iVar4 = *(int *)(in_t9 + 0x2f85a0) + 0x3574;
    (*pcVar9)(iVar4,0xd07,iVar7);
    iVar1 = *(int *)(iVar4 + 0x1ac);
    if (iVar1 == 0) {
      iVar1 = choose_output_section();
      if (iVar1 == 0) {
        return;
      }
      uVar3 = (**(code **)(pcVar9 + 0x2f800c))(0x138);
      (**(code **)(pcVar9 + 0x2f9164))(uVar3,iVar1);
      pcVar10 = *(code **)(pcVar9 + 0x2f8d68);
      *(undefined4 *)(iVar4 + 0x1ac) = uVar3;
      (*pcVar10)(iVar1,uVar3);
      *(uint *)(iVar1 + 0x98) = *(uint *)(iVar1 + 0x98) & 0xf7ffffff | 0x8000000;
      iVar1 = *(int *)(iVar4 + 0x1ac);
    }
                    /* WARNING: Could not recover jumptable at 0x001c9450. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(pcVar9 + 0x2f9160))(iVar1,uVar6,iVar7,uVar8,param_4,piVar11,piVar5,uVar12,uVar13);
    return;
  }
  iVar7 = *(int *)(this + 0x198);
LAB_001c8ec4:
  if (*(int *)param_1 == *(int *)(param_1 + 4)) {
LAB_001c90ac:
    if (*(int *)(param_1 + 0xc) == *(int *)(param_1 + 0x10)) {
      return;
    }
    uVar12 = 3;
    uVar13 = 0;
    piVar5 = (int *)0x0;
    piVar11 = (int *)0x2;
    iVar1 = choose_output_section
                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4130,0x6ffffffe,0,2,0,3,0,0,0);
    if (iVar1 == 0) {
      return;
    }
    param_4 = (vector *)&local_50;
    (**(code **)(in_t9 + 0x2f981c))(param_1,this + 0xa8,&local_48,&local_4c,param_4);
    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);
    piVar2[2] = 0;
    piVar2[3] = 0;
    piVar2[10] = 0;
    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;
    iVar4 = *(int *)(in_t9 + 0x2f965c);
    pcVar9 = *(code **)(in_t9 + 0x2f9428);
    piVar2[0xb] = 4;
    piVar2[5] = local_4c;
    uVar8 = 0xffffffff;
    *piVar2 = iVar4 + 8;
    piVar2[9] = 0;
    piVar2[4] = 0;
    piVar2[0xc] = local_48;
    iVar4 = *(int *)(in_t9 + 0x2f8d74);
    piVar2[7] = -1;
    piVar2[6] = -1;
    piVar2[0xd] = iVar4 + 0x4140;
    (*pcVar9)(iVar1,piVar2);
    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||
       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;
    *(Output_section **)(iVar1 + 0x40) = param_5;
    if (((*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0)) &&
       ((*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50))))) {
      *(int *)(iVar1 + 0x50) = local_50;
      if (iVar7 == 0) {
        return;
      }
      piVar5 = *(int **)(iVar7 + 0x34);
      piVar11 = *(int **)(iVar7 + 0x38);
      param_1 = (Versions *)(iVar7 + 0x30);
      local_54 = 0;
      local_58 = 0x6ffffffe;
      local_5c = 0;
      if (piVar5 == piVar11) {
        local_60 = iVar1;
        (**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);
        piVar2 = *(int **)(iVar7 + 0x34);
        piVar11 = *(int **)(iVar7 + 0x38);
      }
      else {
        piVar2 = piVar5 + 4;
        *piVar5 = iVar1;
        piVar5[1] = 0;
        piVar5[2] = 0x6ffffffe;
        piVar5[3] = 0;
        *(int **)(iVar7 + 0x34) = piVar2;
      }
      local_58 = 0x6fffffff;
      local_54 = 0xffffffff;
      local_60 = local_50;
      if (piVar2 != piVar11) {
        *piVar2 = local_50;
        piVar2[2] = 0x6fffffff;
        piVar2[1] = local_5c;
        piVar2[3] = -1;
        *(int **)(iVar7 + 0x34) = piVar2 + 4;
        return;
      }
      goto LAB_001c9304;
    }
LAB_001c92e8:
    iVar4 = *(int *)(in_t9 + 0x2f8d74);
  }
  else {
    uVar12 = 3;
    uVar13 = 0;
    piVar5 = (int *)0x0;
    piVar11 = (int *)0x2;
    iVar1 = choose_output_section
                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0);
    if (iVar1 == 0) goto LAB_001c90ac;
    param_4 = (vector *)&local_44;
    (**(code **)(in_t9 + 0x2f9818))(param_1,this + 0xa8,&local_3c,&local_40,param_4);
    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);
    piVar2[2] = 0;
    piVar2[3] = 0;
    piVar2[10] = 0;
    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;
    iVar4 = *(int *)(in_t9 + 0x2f965c);
    pcVar9 = *(code **)(in_t9 + 0x2f9428);
    piVar2[0xb] = 4;
    piVar2[5] = local_40;
    uVar8 = 0xffffffff;
    *piVar2 = iVar4 + 8;
    piVar2[9] = 0;
    piVar2[4] = 0;
    piVar2[0xc] = local_3c;
    iVar4 = *(int *)(in_t9 + 0x2f8d74);
    piVar2[7] = -1;
    piVar2[6] = -1;
    piVar2[0xd] = iVar4 + 0x4120;
    (*pcVar9)(iVar1,piVar2);
    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||
       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;
    *(Output_section **)(iVar1 + 0x40) = param_5;
    if (*(int *)(iVar1 + 0x48) != 0) goto LAB_001c92e8;
    iVar4 = *(int *)(in_t9 + 0x2f8d74);
    if ((*(int *)(iVar1 + 0x4c) == 0) &&
       ((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))))) {
      *(int *)(iVar1 + 0x50) = local_44;
      if (iVar7 != 0) {
        piVar5 = *(int **)(iVar7 + 0x34);
        piVar11 = *(int **)(iVar7 + 0x38);
        local_54 = 0;
        local_58 = 0x6ffffffc;
        local_5c = 0;
        if (piVar5 == piVar11) {
          local_60 = iVar1;
          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);
          piVar2 = *(int **)(iVar7 + 0x34);
          piVar11 = *(int **)(iVar7 + 0x38);
        }
        else {
          piVar2 = piVar5 + 4;
          *piVar5 = iVar1;
          piVar5[1] = 0;
          piVar5[2] = 0x6ffffffc;
          piVar5[3] = 0;
          *(int **)(iVar7 + 0x34) = piVar2;
        }
        local_58 = 0x6ffffffd;
        local_54 = 0xffffffff;
        local_60 = local_44;
        if (piVar11 == piVar2) {
          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);
        }
        else {
          *piVar2 = local_44;
          piVar2[2] = 0x6ffffffd;
          piVar2[1] = local_5c;
          piVar2[3] = -1;
          *(int **)(iVar7 + 0x34) = piVar2 + 4;
        }
      }
      goto LAB_001c90ac;
    }
  }
  piVar2 = (int *)(**(code **)(in_t9 + 0x2f8d54))
                            (*(int *)(in_t9 + 0x2f85a0) + 0x3574,0xd5e,iVar4 + 0x4430);
LAB_001c9304:
  (**(code **)(in_t9 + 0x2f9274))(param_1,piVar2,&local_60);
  return;
}


lui gp,0x30
addiu gp,gp,0x564
addu gp,gp,t9
addiu sp,sp,-0x98
li v0,0x3
sw s6,0x88(sp)
or s6,a2,zero
sw s3,0x7c(sp)
sw s5,0x84(sp)
li s5,0x2
sw s4,0x80(sp)
or s4,zero,zero
sw s2,0x78(sp)
lui s2,0x6fff
sw s0,0x70(sp)
or s0,a1,zero
sw gp,0x30(sp)
or a1,zero,zero
sw s8,0x90(sp)
or s8,a3,zero
sw s1,0x74(sp)
ori a3,s2,0xffff
sw ra,0x94(sp)
or s1,a0,zero
sw s7,0x8c(sp)
sw zero,0x28(sp)
sw zero,0x24(sp)
sw zero,0x20(sp)
sw v0,0x1c(sp)
sw zero,0x18(sp)
sw s5,0x14(sp)
sw s4,0x10(sp)
lw a2,-0x77f0(gp)
lw s3,-0x6f20(gp)
or t9,s3,zero
bal 0x001bac78
_addiu a2,a2,0x40f4
beq v0,zero,0x001c92c8
_lw gp,0x30(sp)
or s7,v0,zero
lw t9,-0x6d50(gp)
addiu v0,sp,0x38
addiu a2,s1,0xa8
or v1,v0,zero
sw v0,0x68(sp)
lw v0,0xa8(sp)
or a3,s8,zero
sw v1,0x18(sp)
or a1,s6,zero
or a0,s0,zero
sw v0,0x10(sp)
addiu v0,sp,0x60
jalr t9
_sw v0,0x14(sp)
lw gp,0x30(sp)
lw t9,-0x7e98(gp)
jalr t9
_li a0,0x38
or a2,zero,zero
lw gp,0x30(sp)
or a3,zero,zero
sw a2,0x8(v0)
li t1,-0x1
lbu a2,0x20(v0)
li t0,-0x1
sw a3,0xc(v0)
or a1,v0,zero
sw s5,0x2c(v0)
or a0,s7,zero
andi a2,a2,0x7
sw s4,0x28(v0)
ori a2,a2,0x50
sw t1,0x1c(v0)
sb a2,0x20(v0)
lw a2,-0x6f08(gp)
lw a3,0x38(sp)
lw t9,-0x713c(gp)
addiu a2,a2,0x8
sw t0,0x18(v0)
sw a3,0x14(v0)
sw a2,0x0(v0)
lw a2,0x60(sp)
sw zero,0x24(v0)
sw zero,0x10(v0)
sw a2,0x30(v0)
lw a2,-0x77f0(gp)
addiu a2,a2,0x4104
jalr t9
_sw a2,0x34(v0)
li a3,0x2
lw gp,0x30(sp)
or a2,zero,zero
lw t9,-0x77d4(gp)
jalr t9
_or a0,s7,zero
lw v0,0x44(s7)
lw gp,0x30(sp)
bne v0,zero,0x001c9380
_lw a0,0x188(s1)
lw v0,0x98(s7)
ext a1,v0,0x1d,0x1
bne a1,zero,0x001c9380
_ext v0,v0,0x1c,0x1
bne v0,zero,0x001c9384
_lw a2,-0x77f0(gp)
lw s4,0x198(s1)
beq s4,zero,0x001c8ec4
_sw a0,0x40(s7)
lw a1,0x34(s4)
ori s2,s2,0xfff0
lw v0,0x38(s4)
sw s2,0x40(sp)
sw zero,0x44(sp)
sw s7,0x38(sp)
beq a1,v0,0x001c92d0
_sw zero,0x3c(sp)
addiu v0,a1,0x10
sw s7,0x0(a1)
sw zero,0x4(a1)
sw s2,0x8(a1)
sw zero,0xc(a1)
sw v0,0x34(s4)
lw v1,0x0(s0)
lw v0,0x4(s0)
beq v1,v0,0x001c90ac
_lw a2,-0x77f0(gp)
li v0,0x3
li v1,0x2
sw zero,0x28(sp)
sw v0,0x1c(sp)
lui a3,0x6fff
or v0,zero,zero
sw zero,0x24(sp)
or a1,zero,zero
sw zero,0x20(sp)
addiu a2,a2,0x4110
sw zero,0x18(sp)
ori a3,a3,0xfffd
sw v1,0x14(sp)
or a0,s1,zero
or t9,s3,zero
bal 0x001bac78
_sw v0,0x10(sp)
lw gp,0x30(sp)
beq v0,zero,0x001c90ac
_or s2,v0,zero
lw t9,-0x6d4c(gp)
addiu v0,sp,0x54
addiu a3,sp,0x58
addiu a2,sp,0x5c
sw v0,0x10(sp)
addiu a1,s1,0xa8
jalr t9
_or a0,s0,zero
lw gp,0x30(sp)
lw t9,-0x7e98(gp)
jalr t9
_li a0,0x38
or a2,zero,zero
lbu v1,0x20(v0)
or a3,zero,zero
lw gp,0x30(sp)
or a1,v0,zero
sw a2,0x8(v0)
or a2,zero,zero
andi v1,v1,0x7
sw a3,0xc(v0)
ori v1,v1,0x50
sw a2,0x28(v0)
sb v1,0x20(v0)
li a3,0x4
lw v1,-0x6f08(gp)
or a0,s2,zero
lw a2,0x58(sp)
lw t9,-0x713c(gp)
addiu v1,v1,0x8
sw a3,0x2c(v0)
sw a2,0x14(v0)
li a3,-0x1
sw v1,0x0(v0)
li a2,-0x1
lw v1,0x5c(sp)
sw zero,0x24(v0)
sw zero,0x10(v0)
sw v1,0x30(v0)
lw v1,-0x77f0(gp)
sw a3,0x1c(v0)
sw a2,0x18(v0)
addiu v1,v1,0x4120
jalr t9
_sw v1,0x34(v0)
lw v0,0x44(s2)
bne v0,zero,0x001c9380
_lw gp,0x30(sp)
lw v0,0x98(s2)
ext v1,v0,0x1d,0x1
bne v1,zero,0x001c9380
_ext v0,v0,0x1c,0x1
bne v0,zero,0x001c9380
_lw v1,0x54(sp)
lw a0,0xac(sp)
lw v0,0x48(s2)
bne v0,zero,0x001c92e8
_sw a0,0x40(s2)
lw v0,0x4c(s2)
bne v0,zero,0x001c92ec
_lw a2,-0x77f0(gp)
lw v0,0x50(s2)
beq v0,zero,0x001c902c
_nop
bne v1,v0,0x001c92f0
_li a1,0xd5e
beq s4,zero,0x001c90ac
_sw v1,0x50(s2)
lw a0,0x34(s4)
lui a2,0x6fff
lw a1,0x38(s4)
addiu s5,s4,0x30
ori a2,a2,0xfffc
sw zero,0x44(sp)
sw a2,0x40(sp)
sw s2,0x38(sp)
beq a0,a1,0x001c935c
_sw zero,0x3c(sp)
addiu v0,a0,0x10
sw s2,0x0(a0)
sw zero,0x4(a0)
sw a2,0x8(a0)
sw zero,0xc(a0)
sw v0,0x34(s4)
lui a0,0x6fff
sw v1,0x38(sp)
li a2,-0x1
ori a0,a0,0xfffd
sw a0,0x40(sp)
beq a1,v0,0x001c9344
_sw a2,0x44(sp)
lw a3,0x3c(sp)
addiu a1,v0,0x10
sw v1,0x0(v0)
sw a0,0x8(v0)
sw a3,0x4(v0)
sw a2,0xc(v0)
sw a1,0x34(s4)
lw v1,0xc(s0)
lw v0,0x10(s0)
beq v1,v0,0x001c929c
_lw ra,0x94(sp)
lw a2,-0x77f0(gp)
li v0,0x3
li v1,0x2
sw zero,0x28(sp)
sw v0,0x1c(sp)
lui a3,0x6fff
or v0,zero,zero
sw zero,0x24(sp)
or a1,zero,zero
sw zero,0x20(sp)
addiu a2,a2,0x4130
sw zero,0x18(sp)
ori a3,a3,0xfffe
sw v1,0x14(sp)
or a0,s1,zero
or t9,s3,zero
bal 0x001bac78
_sw v0,0x10(sp)
lw gp,0x30(sp)
beq v0,zero,0x001c9298
_or s2,v0,zero
lw t9,-0x6d48(gp)
addiu v0,sp,0x48
addiu a3,sp,0x4c
addiu a2,sp,0x50
sw v0,0x10(sp)
addiu a1,s1,0xa8
jalr t9
_or a0,s0,zero
lw gp,0x30(sp)
lw t9,-0x7e98(gp)
jalr t9
_li a0,0x38
or a2,zero,zero
lbu v1,0x20(v0)
or a3,zero,zero
lw gp,0x30(sp)
or a1,v0,zero
sw a2,0x8(v0)
or a2,zero,zero
andi v1,v1,0x7
sw a3,0xc(v0)
ori v1,v1,0x50
sw a2,0x28(v0)
sb v1,0x20(v0)
li a3,0x4
lw v1,-0x6f08(gp)
or a0,s2,zero
lw a2,0x4c(sp)
lw t9,-0x713c(gp)
addiu v1,v1,0x8
sw a3,0x2c(v0)
sw a2,0x14(v0)
li a3,-0x1
sw v1,0x0(v0)
li a2,-0x1
lw v1,0x50(sp)
sw zero,0x24(v0)
sw zero,0x10(v0)
sw v1,0x30(v0)
lw v1,-0x77f0(gp)
sw a3,0x1c(v0)
sw a2,0x18(v0)
addiu v1,v1,0x4140
jalr t9
_sw v1,0x34(v0)
lw v0,0x44(s2)
bne v0,zero,0x001c9380
_lw gp,0x30(sp)
lw v0,0x98(s2)
ext v1,v0,0x1d,0x1
bne v1,zero,0x001c9380
_ext v0,v0,0x1c,0x1
bne v0,zero,0x001c9380
_lw v1,0x48(sp)
lw a0,0xac(sp)
lw v0,0x48(s2)
bne v0,zero,0x001c92e8
_sw a0,0x40(s2)
lw v0,0x4c(s2)
bne v0,zero,0x001c92e8
_nop
lw v0,0x50(s2)
beq v0,zero,0x001c9218
_nop
bne v1,v0,0x001c92e8
_nop
beq s4,zero,0x001c9298
_sw v1,0x50(s2)
lw a0,0x34(s4)
lui a2,0x6fff
lw a1,0x38(s4)
addiu s0,s4,0x30
ori a2,a2,0xfffe
sw zero,0x44(sp)
sw a2,0x40(sp)
sw s2,0x38(sp)
beq a0,a1,0x001c9320
_sw zero,0x3c(sp)
addiu v0,a0,0x10
sw s2,0x0(a0)
sw zero,0x4(a0)
sw a2,0x8(a0)
sw zero,0xc(a0)
sw v0,0x34(s4)
lui a0,0x6fff
sw v1,0x38(sp)
li a2,-0x1
ori a0,a0,0xffff
sw a0,0x40(sp)
beq v0,a1,0x001c9304
_sw a2,0x44(sp)
lw a3,0x3c(sp)
addiu a1,v0,0x10
sw v1,0x0(v0)
sw a0,0x8(v0)
sw a3,0x4(v0)
sw a2,0xc(v0)
sw a1,0x34(s4)
lw ra,0x94(sp)
lw s8,0x90(sp)
lw s7,0x8c(sp)
lw s6,0x88(sp)
lw s5,0x84(sp)
lw s4,0x80(sp)
lw s3,0x7c(sp)
lw s2,0x78(sp)
lw s1,0x74(sp)
lw s0,0x70(sp)
jr ra
_addiu sp,sp,0x98
b 0x001c8ec4
_lw s4,0x198(s1)
lw t9,-0x72f0(gp)
addiu a0,s4,0x30
jalr t9
_lw a2,0x68(sp)
b 0x001c8ec4
_lw gp,0x30(sp)
lw a2,-0x77f0(gp)
li a1,0xd5e
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x4430
jalr t9
_addiu a0,a0,0x3574
lw t9,-0x72f0(gp)
addiu a2,sp,0x38
or a1,v0,zero
jalr t9
_or a0,s0,zero
b 0x001c929c
_lw ra,0x94(sp)
lw t9,-0x72f0(gp)
addiu a2,sp,0x38
jalr t9
_or a0,s0,zero
lw gp,0x30(sp)
lw v1,0x48(sp)
lw v0,0x34(s4)
b 0x001c9260
_lw a1,0x38(s4)
lw t9,-0x72f0(gp)
addiu a2,sp,0x38
jalr t9
_or a0,s5,zero
b 0x001c90ac
_lw gp,0x30(sp)
lw t9,-0x72f0(gp)
addiu a2,sp,0x38
jalr t9
_or a0,s5,zero
lw gp,0x30(sp)
lw v1,0x54(sp)
lw v0,0x34(s4)
b 0x001c9074
_lw a1,0x38(s4)
lw a2,-0x77f0(gp)
li a1,0xd07
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x4558
jalr t9
_addiu a0,a0,0x3574
(translation_unit "/* void gold::Layout::sized_create_version_sections<64, true>(gold::Versions const*,\n   gold::Symbol_table const*, unsigned int, std::vector<gold::Symbol*, std::allocator<gold::Symbol*>\n   > const&, gold::Output_section const*) */\n\nvoid __thiscall\ngold::Layout::sized_create_version_sections<64,true>\n          (Layout *this,Versions *param_1,Symbol_table *param_2,uint param_3,vector *param_4,\n          Output_section *param_5)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  int iVar7;\n  undefined4 uVar8;\n  int in_t9;\n  code *pcVar9;\n  code *pcVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  int local_60;\n  int local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  int local_50;\n  int local_4c;\n  int local_48;\n  int local_44;\n  int local_40;\n  int local_3c;\n  int local_38 [2];\n  int *local_30;\n  \n  uVar13 = 0;\n  uVar12 = 3;\n  iVar1 = choose_output_section(this,0,*(int *)(in_t9 + 0x2f8d74) + 0x40f4,0x6fffffff,0,2,0,3,0,0,0)\n  ;\n  if (iVar1 != 0) {\n    piVar5 = &local_60;\n    piVar11 = local_38;\n    local_30 = piVar5;\n    (**(code **)(in_t9 + 0x2f9814))(param_1,param_2,this + 0xa8,param_3,param_4,piVar11,piVar5);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[0xb] = 2;\n    piVar2[10] = 0;\n    piVar2[7] = -1;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar7 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[6] = -1;\n    piVar2[5] = local_60;\n    *piVar2 = iVar7 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_38[0];\n    piVar2[0xd] = *(int *)(in_t9 + 0x2f8d74) + 0x4104;\n    (*pcVar9)(iVar1,piVar2);\n    uVar8 = 2;\n    (**(code **)(in_t9 + 0x2f8d90))(iVar1);\n    if ((*(int *)(iVar1 + 0x44) == 0) && (-1 < *(int *)(iVar1 + 0x98) << 2)) {\n      iVar7 = *(int *)(in_t9 + 0x2f8d74);\n      if (*(int *)(iVar1 + 0x98) << 3 < 0) goto LAB_001c9384;\n      iVar7 = *(int *)(this + 0x198);\n      *(undefined4 *)(iVar1 + 0x40) = *(undefined4 *)(this + 0x188);\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = 0;\n        local_60 = iVar1;\n        if (piVar5 == *(int **)(iVar7 + 0x38)) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }\n        else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }\n      }\n      goto LAB_001c8ec4;\n    }\nLAB_001c9380:\n    iVar7 = *(int *)(in_t9 + 0x2f8d74);\nLAB_001c9384:\n    uVar6 = 0xd07;\n    pcVar9 = *(code **)(in_t9 + 0x2f8d54);\n    iVar7 = iVar7 + 0x4558;\n    iVar4 = *(int *)(in_t9 + 0x2f85a0) + 0x3574;\n    (*pcVar9)(iVar4,0xd07,iVar7);\n    iVar1 = *(int *)(iVar4 + 0x1ac);\n    if (iVar1 == 0) {\n      iVar1 = choose_output_section();\n      if (iVar1 == 0) {\n        return;\n      }\n      uVar3 = (**(code **)(pcVar9 + 0x2f800c))(0x138);\n      (**(code **)(pcVar9 + 0x2f9164))(uVar3,iVar1);\n      pcVar10 = *(code **)(pcVar9 + 0x2f8d68);\n      *(undefined4 *)(iVar4 + 0x1ac) = uVar3;\n      (*pcVar10)(iVar1,uVar3);\n      *(uint *)(iVar1 + 0x98) = *(uint *)(iVar1 + 0x98) & 0xf7ffffff | 0x8000000;\n      iVar1 = *(int *)(iVar4 + 0x1ac);\n    }\n                    /* WARNING: Could not recover jumptable at 0x001c9450. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(pcVar9 + 0x2f9160))(iVar1,uVar6,iVar7,uVar8,param_4,piVar11,piVar5,uVar12,uVar13);\n    return;\n  }\n  iVar7 = *(int *)(this + 0x198);\nLAB_001c8ec4:\n  if (*(int *)param_1 == *(int *)(param_1 + 4)) {\nLAB_001c90ac:\n    if (*(int *)(param_1 + 0xc) == *(int *)(param_1 + 0x10)) {\n      return;\n    }\n    uVar12 = 3;\n    uVar13 = 0;\n    piVar5 = (int *)0x0;\n    piVar11 = (int *)0x2;\n    iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4130,0x6ffffffe,0,2,0,3,0,0,0);\n    if (iVar1 == 0) {\n      return;\n    }\n    param_4 = (vector *)&local_50;\n    (**(code **)(in_t9 + 0x2f981c))(param_1,this + 0xa8,&local_48,&local_4c,param_4);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar4 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = local_4c;\n    uVar8 = 0xffffffff;\n    *piVar2 = iVar4 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_48;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar4 + 0x4140;\n    (*pcVar9)(iVar1,piVar2);\n    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;\n    *(Output_section **)(iVar1 + 0x40) = param_5;\n    if (((*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0)) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_50;\n      if (iVar7 == 0) {\n        return;\n      }\n      piVar5 = *(int **)(iVar7 + 0x34);\n      piVar11 = *(int **)(iVar7 + 0x38);\n      param_1 = (Versions *)(iVar7 + 0x30);\n      local_54 = 0;\n      local_58 = 0x6ffffffe;\n      local_5c = 0;\n      if (piVar5 == piVar11) {\n        local_60 = iVar1;\n        (**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);\n        piVar2 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n      }\n      else {\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }\n      local_58 = 0x6fffffff;\n      local_54 = 0xffffffff;\n      local_60 = local_50;\n      if (piVar2 != piVar11) {\n        *piVar2 = local_50;\n        piVar2[2] = 0x6fffffff;\n        piVar2[1] = local_5c;\n        piVar2[3] = -1;\n        *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        return;\n      }\n      goto LAB_001c9304;\n    }\nLAB_001c92e8:\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n  }\n  else {\n    uVar12 = 3;\n    uVar13 = 0;\n    piVar5 = (int *)0x0;\n    piVar11 = (int *)0x2;\n    iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0);\n    if (iVar1 == 0) goto LAB_001c90ac;\n    param_4 = (vector *)&local_44;\n    (**(code **)(in_t9 + 0x2f9818))(param_1,this + 0xa8,&local_3c,&local_40,param_4);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar4 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = local_40;\n    uVar8 = 0xffffffff;\n    *piVar2 = iVar4 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_3c;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar4 + 0x4120;\n    (*pcVar9)(iVar1,piVar2);\n    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;\n    *(Output_section **)(iVar1 + 0x40) = param_5;\n    if (*(int *)(iVar1 + 0x48) != 0) goto LAB_001c92e8;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    if ((*(int *)(iVar1 + 0x4c) == 0) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_44;\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }\n      goto LAB_001c90ac;\n    }\n  }\n  piVar2 = (int *)(**(code **)(in_t9 + 0x2f8d54))\n                            (*(int *)(in_t9 + 0x2f85a0) + 0x3574,0xd5e,iVar4 + 0x4430);\nLAB_001c9304:\n  (**(code **)(in_t9 + 0x2f9274))(param_1,piVar2,&local_60);\n  return;\n}\n\n" comment (declaration "void __thiscall\ngold::Layout::sized_create_version_sections<64,true>\n          (Layout *this,Versions *param_1,Symbol_table *param_2,uint param_3,vector *param_4,\n          Output_section *param_5)\n\n{\n  int iVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Layout::" identifier : : identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "true>\n          (Layout *this,Versions *param_1,Symbol_table *param_2,uint param_3,vector *param_4,\n          Output_section *param_5)\n\n{\n  int" (function_declarator "true>\n          (Layout *this,Versions *param_1,Symbol_table *param_2,uint param_3,vector *param_4,\n          Output_section *param_5)" identifier (ERROR ">" >) (parameter_list "(Layout *this,Versions *param_1,Symbol_table *param_2,uint param_3,vector *param_4,\n          Output_section *param_5)" ( (parameter_declaration "Layout *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Versions *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "Symbol_table *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "vector *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "Output_section *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) ))) { primitive_type) identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "int in_t9;" primitive_type identifier ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "int local_5c;" primitive_type identifier ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "int local_38 [2];" primitive_type (array_declarator "local_38 [2]" identifier [ number_literal ]) ;) (declaration "int *local_30;" primitive_type (pointer_declarator "*local_30" * identifier) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "uVar12 = 3;" (assignment_expression "uVar12 = 3" identifier = number_literal) ;) (expression_statement "iVar1 = choose_output_section(this,0,*(int *)(in_t9 + 0x2f8d74) + 0x40f4,0x6fffffff,0,2,0,3,0,0,0)\n  ;" (assignment_expression "iVar1 = choose_output_section(this,0,*(int *)(in_t9 + 0x2f8d74) + 0x40f4,0x6fffffff,0,2,0,3,0,0,0)" identifier = (call_expression "choose_output_section(this,0,*(int *)(in_t9 + 0x2f8d74) + 0x40f4,0x6fffffff,0,2,0,3,0,0,0)" identifier (argument_list "(this,0,*(int *)(in_t9 + 0x2f8d74) + 0x40f4,0x6fffffff,0,2,0,3,0,0,0)" ( identifier , number_literal , (binary_expression "*(int *)(in_t9 + 0x2f8d74) + 0x40f4" (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar1 != 0) {\n    piVar5 = &local_60;\n    piVar11 = local_38;\n    local_30 = piVar5;\n    (**(code **)(in_t9 + 0x2f9814))(param_1,param_2,this + 0xa8,param_3,param_4,piVar11,piVar5);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[0xb] = 2;\n    piVar2[10] = 0;\n    piVar2[7] = -1;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar7 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[6] = -1;\n    piVar2[5] = local_60;\n    *piVar2 = iVar7 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_38[0];\n    piVar2[0xd] = *(int *)(in_t9 + 0x2f8d74) + 0x4104;\n    (*pcVar9)(iVar1,piVar2);\n    uVar8 = 2;\n    (**(code **)(in_t9 + 0x2f8d90))(iVar1);\n    if ((*(int *)(iVar1 + 0x44) == 0) && (-1 < *(int *)(iVar1 + 0x98) << 2)) {\n      iVar7 = *(int *)(in_t9 + 0x2f8d74);\n      if (*(int *)(iVar1 + 0x98) << 3 < 0) goto LAB_001c9384;\n      iVar7 = *(int *)(this + 0x198);\n      *(undefined4 *)(iVar1 + 0x40) = *(undefined4 *)(this + 0x188);\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = 0;\n        local_60 = iVar1;\n        if (piVar5 == *(int **)(iVar7 + 0x38)) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }\n        else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }\n      }\n      goto LAB_001c8ec4;\n    }\nLAB_001c9380:\n    iVar7 = *(int *)(in_t9 + 0x2f8d74);\nLAB_001c9384:\n    uVar6 = 0xd07;\n    pcVar9 = *(code **)(in_t9 + 0x2f8d54);\n    iVar7 = iVar7 + 0x4558;\n    iVar4 = *(int *)(in_t9 + 0x2f85a0) + 0x3574;\n    (*pcVar9)(iVar4,0xd07,iVar7);\n    iVar1 = *(int *)(iVar4 + 0x1ac);\n    if (iVar1 == 0) {\n      iVar1 = choose_output_section();\n      if (iVar1 == 0) {\n        return;\n      }\n      uVar3 = (**(code **)(pcVar9 + 0x2f800c))(0x138);\n      (**(code **)(pcVar9 + 0x2f9164))(uVar3,iVar1);\n      pcVar10 = *(code **)(pcVar9 + 0x2f8d68);\n      *(undefined4 *)(iVar4 + 0x1ac) = uVar3;\n      (*pcVar10)(iVar1,uVar3);\n      *(uint *)(iVar1 + 0x98) = *(uint *)(iVar1 + 0x98) & 0xf7ffffff | 0x8000000;\n      iVar1 = *(int *)(iVar4 + 0x1ac);\n    }\n                    /* WARNING: Could not recover jumptable at 0x001c9450. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(pcVar9 + 0x2f9160))(iVar1,uVar6,iVar7,uVar8,param_4,piVar11,piVar5,uVar12,uVar13);\n    return;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    piVar5 = &local_60;\n    piVar11 = local_38;\n    local_30 = piVar5;\n    (**(code **)(in_t9 + 0x2f9814))(param_1,param_2,this + 0xa8,param_3,param_4,piVar11,piVar5);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[0xb] = 2;\n    piVar2[10] = 0;\n    piVar2[7] = -1;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar7 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[6] = -1;\n    piVar2[5] = local_60;\n    *piVar2 = iVar7 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_38[0];\n    piVar2[0xd] = *(int *)(in_t9 + 0x2f8d74) + 0x4104;\n    (*pcVar9)(iVar1,piVar2);\n    uVar8 = 2;\n    (**(code **)(in_t9 + 0x2f8d90))(iVar1);\n    if ((*(int *)(iVar1 + 0x44) == 0) && (-1 < *(int *)(iVar1 + 0x98) << 2)) {\n      iVar7 = *(int *)(in_t9 + 0x2f8d74);\n      if (*(int *)(iVar1 + 0x98) << 3 < 0) goto LAB_001c9384;\n      iVar7 = *(int *)(this + 0x198);\n      *(undefined4 *)(iVar1 + 0x40) = *(undefined4 *)(this + 0x188);\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = 0;\n        local_60 = iVar1;\n        if (piVar5 == *(int **)(iVar7 + 0x38)) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }\n        else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }\n      }\n      goto LAB_001c8ec4;\n    }\nLAB_001c9380:\n    iVar7 = *(int *)(in_t9 + 0x2f8d74);\nLAB_001c9384:\n    uVar6 = 0xd07;\n    pcVar9 = *(code **)(in_t9 + 0x2f8d54);\n    iVar7 = iVar7 + 0x4558;\n    iVar4 = *(int *)(in_t9 + 0x2f85a0) + 0x3574;\n    (*pcVar9)(iVar4,0xd07,iVar7);\n    iVar1 = *(int *)(iVar4 + 0x1ac);\n    if (iVar1 == 0) {\n      iVar1 = choose_output_section();\n      if (iVar1 == 0) {\n        return;\n      }\n      uVar3 = (**(code **)(pcVar9 + 0x2f800c))(0x138);\n      (**(code **)(pcVar9 + 0x2f9164))(uVar3,iVar1);\n      pcVar10 = *(code **)(pcVar9 + 0x2f8d68);\n      *(undefined4 *)(iVar4 + 0x1ac) = uVar3;\n      (*pcVar10)(iVar1,uVar3);\n      *(uint *)(iVar1 + 0x98) = *(uint *)(iVar1 + 0x98) & 0xf7ffffff | 0x8000000;\n      iVar1 = *(int *)(iVar4 + 0x1ac);\n    }\n                    /* WARNING: Could not recover jumptable at 0x001c9450. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(pcVar9 + 0x2f9160))(iVar1,uVar6,iVar7,uVar8,param_4,piVar11,piVar5,uVar12,uVar13);\n    return;\n  }" { (expression_statement "piVar5 = &local_60;" (assignment_expression "piVar5 = &local_60" identifier = (pointer_expression "&local_60" & identifier)) ;) (expression_statement "piVar11 = local_38;" (assignment_expression "piVar11 = local_38" identifier = identifier) ;) (expression_statement "local_30 = piVar5;" (assignment_expression "local_30 = piVar5" identifier = identifier) ;) (expression_statement "(**(code **)(in_t9 + 0x2f9814))(param_1,param_2,this + 0xa8,param_3,param_4,piVar11,piVar5);" (call_expression "(**(code **)(in_t9 + 0x2f9814))(param_1,param_2,this + 0xa8,param_3,param_4,piVar11,piVar5)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9814))" ( (pointer_expression "**(code **)(in_t9 + 0x2f9814)" * (pointer_expression "*(code **)(in_t9 + 0x2f9814)" * (cast_expression "(code **)(in_t9 + 0x2f9814)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9814)" ( (binary_expression "in_t9 + 0x2f9814" identifier + number_literal) ))))) )) (argument_list "(param_1,param_2,this + 0xa8,param_3,param_4,piVar11,piVar5)" ( identifier , identifier , (binary_expression "this + 0xa8" identifier + number_literal) , identifier , identifier , identifier , identifier ))) ;) (expression_statement "piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);" (assignment_expression "piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38)" identifier = (cast_expression "(int *)(**(code **)(in_t9 + 0x2f86cc))(0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x2f86cc))(0x38)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f86cc))" ( (pointer_expression "**(code **)(in_t9 + 0x2f86cc)" * (pointer_expression "*(code **)(in_t9 + 0x2f86cc)" * (cast_expression "(code **)(in_t9 + 0x2f86cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f86cc)" ( (binary_expression "in_t9 + 0x2f86cc" identifier + number_literal) ))))) )) (argument_list "(0x38)" ( number_literal ))))) ;) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xb] = 2;" (assignment_expression "piVar2[0xb] = 2" (subscript_expression "piVar2[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[7] = -1;" (assignment_expression "piVar2[7] = -1" (subscript_expression "piVar2[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;" (assignment_expression "*(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50" (pointer_expression "*(byte *)(piVar2 + 8)" * (cast_expression "(byte *)(piVar2 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 8)" ( (binary_expression "piVar2 + 8" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar2 + 8) & 7 | 0x50" (binary_expression "*(byte *)(piVar2 + 8) & 7" (pointer_expression "*(byte *)(piVar2 + 8)" * (cast_expression "(byte *)(piVar2 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 8)" ( (binary_expression "piVar2 + 8" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "iVar7 = *(int *)(in_t9 + 0x2f965c);" (assignment_expression "iVar7 = *(int *)(in_t9 + 0x2f965c)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f965c)" * (cast_expression "(int *)(in_t9 + 0x2f965c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f965c)" ( (binary_expression "in_t9 + 0x2f965c" identifier + number_literal) ))))) ;) (expression_statement "pcVar9 = *(code **)(in_t9 + 0x2f9428);" (assignment_expression "pcVar9 = *(code **)(in_t9 + 0x2f9428)" identifier = (pointer_expression "*(code **)(in_t9 + 0x2f9428)" * (cast_expression "(code **)(in_t9 + 0x2f9428)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9428)" ( (binary_expression "in_t9 + 0x2f9428" identifier + number_literal) ))))) ;) (expression_statement "piVar2[6] = -1;" (assignment_expression "piVar2[6] = -1" (subscript_expression "piVar2[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[5] = local_60;" (assignment_expression "piVar2[5] = local_60" (subscript_expression "piVar2[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar2 = iVar7 + 8;" (assignment_expression "*piVar2 = iVar7 + 8" (pointer_expression "*piVar2" * identifier) = (binary_expression "iVar7 + 8" identifier + number_literal)) ;) (expression_statement "piVar2[9] = 0;" (assignment_expression "piVar2[9] = 0" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xc] = local_38[0];" (assignment_expression "piVar2[0xc] = local_38[0]" (subscript_expression "piVar2[0xc]" identifier [ number_literal ]) = (subscript_expression "local_38[0]" identifier [ number_literal ])) ;) (expression_statement "piVar2[0xd] = *(int *)(in_t9 + 0x2f8d74) + 0x4104;" (assignment_expression "piVar2[0xd] = *(int *)(in_t9 + 0x2f8d74) + 0x4104" (subscript_expression "piVar2[0xd]" identifier [ number_literal ]) = (binary_expression "*(int *)(in_t9 + 0x2f8d74) + 0x4104" (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar9)(iVar1,piVar2);" (call_expression "(*pcVar9)(iVar1,piVar2)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(iVar1,piVar2)" ( identifier , identifier ))) ;) (expression_statement "uVar8 = 2;" (assignment_expression "uVar8 = 2" identifier = number_literal) ;) (expression_statement "(**(code **)(in_t9 + 0x2f8d90))(iVar1);" (call_expression "(**(code **)(in_t9 + 0x2f8d90))(iVar1)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f8d90))" ( (pointer_expression "**(code **)(in_t9 + 0x2f8d90)" * (pointer_expression "*(code **)(in_t9 + 0x2f8d90)" * (cast_expression "(code **)(in_t9 + 0x2f8d90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f8d90)" ( (binary_expression "in_t9 + 0x2f8d90" identifier + number_literal) ))))) )) (argument_list "(iVar1)" ( identifier ))) ;) (if_statement "if ((*(int *)(iVar1 + 0x44) == 0) && (-1 < *(int *)(iVar1 + 0x98) << 2)) {\n      iVar7 = *(int *)(in_t9 + 0x2f8d74);\n      if (*(int *)(iVar1 + 0x98) << 3 < 0) goto LAB_001c9384;\n      iVar7 = *(int *)(this + 0x198);\n      *(undefined4 *)(iVar1 + 0x40) = *(undefined4 *)(this + 0x188);\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = 0;\n        local_60 = iVar1;\n        if (piVar5 == *(int **)(iVar7 + 0x38)) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }\n        else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }\n      }\n      goto LAB_001c8ec4;\n    }" if (parenthesized_expression "((*(int *)(iVar1 + 0x44) == 0) && (-1 < *(int *)(iVar1 + 0x98) << 2))" ( (binary_expression "(*(int *)(iVar1 + 0x44) == 0) && (-1 < *(int *)(iVar1 + 0x98) << 2)" (parenthesized_expression "(*(int *)(iVar1 + 0x44) == 0)" ( (binary_expression "*(int *)(iVar1 + 0x44) == 0" (pointer_expression "*(int *)(iVar1 + 0x44)" * (cast_expression "(int *)(iVar1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x44)" ( (binary_expression "iVar1 + 0x44" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(-1 < *(int *)(iVar1 + 0x98) << 2)" ( (binary_expression "-1 < *(int *)(iVar1 + 0x98) << 2" number_literal < (binary_expression "*(int *)(iVar1 + 0x98) << 2" (pointer_expression "*(int *)(iVar1 + 0x98)" * (cast_expression "(int *)(iVar1 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x98)" ( (binary_expression "iVar1 + 0x98" identifier + number_literal) )))) << number_literal)) ))) )) (compound_statement "{\n      iVar7 = *(int *)(in_t9 + 0x2f8d74);\n      if (*(int *)(iVar1 + 0x98) << 3 < 0) goto LAB_001c9384;\n      iVar7 = *(int *)(this + 0x198);\n      *(undefined4 *)(iVar1 + 0x40) = *(undefined4 *)(this + 0x188);\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = 0;\n        local_60 = iVar1;\n        if (piVar5 == *(int **)(iVar7 + 0x38)) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }\n        else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }\n      }\n      goto LAB_001c8ec4;\n    }" { (expression_statement "iVar7 = *(int *)(in_t9 + 0x2f8d74);" (assignment_expression "iVar7 = *(int *)(in_t9 + 0x2f8d74)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar1 + 0x98) << 3 < 0) goto LAB_001c9384;" if (parenthesized_expression "(*(int *)(iVar1 + 0x98) << 3 < 0)" ( (binary_expression "*(int *)(iVar1 + 0x98) << 3 < 0" (binary_expression "*(int *)(iVar1 + 0x98) << 3" (pointer_expression "*(int *)(iVar1 + 0x98)" * (cast_expression "(int *)(iVar1 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x98)" ( (binary_expression "iVar1 + 0x98" identifier + number_literal) )))) << number_literal) < number_literal) )) (goto_statement "goto LAB_001c9384;" goto statement_identifier ;)) (expression_statement "iVar7 = *(int *)(this + 0x198);" (assignment_expression "iVar7 = *(int *)(this + 0x198)" identifier = (pointer_expression "*(int *)(this + 0x198)" * (cast_expression "(int *)(this + 0x198)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x198)" ( (binary_expression "this + 0x198" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x40) = *(undefined4 *)(this + 0x188);" (assignment_expression "*(undefined4 *)(iVar1 + 0x40) = *(undefined4 *)(this + 0x188)" (pointer_expression "*(undefined4 *)(iVar1 + 0x40)" * (cast_expression "(undefined4 *)(iVar1 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x40)" ( (binary_expression "iVar1 + 0x40" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(this + 0x188)" * (cast_expression "(undefined4 *)(this + 0x188)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x188)" ( (binary_expression "this + 0x188" identifier + number_literal) ))))) ;) (if_statement "if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = 0;\n        local_60 = iVar1;\n        if (piVar5 == *(int **)(iVar7 + 0x38)) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }\n        else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        piVar5 = *(int **)(iVar7 + 0x34);\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = 0;\n        local_60 = iVar1;\n        if (piVar5 == *(int **)(iVar7 + 0x38)) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }\n        else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }\n      }" { (expression_statement "piVar5 = *(int **)(iVar7 + 0x34);" (assignment_expression "piVar5 = *(int **)(iVar7 + 0x34)" identifier = (pointer_expression "*(int **)(iVar7 + 0x34)" * (cast_expression "(int **)(iVar7 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x34)" ( (binary_expression "iVar7 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "local_58 = 0x6ffffff0;" (assignment_expression "local_58 = 0x6ffffff0" identifier = number_literal) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_60 = iVar1;" (assignment_expression "local_60 = iVar1" identifier = identifier) ;) (if_statement "if (piVar5 == *(int **)(iVar7 + 0x38)) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }\n        else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }" if (parenthesized_expression "(piVar5 == *(int **)(iVar7 + 0x38))" ( (binary_expression "piVar5 == *(int **)(iVar7 + 0x38)" identifier == (pointer_expression "*(int **)(iVar7 + 0x38)" * (cast_expression "(int **)(iVar7 + 0x38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x38)" ( (binary_expression "iVar7 + 0x38" identifier + number_literal) ))))) )) (compound_statement "{\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }" { (expression_statement "(**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);" (call_expression "(**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9274))" ( (pointer_expression "**(code **)(in_t9 + 0x2f9274)" * (pointer_expression "*(code **)(in_t9 + 0x2f9274)" * (cast_expression "(code **)(in_t9 + 0x2f9274)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9274)" ( (binary_expression "in_t9 + 0x2f9274" identifier + number_literal) ))))) )) (argument_list "(iVar7 + 0x30,piVar5,local_30)" ( (binary_expression "iVar7 + 0x30" identifier + number_literal) , identifier , identifier ))) ;) }) (else_clause "else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }" else (compound_statement "{\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }" { (expression_statement "*piVar5 = iVar1;" (assignment_expression "*piVar5 = iVar1" (pointer_expression "*piVar5" * identifier) = identifier) ;) (expression_statement "piVar5[1] = 0;" (assignment_expression "piVar5[1] = 0" (subscript_expression "piVar5[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[2] = 0x6ffffff0;" (assignment_expression "piVar5[2] = 0x6ffffff0" (subscript_expression "piVar5[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[3] = 0;" (assignment_expression "piVar5[3] = 0" (subscript_expression "piVar5[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int **)(iVar7 + 0x34) = piVar5 + 4;" (assignment_expression "*(int **)(iVar7 + 0x34) = piVar5 + 4" (pointer_expression "*(int **)(iVar7 + 0x34)" * (cast_expression "(int **)(iVar7 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x34)" ( (binary_expression "iVar7 + 0x34" identifier + number_literal) )))) = (binary_expression "piVar5 + 4" identifier + number_literal)) ;) }))) })) (goto_statement "goto LAB_001c8ec4;" goto statement_identifier ;) })) (labeled_statement "LAB_001c9380:\n    iVar7 = *(int *)(in_t9 + 0x2f8d74);" statement_identifier : (expression_statement "iVar7 = *(int *)(in_t9 + 0x2f8d74);" (assignment_expression "iVar7 = *(int *)(in_t9 + 0x2f8d74)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_001c9384:\n    uVar6 = 0xd07;" statement_identifier : (expression_statement "uVar6 = 0xd07;" (assignment_expression "uVar6 = 0xd07" identifier = number_literal) ;)) (expression_statement "pcVar9 = *(code **)(in_t9 + 0x2f8d54);" (assignment_expression "pcVar9 = *(code **)(in_t9 + 0x2f8d54)" identifier = (pointer_expression "*(code **)(in_t9 + 0x2f8d54)" * (cast_expression "(code **)(in_t9 + 0x2f8d54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f8d54)" ( (binary_expression "in_t9 + 0x2f8d54" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = iVar7 + 0x4558;" (assignment_expression "iVar7 = iVar7 + 0x4558" identifier = (binary_expression "iVar7 + 0x4558" identifier + number_literal)) ;) (expression_statement "iVar4 = *(int *)(in_t9 + 0x2f85a0) + 0x3574;" (assignment_expression "iVar4 = *(int *)(in_t9 + 0x2f85a0) + 0x3574" identifier = (binary_expression "*(int *)(in_t9 + 0x2f85a0) + 0x3574" (pointer_expression "*(int *)(in_t9 + 0x2f85a0)" * (cast_expression "(int *)(in_t9 + 0x2f85a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f85a0)" ( (binary_expression "in_t9 + 0x2f85a0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar9)(iVar4,0xd07,iVar7);" (call_expression "(*pcVar9)(iVar4,0xd07,iVar7)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(iVar4,0xd07,iVar7)" ( identifier , number_literal , identifier ))) ;) (expression_statement "iVar1 = *(int *)(iVar4 + 0x1ac);" (assignment_expression "iVar1 = *(int *)(iVar4 + 0x1ac)" identifier = (pointer_expression "*(int *)(iVar4 + 0x1ac)" * (cast_expression "(int *)(iVar4 + 0x1ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1ac)" ( (binary_expression "iVar4 + 0x1ac" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 == 0) {\n      iVar1 = choose_output_section();\n      if (iVar1 == 0) {\n        return;\n      }\n      uVar3 = (**(code **)(pcVar9 + 0x2f800c))(0x138);\n      (**(code **)(pcVar9 + 0x2f9164))(uVar3,iVar1);\n      pcVar10 = *(code **)(pcVar9 + 0x2f8d68);\n      *(undefined4 *)(iVar4 + 0x1ac) = uVar3;\n      (*pcVar10)(iVar1,uVar3);\n      *(uint *)(iVar1 + 0x98) = *(uint *)(iVar1 + 0x98) & 0xf7ffffff | 0x8000000;\n      iVar1 = *(int *)(iVar4 + 0x1ac);\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar1 = choose_output_section();\n      if (iVar1 == 0) {\n        return;\n      }\n      uVar3 = (**(code **)(pcVar9 + 0x2f800c))(0x138);\n      (**(code **)(pcVar9 + 0x2f9164))(uVar3,iVar1);\n      pcVar10 = *(code **)(pcVar9 + 0x2f8d68);\n      *(undefined4 *)(iVar4 + 0x1ac) = uVar3;\n      (*pcVar10)(iVar1,uVar3);\n      *(uint *)(iVar1 + 0x98) = *(uint *)(iVar1 + 0x98) & 0xf7ffffff | 0x8000000;\n      iVar1 = *(int *)(iVar4 + 0x1ac);\n    }" { (expression_statement "iVar1 = choose_output_section();" (assignment_expression "iVar1 = choose_output_section()" identifier = (call_expression "choose_output_section()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar1 == 0) {\n        return;\n      }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "uVar3 = (**(code **)(pcVar9 + 0x2f800c))(0x138);" (assignment_expression "uVar3 = (**(code **)(pcVar9 + 0x2f800c))(0x138)" identifier = (call_expression "(**(code **)(pcVar9 + 0x2f800c))(0x138)" (parenthesized_expression "(**(code **)(pcVar9 + 0x2f800c))" ( (pointer_expression "**(code **)(pcVar9 + 0x2f800c)" * (pointer_expression "*(code **)(pcVar9 + 0x2f800c)" * (cast_expression "(code **)(pcVar9 + 0x2f800c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x2f800c)" ( (binary_expression "pcVar9 + 0x2f800c" identifier + number_literal) ))))) )) (argument_list "(0x138)" ( number_literal )))) ;) (expression_statement "(**(code **)(pcVar9 + 0x2f9164))(uVar3,iVar1);" (call_expression "(**(code **)(pcVar9 + 0x2f9164))(uVar3,iVar1)" (parenthesized_expression "(**(code **)(pcVar9 + 0x2f9164))" ( (pointer_expression "**(code **)(pcVar9 + 0x2f9164)" * (pointer_expression "*(code **)(pcVar9 + 0x2f9164)" * (cast_expression "(code **)(pcVar9 + 0x2f9164)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x2f9164)" ( (binary_expression "pcVar9 + 0x2f9164" identifier + number_literal) ))))) )) (argument_list "(uVar3,iVar1)" ( identifier , identifier ))) ;) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x2f8d68);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x2f8d68)" identifier = (pointer_expression "*(code **)(pcVar9 + 0x2f8d68)" * (cast_expression "(code **)(pcVar9 + 0x2f8d68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x2f8d68)" ( (binary_expression "pcVar9 + 0x2f8d68" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar4 + 0x1ac) = uVar3;" (assignment_expression "*(undefined4 *)(iVar4 + 0x1ac) = uVar3" (pointer_expression "*(undefined4 *)(iVar4 + 0x1ac)" * (cast_expression "(undefined4 *)(iVar4 + 0x1ac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1ac)" ( (binary_expression "iVar4 + 0x1ac" identifier + number_literal) )))) = identifier) ;) (expression_statement "(*pcVar10)(iVar1,uVar3);" (call_expression "(*pcVar10)(iVar1,uVar3)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(iVar1,uVar3)" ( identifier , identifier ))) ;) (expression_statement "*(uint *)(iVar1 + 0x98) = *(uint *)(iVar1 + 0x98) & 0xf7ffffff | 0x8000000;" (assignment_expression "*(uint *)(iVar1 + 0x98) = *(uint *)(iVar1 + 0x98) & 0xf7ffffff | 0x8000000" (pointer_expression "*(uint *)(iVar1 + 0x98)" * (cast_expression "(uint *)(iVar1 + 0x98)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x98)" ( (binary_expression "iVar1 + 0x98" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar1 + 0x98) & 0xf7ffffff | 0x8000000" (binary_expression "*(uint *)(iVar1 + 0x98) & 0xf7ffffff" (pointer_expression "*(uint *)(iVar1 + 0x98)" * (cast_expression "(uint *)(iVar1 + 0x98)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x98)" ( (binary_expression "iVar1 + 0x98" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "iVar1 = *(int *)(iVar4 + 0x1ac);" (assignment_expression "iVar1 = *(int *)(iVar4 + 0x1ac)" identifier = (pointer_expression "*(int *)(iVar4 + 0x1ac)" * (cast_expression "(int *)(iVar4 + 0x1ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1ac)" ( (binary_expression "iVar4 + 0x1ac" identifier + number_literal) ))))) ;) })) comment comment (expression_statement "(**(code **)(pcVar9 + 0x2f9160))(iVar1,uVar6,iVar7,uVar8,param_4,piVar11,piVar5,uVar12,uVar13);" (call_expression "(**(code **)(pcVar9 + 0x2f9160))(iVar1,uVar6,iVar7,uVar8,param_4,piVar11,piVar5,uVar12,uVar13)" (parenthesized_expression "(**(code **)(pcVar9 + 0x2f9160))" ( (pointer_expression "**(code **)(pcVar9 + 0x2f9160)" * (pointer_expression "*(code **)(pcVar9 + 0x2f9160)" * (cast_expression "(code **)(pcVar9 + 0x2f9160)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x2f9160)" ( (binary_expression "pcVar9 + 0x2f9160" identifier + number_literal) ))))) )) (argument_list "(iVar1,uVar6,iVar7,uVar8,param_4,piVar11,piVar5,uVar12,uVar13)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar7 = *(int *)(this + 0x198);" (assignment_expression "iVar7 = *(int *)(this + 0x198)" identifier = (pointer_expression "*(int *)(this + 0x198)" * (cast_expression "(int *)(this + 0x198)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x198)" ( (binary_expression "this + 0x198" identifier + number_literal) ))))) ;) (labeled_statement "LAB_001c8ec4:\n  if (*(int *)param_1 == *(int *)(param_1 + 4)) {\nLAB_001c90ac:\n    if (*(int *)(param_1 + 0xc) == *(int *)(param_1 + 0x10)) {\n      return;\n    }\n    uVar12 = 3;\n    uVar13 = 0;\n    piVar5 = (int *)0x0;\n    piVar11 = (int *)0x2;\n    iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4130,0x6ffffffe,0,2,0,3,0,0,0);\n    if (iVar1 == 0) {\n      return;\n    }\n    param_4 = (vector *)&local_50;\n    (**(code **)(in_t9 + 0x2f981c))(param_1,this + 0xa8,&local_48,&local_4c,param_4);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar4 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = local_4c;\n    uVar8 = 0xffffffff;\n    *piVar2 = iVar4 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_48;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar4 + 0x4140;\n    (*pcVar9)(iVar1,piVar2);\n    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;\n    *(Output_section **)(iVar1 + 0x40) = param_5;\n    if (((*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0)) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_50;\n      if (iVar7 == 0) {\n        return;\n      }\n      piVar5 = *(int **)(iVar7 + 0x34);\n      piVar11 = *(int **)(iVar7 + 0x38);\n      param_1 = (Versions *)(iVar7 + 0x30);\n      local_54 = 0;\n      local_58 = 0x6ffffffe;\n      local_5c = 0;\n      if (piVar5 == piVar11) {\n        local_60 = iVar1;\n        (**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);\n        piVar2 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n      }\n      else {\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }\n      local_58 = 0x6fffffff;\n      local_54 = 0xffffffff;\n      local_60 = local_50;\n      if (piVar2 != piVar11) {\n        *piVar2 = local_50;\n        piVar2[2] = 0x6fffffff;\n        piVar2[1] = local_5c;\n        piVar2[3] = -1;\n        *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        return;\n      }\n      goto LAB_001c9304;\n    }\nLAB_001c92e8:\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n  }\n  else {\n    uVar12 = 3;\n    uVar13 = 0;\n    piVar5 = (int *)0x0;\n    piVar11 = (int *)0x2;\n    iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0);\n    if (iVar1 == 0) goto LAB_001c90ac;\n    param_4 = (vector *)&local_44;\n    (**(code **)(in_t9 + 0x2f9818))(param_1,this + 0xa8,&local_3c,&local_40,param_4);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar4 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = local_40;\n    uVar8 = 0xffffffff;\n    *piVar2 = iVar4 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_3c;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar4 + 0x4120;\n    (*pcVar9)(iVar1,piVar2);\n    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;\n    *(Output_section **)(iVar1 + 0x40) = param_5;\n    if (*(int *)(iVar1 + 0x48) != 0) goto LAB_001c92e8;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    if ((*(int *)(iVar1 + 0x4c) == 0) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_44;\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }\n      goto LAB_001c90ac;\n    }\n  }" statement_identifier : (if_statement "if (*(int *)param_1 == *(int *)(param_1 + 4)) {\nLAB_001c90ac:\n    if (*(int *)(param_1 + 0xc) == *(int *)(param_1 + 0x10)) {\n      return;\n    }\n    uVar12 = 3;\n    uVar13 = 0;\n    piVar5 = (int *)0x0;\n    piVar11 = (int *)0x2;\n    iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4130,0x6ffffffe,0,2,0,3,0,0,0);\n    if (iVar1 == 0) {\n      return;\n    }\n    param_4 = (vector *)&local_50;\n    (**(code **)(in_t9 + 0x2f981c))(param_1,this + 0xa8,&local_48,&local_4c,param_4);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar4 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = local_4c;\n    uVar8 = 0xffffffff;\n    *piVar2 = iVar4 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_48;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar4 + 0x4140;\n    (*pcVar9)(iVar1,piVar2);\n    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;\n    *(Output_section **)(iVar1 + 0x40) = param_5;\n    if (((*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0)) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_50;\n      if (iVar7 == 0) {\n        return;\n      }\n      piVar5 = *(int **)(iVar7 + 0x34);\n      piVar11 = *(int **)(iVar7 + 0x38);\n      param_1 = (Versions *)(iVar7 + 0x30);\n      local_54 = 0;\n      local_58 = 0x6ffffffe;\n      local_5c = 0;\n      if (piVar5 == piVar11) {\n        local_60 = iVar1;\n        (**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);\n        piVar2 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n      }\n      else {\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }\n      local_58 = 0x6fffffff;\n      local_54 = 0xffffffff;\n      local_60 = local_50;\n      if (piVar2 != piVar11) {\n        *piVar2 = local_50;\n        piVar2[2] = 0x6fffffff;\n        piVar2[1] = local_5c;\n        piVar2[3] = -1;\n        *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        return;\n      }\n      goto LAB_001c9304;\n    }\nLAB_001c92e8:\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n  }\n  else {\n    uVar12 = 3;\n    uVar13 = 0;\n    piVar5 = (int *)0x0;\n    piVar11 = (int *)0x2;\n    iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0);\n    if (iVar1 == 0) goto LAB_001c90ac;\n    param_4 = (vector *)&local_44;\n    (**(code **)(in_t9 + 0x2f9818))(param_1,this + 0xa8,&local_3c,&local_40,param_4);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar4 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = local_40;\n    uVar8 = 0xffffffff;\n    *piVar2 = iVar4 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_3c;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar4 + 0x4120;\n    (*pcVar9)(iVar1,piVar2);\n    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;\n    *(Output_section **)(iVar1 + 0x40) = param_5;\n    if (*(int *)(iVar1 + 0x48) != 0) goto LAB_001c92e8;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    if ((*(int *)(iVar1 + 0x4c) == 0) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_44;\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }\n      goto LAB_001c90ac;\n    }\n  }" if (parenthesized_expression "(*(int *)param_1 == *(int *)(param_1 + 4))" ( (binary_expression "*(int *)param_1 == *(int *)(param_1 + 4)" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (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) ))))) )) (compound_statement "{\nLAB_001c90ac:\n    if (*(int *)(param_1 + 0xc) == *(int *)(param_1 + 0x10)) {\n      return;\n    }\n    uVar12 = 3;\n    uVar13 = 0;\n    piVar5 = (int *)0x0;\n    piVar11 = (int *)0x2;\n    iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4130,0x6ffffffe,0,2,0,3,0,0,0);\n    if (iVar1 == 0) {\n      return;\n    }\n    param_4 = (vector *)&local_50;\n    (**(code **)(in_t9 + 0x2f981c))(param_1,this + 0xa8,&local_48,&local_4c,param_4);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar4 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = local_4c;\n    uVar8 = 0xffffffff;\n    *piVar2 = iVar4 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_48;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar4 + 0x4140;\n    (*pcVar9)(iVar1,piVar2);\n    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;\n    *(Output_section **)(iVar1 + 0x40) = param_5;\n    if (((*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0)) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_50;\n      if (iVar7 == 0) {\n        return;\n      }\n      piVar5 = *(int **)(iVar7 + 0x34);\n      piVar11 = *(int **)(iVar7 + 0x38);\n      param_1 = (Versions *)(iVar7 + 0x30);\n      local_54 = 0;\n      local_58 = 0x6ffffffe;\n      local_5c = 0;\n      if (piVar5 == piVar11) {\n        local_60 = iVar1;\n        (**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);\n        piVar2 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n      }\n      else {\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }\n      local_58 = 0x6fffffff;\n      local_54 = 0xffffffff;\n      local_60 = local_50;\n      if (piVar2 != piVar11) {\n        *piVar2 = local_50;\n        piVar2[2] = 0x6fffffff;\n        piVar2[1] = local_5c;\n        piVar2[3] = -1;\n        *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        return;\n      }\n      goto LAB_001c9304;\n    }\nLAB_001c92e8:\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n  }" { (labeled_statement "LAB_001c90ac:\n    if (*(int *)(param_1 + 0xc) == *(int *)(param_1 + 0x10)) {\n      return;\n    }" statement_identifier : (if_statement "if (*(int *)(param_1 + 0xc) == *(int *)(param_1 + 0x10)) {\n      return;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0xc) == *(int *)(param_1 + 0x10))" ( (binary_expression "*(int *)(param_1 + 0xc) == *(int *)(param_1 + 0x10)" (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) == (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) }))) (expression_statement "uVar12 = 3;" (assignment_expression "uVar12 = 3" identifier = number_literal) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "piVar5 = (int *)0x0;" (assignment_expression "piVar5 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar11 = (int *)0x2;" (assignment_expression "piVar11 = (int *)0x2" identifier = (cast_expression "(int *)0x2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4130,0x6ffffffe,0,2,0,3,0,0,0);" (assignment_expression "iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4130,0x6ffffffe,0,2,0,3,0,0,0)" identifier = (call_expression "choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4130,0x6ffffffe,0,2,0,3,0,0,0)" identifier (argument_list "(this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4130,0x6ffffffe,0,2,0,3,0,0,0)" ( identifier , number_literal , (binary_expression "*(int *)(in_t9 + 0x2f8d74) + 0x4130" (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar1 == 0) {\n      return;\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "param_4 = (vector *)&local_50;" (assignment_expression "param_4 = (vector *)&local_50" identifier = (cast_expression "(vector *)&local_50" ( (type_descriptor "vector *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_50" & identifier))) ;) (expression_statement "(**(code **)(in_t9 + 0x2f981c))(param_1,this + 0xa8,&local_48,&local_4c,param_4);" (call_expression "(**(code **)(in_t9 + 0x2f981c))(param_1,this + 0xa8,&local_48,&local_4c,param_4)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f981c))" ( (pointer_expression "**(code **)(in_t9 + 0x2f981c)" * (pointer_expression "*(code **)(in_t9 + 0x2f981c)" * (cast_expression "(code **)(in_t9 + 0x2f981c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f981c)" ( (binary_expression "in_t9 + 0x2f981c" identifier + number_literal) ))))) )) (argument_list "(param_1,this + 0xa8,&local_48,&local_4c,param_4)" ( identifier , (binary_expression "this + 0xa8" identifier + number_literal) , (pointer_expression "&local_48" & identifier) , (pointer_expression "&local_4c" & identifier) , identifier ))) ;) (expression_statement "piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);" (assignment_expression "piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38)" identifier = (cast_expression "(int *)(**(code **)(in_t9 + 0x2f86cc))(0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x2f86cc))(0x38)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f86cc))" ( (pointer_expression "**(code **)(in_t9 + 0x2f86cc)" * (pointer_expression "*(code **)(in_t9 + 0x2f86cc)" * (cast_expression "(code **)(in_t9 + 0x2f86cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f86cc)" ( (binary_expression "in_t9 + 0x2f86cc" identifier + number_literal) ))))) )) (argument_list "(0x38)" ( number_literal ))))) ;) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;" (assignment_expression "*(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50" (pointer_expression "*(byte *)(piVar2 + 8)" * (cast_expression "(byte *)(piVar2 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 8)" ( (binary_expression "piVar2 + 8" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar2 + 8) & 7 | 0x50" (binary_expression "*(byte *)(piVar2 + 8) & 7" (pointer_expression "*(byte *)(piVar2 + 8)" * (cast_expression "(byte *)(piVar2 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 8)" ( (binary_expression "piVar2 + 8" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "iVar4 = *(int *)(in_t9 + 0x2f965c);" (assignment_expression "iVar4 = *(int *)(in_t9 + 0x2f965c)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f965c)" * (cast_expression "(int *)(in_t9 + 0x2f965c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f965c)" ( (binary_expression "in_t9 + 0x2f965c" identifier + number_literal) ))))) ;) (expression_statement "pcVar9 = *(code **)(in_t9 + 0x2f9428);" (assignment_expression "pcVar9 = *(code **)(in_t9 + 0x2f9428)" identifier = (pointer_expression "*(code **)(in_t9 + 0x2f9428)" * (cast_expression "(code **)(in_t9 + 0x2f9428)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9428)" ( (binary_expression "in_t9 + 0x2f9428" identifier + number_literal) ))))) ;) (expression_statement "piVar2[0xb] = 4;" (assignment_expression "piVar2[0xb] = 4" (subscript_expression "piVar2[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[5] = local_4c;" (assignment_expression "piVar2[5] = local_4c" (subscript_expression "piVar2[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar8 = 0xffffffff;" (assignment_expression "uVar8 = 0xffffffff" identifier = number_literal) ;) (expression_statement "*piVar2 = iVar4 + 8;" (assignment_expression "*piVar2 = iVar4 + 8" (pointer_expression "*piVar2" * identifier) = (binary_expression "iVar4 + 8" identifier + number_literal)) ;) (expression_statement "piVar2[9] = 0;" (assignment_expression "piVar2[9] = 0" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xc] = local_48;" (assignment_expression "piVar2[0xc] = local_48" (subscript_expression "piVar2[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar4 = *(int *)(in_t9 + 0x2f8d74);" (assignment_expression "iVar4 = *(int *)(in_t9 + 0x2f8d74)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) ))))) ;) (expression_statement "piVar2[7] = -1;" (assignment_expression "piVar2[7] = -1" (subscript_expression "piVar2[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[6] = -1;" (assignment_expression "piVar2[6] = -1" (subscript_expression "piVar2[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xd] = iVar4 + 0x4140;" (assignment_expression "piVar2[0xd] = iVar4 + 0x4140" (subscript_expression "piVar2[0xd]" identifier [ number_literal ]) = (binary_expression "iVar4 + 0x4140" identifier + number_literal)) ;) (expression_statement "(*pcVar9)(iVar1,piVar2);" (call_expression "(*pcVar9)(iVar1,piVar2)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(iVar1,piVar2)" ( identifier , identifier ))) ;) (if_statement "if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;" if (parenthesized_expression "(((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0))" ( (binary_expression "((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)" (parenthesized_expression "((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0))" ( (binary_expression "(*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)" (parenthesized_expression "(*(int *)(iVar1 + 0x44) != 0)" ( (binary_expression "*(int *)(iVar1 + 0x44) != 0" (pointer_expression "*(int *)(iVar1 + 0x44)" * (cast_expression "(int *)(iVar1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x44)" ( (binary_expression "iVar1 + 0x44" identifier + number_literal) )))) != number_literal) )) || (parenthesized_expression "(*(int *)(iVar1 + 0x98) << 2 < 0)" ( (binary_expression "*(int *)(iVar1 + 0x98) << 2 < 0" (binary_expression "*(int *)(iVar1 + 0x98) << 2" (pointer_expression "*(int *)(iVar1 + 0x98)" * (cast_expression "(int *)(iVar1 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x98)" ( (binary_expression "iVar1 + 0x98" identifier + number_literal) )))) << number_literal) < number_literal) ))) )) || (parenthesized_expression "(*(int *)(iVar1 + 0x98) << 3 < 0)" ( (binary_expression "*(int *)(iVar1 + 0x98) << 3 < 0" (binary_expression "*(int *)(iVar1 + 0x98) << 3" (pointer_expression "*(int *)(iVar1 + 0x98)" * (cast_expression "(int *)(iVar1 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x98)" ( (binary_expression "iVar1 + 0x98" identifier + number_literal) )))) << number_literal) < number_literal) ))) )) (goto_statement "goto LAB_001c9380;" goto statement_identifier ;)) (expression_statement "*(Output_section **)(iVar1 + 0x40) = param_5;" (assignment_expression "*(Output_section **)(iVar1 + 0x40) = param_5" (pointer_expression "*(Output_section **)(iVar1 + 0x40)" * (cast_expression "(Output_section **)(iVar1 + 0x40)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x40)" ( (binary_expression "iVar1 + 0x40" identifier + number_literal) )))) = identifier) ;) (if_statement "if (((*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0)) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_50;\n      if (iVar7 == 0) {\n        return;\n      }\n      piVar5 = *(int **)(iVar7 + 0x34);\n      piVar11 = *(int **)(iVar7 + 0x38);\n      param_1 = (Versions *)(iVar7 + 0x30);\n      local_54 = 0;\n      local_58 = 0x6ffffffe;\n      local_5c = 0;\n      if (piVar5 == piVar11) {\n        local_60 = iVar1;\n        (**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);\n        piVar2 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n      }\n      else {\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }\n      local_58 = 0x6fffffff;\n      local_54 = 0xffffffff;\n      local_60 = local_50;\n      if (piVar2 != piVar11) {\n        *piVar2 = local_50;\n        piVar2[2] = 0x6fffffff;\n        piVar2[1] = local_5c;\n        piVar2[3] = -1;\n        *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        return;\n      }\n      goto LAB_001c9304;\n    }" if (parenthesized_expression "(((*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0)) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50)))))" ( (binary_expression "((*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0)) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50))))" (parenthesized_expression "((*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0))" ( (binary_expression "(*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0)" (parenthesized_expression "(*(int *)(iVar1 + 0x48) == 0)" ( (binary_expression "*(int *)(iVar1 + 0x48) == 0" (pointer_expression "*(int *)(iVar1 + 0x48)" * (cast_expression "(int *)(iVar1 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x48)" ( (binary_expression "iVar1 + 0x48" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(int *)(iVar1 + 0x4c) == 0)" ( (binary_expression "*(int *)(iVar1 + 0x4c) == 0" (pointer_expression "*(int *)(iVar1 + 0x4c)" * (cast_expression "(int *)(iVar1 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x4c)" ( (binary_expression "iVar1 + 0x4c" identifier + number_literal) )))) == number_literal) ))) )) && (parenthesized_expression "((*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50))))" ( (parenthesized_expression "(*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50)))" ( (binary_expression "*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50))" (binary_expression "*(int *)(iVar1 + 0x50) == 0" (pointer_expression "*(int *)(iVar1 + 0x50)" * (cast_expression "(int *)(iVar1 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) == number_literal) || (parenthesized_expression "(local_50 == *(int *)(iVar1 + 0x50))" ( (binary_expression "local_50 == *(int *)(iVar1 + 0x50)" identifier == (pointer_expression "*(int *)(iVar1 + 0x50)" * (cast_expression "(int *)(iVar1 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n      *(int *)(iVar1 + 0x50) = local_50;\n      if (iVar7 == 0) {\n        return;\n      }\n      piVar5 = *(int **)(iVar7 + 0x34);\n      piVar11 = *(int **)(iVar7 + 0x38);\n      param_1 = (Versions *)(iVar7 + 0x30);\n      local_54 = 0;\n      local_58 = 0x6ffffffe;\n      local_5c = 0;\n      if (piVar5 == piVar11) {\n        local_60 = iVar1;\n        (**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);\n        piVar2 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n      }\n      else {\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }\n      local_58 = 0x6fffffff;\n      local_54 = 0xffffffff;\n      local_60 = local_50;\n      if (piVar2 != piVar11) {\n        *piVar2 = local_50;\n        piVar2[2] = 0x6fffffff;\n        piVar2[1] = local_5c;\n        piVar2[3] = -1;\n        *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        return;\n      }\n      goto LAB_001c9304;\n    }" { (expression_statement "*(int *)(iVar1 + 0x50) = local_50;" (assignment_expression "*(int *)(iVar1 + 0x50) = local_50" (pointer_expression "*(int *)(iVar1 + 0x50)" * (cast_expression "(int *)(iVar1 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar7 == 0) {\n        return;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "piVar5 = *(int **)(iVar7 + 0x34);" (assignment_expression "piVar5 = *(int **)(iVar7 + 0x34)" identifier = (pointer_expression "*(int **)(iVar7 + 0x34)" * (cast_expression "(int **)(iVar7 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x34)" ( (binary_expression "iVar7 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "piVar11 = *(int **)(iVar7 + 0x38);" (assignment_expression "piVar11 = *(int **)(iVar7 + 0x38)" identifier = (pointer_expression "*(int **)(iVar7 + 0x38)" * (cast_expression "(int **)(iVar7 + 0x38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x38)" ( (binary_expression "iVar7 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "param_1 = (Versions *)(iVar7 + 0x30);" (assignment_expression "param_1 = (Versions *)(iVar7 + 0x30)" identifier = (cast_expression "(Versions *)(iVar7 + 0x30)" ( (type_descriptor "Versions *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x30)" ( (binary_expression "iVar7 + 0x30" identifier + number_literal) )))) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0x6ffffffe;" (assignment_expression "local_58 = 0x6ffffffe" identifier = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (if_statement "if (piVar5 == piVar11) {\n        local_60 = iVar1;\n        (**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);\n        piVar2 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n      }\n      else {\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }" if (parenthesized_expression "(piVar5 == piVar11)" ( (binary_expression "piVar5 == piVar11" identifier == identifier) )) (compound_statement "{\n        local_60 = iVar1;\n        (**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);\n        piVar2 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n      }" { (expression_statement "local_60 = iVar1;" (assignment_expression "local_60 = iVar1" identifier = identifier) ;) (expression_statement "(**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);" (call_expression "(**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9274))" ( (pointer_expression "**(code **)(in_t9 + 0x2f9274)" * (pointer_expression "*(code **)(in_t9 + 0x2f9274)" * (cast_expression "(code **)(in_t9 + 0x2f9274)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9274)" ( (binary_expression "in_t9 + 0x2f9274" identifier + number_literal) ))))) )) (argument_list "(param_1,piVar11,&local_60)" ( identifier , identifier , (pointer_expression "&local_60" & identifier) ))) ;) (expression_statement "piVar2 = *(int **)(iVar7 + 0x34);" (assignment_expression "piVar2 = *(int **)(iVar7 + 0x34)" identifier = (pointer_expression "*(int **)(iVar7 + 0x34)" * (cast_expression "(int **)(iVar7 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x34)" ( (binary_expression "iVar7 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "piVar11 = *(int **)(iVar7 + 0x38);" (assignment_expression "piVar11 = *(int **)(iVar7 + 0x38)" identifier = (pointer_expression "*(int **)(iVar7 + 0x38)" * (cast_expression "(int **)(iVar7 + 0x38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x38)" ( (binary_expression "iVar7 + 0x38" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }" else (compound_statement "{\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }" { (expression_statement "piVar2 = piVar5 + 4;" (assignment_expression "piVar2 = piVar5 + 4" identifier = (binary_expression "piVar5 + 4" identifier + number_literal)) ;) (expression_statement "*piVar5 = iVar1;" (assignment_expression "*piVar5 = iVar1" (pointer_expression "*piVar5" * identifier) = identifier) ;) (expression_statement "piVar5[1] = 0;" (assignment_expression "piVar5[1] = 0" (subscript_expression "piVar5[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[2] = 0x6ffffffe;" (assignment_expression "piVar5[2] = 0x6ffffffe" (subscript_expression "piVar5[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[3] = 0;" (assignment_expression "piVar5[3] = 0" (subscript_expression "piVar5[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int **)(iVar7 + 0x34) = piVar2;" (assignment_expression "*(int **)(iVar7 + 0x34) = piVar2" (pointer_expression "*(int **)(iVar7 + 0x34)" * (cast_expression "(int **)(iVar7 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x34)" ( (binary_expression "iVar7 + 0x34" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "local_58 = 0x6fffffff;" (assignment_expression "local_58 = 0x6fffffff" identifier = number_literal) ;) (expression_statement "local_54 = 0xffffffff;" (assignment_expression "local_54 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_60 = local_50;" (assignment_expression "local_60 = local_50" identifier = identifier) ;) (if_statement "if (piVar2 != piVar11) {\n        *piVar2 = local_50;\n        piVar2[2] = 0x6fffffff;\n        piVar2[1] = local_5c;\n        piVar2[3] = -1;\n        *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        return;\n      }" if (parenthesized_expression "(piVar2 != piVar11)" ( (binary_expression "piVar2 != piVar11" identifier != identifier) )) (compound_statement "{\n        *piVar2 = local_50;\n        piVar2[2] = 0x6fffffff;\n        piVar2[1] = local_5c;\n        piVar2[3] = -1;\n        *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        return;\n      }" { (expression_statement "*piVar2 = local_50;" (assignment_expression "*piVar2 = local_50" (pointer_expression "*piVar2" * identifier) = identifier) ;) (expression_statement "piVar2[2] = 0x6fffffff;" (assignment_expression "piVar2[2] = 0x6fffffff" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[1] = local_5c;" (assignment_expression "piVar2[1] = local_5c" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[3] = -1;" (assignment_expression "piVar2[3] = -1" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int **)(iVar7 + 0x34) = piVar2 + 4;" (assignment_expression "*(int **)(iVar7 + 0x34) = piVar2 + 4" (pointer_expression "*(int **)(iVar7 + 0x34)" * (cast_expression "(int **)(iVar7 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x34)" ( (binary_expression "iVar7 + 0x34" identifier + number_literal) )))) = (binary_expression "piVar2 + 4" identifier + number_literal)) ;) (return_statement "return;" return ;) })) (goto_statement "goto LAB_001c9304;" goto statement_identifier ;) })) (labeled_statement "LAB_001c92e8:\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);" statement_identifier : (expression_statement "iVar4 = *(int *)(in_t9 + 0x2f8d74);" (assignment_expression "iVar4 = *(int *)(in_t9 + 0x2f8d74)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n    uVar12 = 3;\n    uVar13 = 0;\n    piVar5 = (int *)0x0;\n    piVar11 = (int *)0x2;\n    iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0);\n    if (iVar1 == 0) goto LAB_001c90ac;\n    param_4 = (vector *)&local_44;\n    (**(code **)(in_t9 + 0x2f9818))(param_1,this + 0xa8,&local_3c,&local_40,param_4);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar4 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = local_40;\n    uVar8 = 0xffffffff;\n    *piVar2 = iVar4 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_3c;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar4 + 0x4120;\n    (*pcVar9)(iVar1,piVar2);\n    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;\n    *(Output_section **)(iVar1 + 0x40) = param_5;\n    if (*(int *)(iVar1 + 0x48) != 0) goto LAB_001c92e8;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    if ((*(int *)(iVar1 + 0x4c) == 0) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_44;\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }\n      goto LAB_001c90ac;\n    }\n  }" else (compound_statement "{\n    uVar12 = 3;\n    uVar13 = 0;\n    piVar5 = (int *)0x0;\n    piVar11 = (int *)0x2;\n    iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0);\n    if (iVar1 == 0) goto LAB_001c90ac;\n    param_4 = (vector *)&local_44;\n    (**(code **)(in_t9 + 0x2f9818))(param_1,this + 0xa8,&local_3c,&local_40,param_4);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar4 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = local_40;\n    uVar8 = 0xffffffff;\n    *piVar2 = iVar4 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_3c;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar4 + 0x4120;\n    (*pcVar9)(iVar1,piVar2);\n    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;\n    *(Output_section **)(iVar1 + 0x40) = param_5;\n    if (*(int *)(iVar1 + 0x48) != 0) goto LAB_001c92e8;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    if ((*(int *)(iVar1 + 0x4c) == 0) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_44;\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }\n      goto LAB_001c90ac;\n    }\n  }" { (expression_statement "uVar12 = 3;" (assignment_expression "uVar12 = 3" identifier = number_literal) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "piVar5 = (int *)0x0;" (assignment_expression "piVar5 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar11 = (int *)0x2;" (assignment_expression "piVar11 = (int *)0x2" identifier = (cast_expression "(int *)0x2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0);" (assignment_expression "iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0)" identifier = (call_expression "choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0)" identifier (argument_list "(this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0)" ( identifier , number_literal , (binary_expression "*(int *)(in_t9 + 0x2f8d74) + 0x4110" (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar1 == 0) goto LAB_001c90ac;" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001c90ac;" goto statement_identifier ;)) (expression_statement "param_4 = (vector *)&local_44;" (assignment_expression "param_4 = (vector *)&local_44" identifier = (cast_expression "(vector *)&local_44" ( (type_descriptor "vector *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_44" & identifier))) ;) (expression_statement "(**(code **)(in_t9 + 0x2f9818))(param_1,this + 0xa8,&local_3c,&local_40,param_4);" (call_expression "(**(code **)(in_t9 + 0x2f9818))(param_1,this + 0xa8,&local_3c,&local_40,param_4)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9818))" ( (pointer_expression "**(code **)(in_t9 + 0x2f9818)" * (pointer_expression "*(code **)(in_t9 + 0x2f9818)" * (cast_expression "(code **)(in_t9 + 0x2f9818)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9818)" ( (binary_expression "in_t9 + 0x2f9818" identifier + number_literal) ))))) )) (argument_list "(param_1,this + 0xa8,&local_3c,&local_40,param_4)" ( identifier , (binary_expression "this + 0xa8" identifier + number_literal) , (pointer_expression "&local_3c" & identifier) , (pointer_expression "&local_40" & identifier) , identifier ))) ;) (expression_statement "piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);" (assignment_expression "piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38)" identifier = (cast_expression "(int *)(**(code **)(in_t9 + 0x2f86cc))(0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x2f86cc))(0x38)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f86cc))" ( (pointer_expression "**(code **)(in_t9 + 0x2f86cc)" * (pointer_expression "*(code **)(in_t9 + 0x2f86cc)" * (cast_expression "(code **)(in_t9 + 0x2f86cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f86cc)" ( (binary_expression "in_t9 + 0x2f86cc" identifier + number_literal) ))))) )) (argument_list "(0x38)" ( number_literal ))))) ;) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;" (assignment_expression "*(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50" (pointer_expression "*(byte *)(piVar2 + 8)" * (cast_expression "(byte *)(piVar2 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 8)" ( (binary_expression "piVar2 + 8" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar2 + 8) & 7 | 0x50" (binary_expression "*(byte *)(piVar2 + 8) & 7" (pointer_expression "*(byte *)(piVar2 + 8)" * (cast_expression "(byte *)(piVar2 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 8)" ( (binary_expression "piVar2 + 8" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "iVar4 = *(int *)(in_t9 + 0x2f965c);" (assignment_expression "iVar4 = *(int *)(in_t9 + 0x2f965c)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f965c)" * (cast_expression "(int *)(in_t9 + 0x2f965c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f965c)" ( (binary_expression "in_t9 + 0x2f965c" identifier + number_literal) ))))) ;) (expression_statement "pcVar9 = *(code **)(in_t9 + 0x2f9428);" (assignment_expression "pcVar9 = *(code **)(in_t9 + 0x2f9428)" identifier = (pointer_expression "*(code **)(in_t9 + 0x2f9428)" * (cast_expression "(code **)(in_t9 + 0x2f9428)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9428)" ( (binary_expression "in_t9 + 0x2f9428" identifier + number_literal) ))))) ;) (expression_statement "piVar2[0xb] = 4;" (assignment_expression "piVar2[0xb] = 4" (subscript_expression "piVar2[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[5] = local_40;" (assignment_expression "piVar2[5] = local_40" (subscript_expression "piVar2[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar8 = 0xffffffff;" (assignment_expression "uVar8 = 0xffffffff" identifier = number_literal) ;) (expression_statement "*piVar2 = iVar4 + 8;" (assignment_expression "*piVar2 = iVar4 + 8" (pointer_expression "*piVar2" * identifier) = (binary_expression "iVar4 + 8" identifier + number_literal)) ;) (expression_statement "piVar2[9] = 0;" (assignment_expression "piVar2[9] = 0" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xc] = local_3c;" (assignment_expression "piVar2[0xc] = local_3c" (subscript_expression "piVar2[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar4 = *(int *)(in_t9 + 0x2f8d74);" (assignment_expression "iVar4 = *(int *)(in_t9 + 0x2f8d74)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) ))))) ;) (expression_statement "piVar2[7] = -1;" (assignment_expression "piVar2[7] = -1" (subscript_expression "piVar2[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[6] = -1;" (assignment_expression "piVar2[6] = -1" (subscript_expression "piVar2[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xd] = iVar4 + 0x4120;" (assignment_expression "piVar2[0xd] = iVar4 + 0x4120" (subscript_expression "piVar2[0xd]" identifier [ number_literal ]) = (binary_expression "iVar4 + 0x4120" identifier + number_literal)) ;) (expression_statement "(*pcVar9)(iVar1,piVar2);" (call_expression "(*pcVar9)(iVar1,piVar2)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(iVar1,piVar2)" ( identifier , identifier ))) ;) (if_statement "if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;" if (parenthesized_expression "(((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0))" ( (binary_expression "((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)" (parenthesized_expression "((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0))" ( (binary_expression "(*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)" (parenthesized_expression "(*(int *)(iVar1 + 0x44) != 0)" ( (binary_expression "*(int *)(iVar1 + 0x44) != 0" (pointer_expression "*(int *)(iVar1 + 0x44)" * (cast_expression "(int *)(iVar1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x44)" ( (binary_expression "iVar1 + 0x44" identifier + number_literal) )))) != number_literal) )) || (parenthesized_expression "(*(int *)(iVar1 + 0x98) << 2 < 0)" ( (binary_expression "*(int *)(iVar1 + 0x98) << 2 < 0" (binary_expression "*(int *)(iVar1 + 0x98) << 2" (pointer_expression "*(int *)(iVar1 + 0x98)" * (cast_expression "(int *)(iVar1 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x98)" ( (binary_expression "iVar1 + 0x98" identifier + number_literal) )))) << number_literal) < number_literal) ))) )) || (parenthesized_expression "(*(int *)(iVar1 + 0x98) << 3 < 0)" ( (binary_expression "*(int *)(iVar1 + 0x98) << 3 < 0" (binary_expression "*(int *)(iVar1 + 0x98) << 3" (pointer_expression "*(int *)(iVar1 + 0x98)" * (cast_expression "(int *)(iVar1 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x98)" ( (binary_expression "iVar1 + 0x98" identifier + number_literal) )))) << number_literal) < number_literal) ))) )) (goto_statement "goto LAB_001c9380;" goto statement_identifier ;)) (expression_statement "*(Output_section **)(iVar1 + 0x40) = param_5;" (assignment_expression "*(Output_section **)(iVar1 + 0x40) = param_5" (pointer_expression "*(Output_section **)(iVar1 + 0x40)" * (cast_expression "(Output_section **)(iVar1 + 0x40)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x40)" ( (binary_expression "iVar1 + 0x40" identifier + number_literal) )))) = identifier) ;) (if_statement "if (*(int *)(iVar1 + 0x48) != 0) goto LAB_001c92e8;" if (parenthesized_expression "(*(int *)(iVar1 + 0x48) != 0)" ( (binary_expression "*(int *)(iVar1 + 0x48) != 0" (pointer_expression "*(int *)(iVar1 + 0x48)" * (cast_expression "(int *)(iVar1 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x48)" ( (binary_expression "iVar1 + 0x48" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_001c92e8;" goto statement_identifier ;)) (expression_statement "iVar4 = *(int *)(in_t9 + 0x2f8d74);" (assignment_expression "iVar4 = *(int *)(in_t9 + 0x2f8d74)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) ))))) ;) (if_statement "if ((*(int *)(iVar1 + 0x4c) == 0) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_44;\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }\n      goto LAB_001c90ac;\n    }" if (parenthesized_expression "((*(int *)(iVar1 + 0x4c) == 0) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50)))))" ( (binary_expression "(*(int *)(iVar1 + 0x4c) == 0) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))))" (parenthesized_expression "(*(int *)(iVar1 + 0x4c) == 0)" ( (binary_expression "*(int *)(iVar1 + 0x4c) == 0" (pointer_expression "*(int *)(iVar1 + 0x4c)" * (cast_expression "(int *)(iVar1 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x4c)" ( (binary_expression "iVar1 + 0x4c" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))))" ( (parenthesized_expression "(*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50)))" ( (binary_expression "*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))" (binary_expression "*(int *)(iVar1 + 0x50) == 0" (pointer_expression "*(int *)(iVar1 + 0x50)" * (cast_expression "(int *)(iVar1 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) == number_literal) || (parenthesized_expression "(local_44 == *(int *)(iVar1 + 0x50))" ( (binary_expression "local_44 == *(int *)(iVar1 + 0x50)" identifier == (pointer_expression "*(int *)(iVar1 + 0x50)" * (cast_expression "(int *)(iVar1 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n      *(int *)(iVar1 + 0x50) = local_44;\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }\n      goto LAB_001c90ac;\n    }" { (expression_statement "*(int *)(iVar1 + 0x50) = local_44;" (assignment_expression "*(int *)(iVar1 + 0x50) = local_44" (pointer_expression "*(int *)(iVar1 + 0x50)" * (cast_expression "(int *)(iVar1 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }" { (expression_statement "piVar5 = *(int **)(iVar7 + 0x34);" (assignment_expression "piVar5 = *(int **)(iVar7 + 0x34)" identifier = (pointer_expression "*(int **)(iVar7 + 0x34)" * (cast_expression "(int **)(iVar7 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x34)" ( (binary_expression "iVar7 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "piVar11 = *(int **)(iVar7 + 0x38);" (assignment_expression "piVar11 = *(int **)(iVar7 + 0x38)" identifier = (pointer_expression "*(int **)(iVar7 + 0x38)" * (cast_expression "(int **)(iVar7 + 0x38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x38)" ( (binary_expression "iVar7 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0x6ffffffc;" (assignment_expression "local_58 = 0x6ffffffc" identifier = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (if_statement "if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }" if (parenthesized_expression "(piVar5 == piVar11)" ( (binary_expression "piVar5 == piVar11" identifier == identifier) )) (compound_statement "{\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }" { (expression_statement "local_60 = iVar1;" (assignment_expression "local_60 = iVar1" identifier = identifier) ;) (expression_statement "(**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);" (call_expression "(**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9274))" ( (pointer_expression "**(code **)(in_t9 + 0x2f9274)" * (pointer_expression "*(code **)(in_t9 + 0x2f9274)" * (cast_expression "(code **)(in_t9 + 0x2f9274)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9274)" ( (binary_expression "in_t9 + 0x2f9274" identifier + number_literal) ))))) )) (argument_list "(iVar7 + 0x30,piVar11,&local_60)" ( (binary_expression "iVar7 + 0x30" identifier + number_literal) , identifier , (pointer_expression "&local_60" & identifier) ))) ;) (expression_statement "piVar2 = *(int **)(iVar7 + 0x34);" (assignment_expression "piVar2 = *(int **)(iVar7 + 0x34)" identifier = (pointer_expression "*(int **)(iVar7 + 0x34)" * (cast_expression "(int **)(iVar7 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x34)" ( (binary_expression "iVar7 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "piVar11 = *(int **)(iVar7 + 0x38);" (assignment_expression "piVar11 = *(int **)(iVar7 + 0x38)" identifier = (pointer_expression "*(int **)(iVar7 + 0x38)" * (cast_expression "(int **)(iVar7 + 0x38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x38)" ( (binary_expression "iVar7 + 0x38" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }" else (compound_statement "{\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }" { (expression_statement "piVar2 = piVar5 + 4;" (assignment_expression "piVar2 = piVar5 + 4" identifier = (binary_expression "piVar5 + 4" identifier + number_literal)) ;) (expression_statement "*piVar5 = iVar1;" (assignment_expression "*piVar5 = iVar1" (pointer_expression "*piVar5" * identifier) = identifier) ;) (expression_statement "piVar5[1] = 0;" (assignment_expression "piVar5[1] = 0" (subscript_expression "piVar5[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[2] = 0x6ffffffc;" (assignment_expression "piVar5[2] = 0x6ffffffc" (subscript_expression "piVar5[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[3] = 0;" (assignment_expression "piVar5[3] = 0" (subscript_expression "piVar5[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int **)(iVar7 + 0x34) = piVar2;" (assignment_expression "*(int **)(iVar7 + 0x34) = piVar2" (pointer_expression "*(int **)(iVar7 + 0x34)" * (cast_expression "(int **)(iVar7 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x34)" ( (binary_expression "iVar7 + 0x34" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "local_58 = 0x6ffffffd;" (assignment_expression "local_58 = 0x6ffffffd" identifier = number_literal) ;) (expression_statement "local_54 = 0xffffffff;" (assignment_expression "local_54 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_60 = local_44;" (assignment_expression "local_60 = local_44" identifier = identifier) ;) (if_statement "if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }" if (parenthesized_expression "(piVar11 == piVar2)" ( (binary_expression "piVar11 == piVar2" identifier == identifier) )) (compound_statement "{\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }" { (expression_statement "(**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);" (call_expression "(**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9274))" ( (pointer_expression "**(code **)(in_t9 + 0x2f9274)" * (pointer_expression "*(code **)(in_t9 + 0x2f9274)" * (cast_expression "(code **)(in_t9 + 0x2f9274)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9274)" ( (binary_expression "in_t9 + 0x2f9274" identifier + number_literal) ))))) )) (argument_list "(iVar7 + 0x30,piVar11,&local_60)" ( (binary_expression "iVar7 + 0x30" identifier + number_literal) , identifier , (pointer_expression "&local_60" & identifier) ))) ;) }) (else_clause "else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }" else (compound_statement "{\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }" { (expression_statement "*piVar2 = local_44;" (assignment_expression "*piVar2 = local_44" (pointer_expression "*piVar2" * identifier) = identifier) ;) (expression_statement "piVar2[2] = 0x6ffffffd;" (assignment_expression "piVar2[2] = 0x6ffffffd" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[1] = local_5c;" (assignment_expression "piVar2[1] = local_5c" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[3] = -1;" (assignment_expression "piVar2[3] = -1" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int **)(iVar7 + 0x34) = piVar2 + 4;" (assignment_expression "*(int **)(iVar7 + 0x34) = piVar2 + 4" (pointer_expression "*(int **)(iVar7 + 0x34)" * (cast_expression "(int **)(iVar7 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x34)" ( (binary_expression "iVar7 + 0x34" identifier + number_literal) )))) = (binary_expression "piVar2 + 4" identifier + number_literal)) ;) }))) })) (goto_statement "goto LAB_001c90ac;" goto statement_identifier ;) })) })))) (expression_statement "piVar2 = (int *)(**(code **)(in_t9 + 0x2f8d54))\n                            (*(int *)(in_t9 + 0x2f85a0) + 0x3574,0xd5e,iVar4 + 0x4430);" (assignment_expression "piVar2 = (int *)(**(code **)(in_t9 + 0x2f8d54))\n                            (*(int *)(in_t9 + 0x2f85a0) + 0x3574,0xd5e,iVar4 + 0x4430)" identifier = (cast_expression "(int *)(**(code **)(in_t9 + 0x2f8d54))\n                            (*(int *)(in_t9 + 0x2f85a0) + 0x3574,0xd5e,iVar4 + 0x4430)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x2f8d54))\n                            (*(int *)(in_t9 + 0x2f85a0) + 0x3574,0xd5e,iVar4 + 0x4430)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f8d54))" ( (pointer_expression "**(code **)(in_t9 + 0x2f8d54)" * (pointer_expression "*(code **)(in_t9 + 0x2f8d54)" * (cast_expression "(code **)(in_t9 + 0x2f8d54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f8d54)" ( (binary_expression "in_t9 + 0x2f8d54" identifier + number_literal) ))))) )) (argument_list "(*(int *)(in_t9 + 0x2f85a0) + 0x3574,0xd5e,iVar4 + 0x4430)" ( (binary_expression "*(int *)(in_t9 + 0x2f85a0) + 0x3574" (pointer_expression "*(int *)(in_t9 + 0x2f85a0)" * (cast_expression "(int *)(in_t9 + 0x2f85a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f85a0)" ( (binary_expression "in_t9 + 0x2f85a0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar4 + 0x4430" identifier + number_literal) ))))) ;) (labeled_statement "LAB_001c9304:\n  (**(code **)(in_t9 + 0x2f9274))(param_1,piVar2,&local_60);" statement_identifier : (expression_statement "(**(code **)(in_t9 + 0x2f9274))(param_1,piVar2,&local_60);" (call_expression "(**(code **)(in_t9 + 0x2f9274))(param_1,piVar2,&local_60)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9274))" ( (pointer_expression "**(code **)(in_t9 + 0x2f9274)" * (pointer_expression "*(code **)(in_t9 + 0x2f9274)" * (cast_expression "(code **)(in_t9 + 0x2f9274)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9274)" ( (binary_expression "in_t9 + 0x2f9274" identifier + number_literal) ))))) )) (argument_list "(param_1,piVar2,&local_60)" ( identifier , identifier , (pointer_expression "&local_60" & identifier) ))) ;)) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */\n/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */\n/* DWARF original name: sized_create_version_sections<64, true>\n   DWARF original prototype: void sized_create_version_sections<64,_true>(Layout * this, Versions *\n   versions, Symbol_table * symtab, uint local_symcount,\n   vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> * dynamic_symbols, Output_section * dynstr)\n    */\n\nvoid __thiscall\ngold::Layout::sized_create_version_sections<64,_true>\n          (Layout *this,Versions *versions,Symbol_table *symtab,uint param_3,\n          vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *dynamic_symbols,\n          Output_section *dynstr)\n\n{\n  Output_section *pOVar1;\n  int *piVar2;\n  pointer pDVar3;\n  Gdb_index *pGVar4;\n  Layout *this_00;\n  pointer pDVar5;\n  pointer pDVar6;\n  undefined4 uVar7;\n  int iVar8;\n  undefined4 uVar9;\n  Output_data_dynamic *pOVar10;\n  int in_t9;\n  code *pcVar11;\n  code *pcVar12;\n  uchar **ppuVar13;\n  uint *puVar14;\n  undefined4 uVar15;\n  undefined4 uVar16;\n  uint vsize;\n  Output_data *local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  uint vnentries;\n  uint vnsize;\n  uchar *vnbuf;\n  uint vdentries;\n  uint vdsize;\n  uchar *vdbuf;\n  uchar *vbuf;\n  uint *local_30;\n  \n  uVar16 = 0;\n  uVar15 = 3;\n  pOVar1 = choose_output_section\n                     (this,(Relobj *)0x0,(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x40f4),0x6fffffff,2,\n                      false,ORDER_DYNAMIC_LINKER,false,false,false);\n  if (pOVar1 != (Output_section *)0x0) {\n    puVar14 = &vsize;\n    ppuVar13 = &vbuf;\n    local_30 = puVar14;\n    (**(code **)(in_t9 + 0x2f9814))\n              (versions,symtab,&this->dynpool_,param_3,dynamic_symbols,ppuVar13,puVar14);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[0xb] = 2;\n    piVar2[10] = 0;\n    piVar2[7] = -1;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar8 = *(int *)(in_t9 + 0x2f965c);\n    pcVar11 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[6] = -1;\n    piVar2[5] = vsize;\n    *piVar2 = iVar8 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = (int)vbuf;\n    piVar2[0xd] = *(int *)(in_t9 + 0x2f8d74) + 0x4104;\n    (*pcVar11)(pOVar1,piVar2);\n    uVar9 = 2;\n    (**(code **)(in_t9 + 0x2f8d90))(pOVar1);\n    if ((pOVar1->link_ == 0) && (-1 < *(int *)&pOVar1->field_0x98 << 2)) {\n      iVar8 = *(int *)(in_t9 + 0x2f8d74);\n      if (*(int *)&pOVar1->field_0x98 << 3 < 0) goto LAB_001c9384;\n      pOVar10 = this->dynamic_data_;\n      pOVar1->link_section_ = &this->dynsym_section_->super_Output_data;\n      if (pOVar10 != (Output_data_dynamic *)0x0) {\n        pDVar5 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = (Output_data *)0x0;\n        vsize = (uint)pOVar1;\n        if (pDVar5 == (pOVar10->entries_).\n                      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                      ._M_impl._M_end_of_storage) {\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar5,local_30);\n        }\n        else {\n          (pDVar5->u_).val = (uint)pOVar1;\n          pDVar5->od2 = (Output_data *)0x0;\n          pDVar5->tag_ = DT_VERSYM;\n          pDVar5->offset_ = 0;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar5 + 1;\n        }\n      }\n      goto LAB_001c8ec4;\n    }\nLAB_001c9380:\n    iVar8 = *(int *)(in_t9 + 0x2f8d74);\nLAB_001c9384:\n    uVar7 = 0xd07;\n    pcVar11 = *(code **)(in_t9 + 0x2f8d54);\n    iVar8 = iVar8 + 0x4558;\n    this_00 = (Layout *)(*(int *)(in_t9 + 0x2f85a0) + 0x3574);\n    (*pcVar11)(this_00,0xd07,iVar8);\n    pGVar4 = this_00->gdb_index_data_;\n    if (pGVar4 == (Gdb_index *)0x0) {\n      pOVar1 = choose_output_section\n                         (this_00,(Relobj *)0x0,(char *)(*(int *)(pcVar11 + 0x2f86b4) + 0x40e8),1,0,\n                          false,ORDER_INVALID,false,false,false);\n      if (pOVar1 == (Output_section *)0x0) {\n        return;\n      }\n      pGVar4 = (Gdb_index *)(**(code **)(pcVar11 + 0x2f800c))(0x138);\n      (**(code **)(pcVar11 + 0x2f9164))(pGVar4,pOVar1);\n      pcVar12 = *(code **)(pcVar11 + 0x2f8d68);\n      this_00->gdb_index_data_ = pGVar4;\n      (*pcVar12)(pOVar1,pGVar4);\n      *(uint *)&pOVar1->field_0x98 = *(uint *)&pOVar1->field_0x98 & 0xf7ffffff | 0x8000000;\n      pGVar4 = this_00->gdb_index_data_;\n    }\n                    /* WARNING: Could not recover jumptable at 0x001c9450. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(pcVar11 + 0x2f9160))\n              (pGVar4,uVar7,iVar8,uVar9,dynamic_symbols,ppuVar13,puVar14,uVar15,uVar16);\n    return;\n  }\n  pOVar10 = this->dynamic_data_;\nLAB_001c8ec4:\n  if ((versions->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_start ==\n      (versions->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish) {\nLAB_001c90ac:\n    if ((versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.\n        _M_impl._M_start ==\n        (versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.\n        _M_impl._M_finish) {\n      return;\n    }\n    uVar15 = 3;\n    uVar16 = 0;\n    puVar14 = (uint *)0x0;\n    ppuVar13 = (uchar **)0x2;\n    pOVar1 = choose_output_section\n                       (this,(Relobj *)0x0,(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x4130),0x6ffffffe,\n                        2,false,ORDER_DYNAMIC_LINKER,false,false,false);\n    if (pOVar1 == (Output_section *)0x0) {\n      return;\n    }\n    dynamic_symbols = (vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *)&vnentries;\n    (**(code **)(in_t9 + 0x2f981c))(versions,&this->dynpool_,&vnbuf,&vnsize,dynamic_symbols);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar8 = *(int *)(in_t9 + 0x2f965c);\n    pcVar11 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = vnsize;\n    uVar9 = 0xffffffff;\n    *piVar2 = iVar8 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = (int)vnbuf;\n    iVar8 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar8 + 0x4140;\n    (*pcVar11)(pOVar1,piVar2);\n    if (((pOVar1->link_ != 0) || (*(int *)&pOVar1->field_0x98 << 2 < 0)) ||\n       (*(int *)&pOVar1->field_0x98 << 3 < 0)) goto LAB_001c9380;\n    pOVar1->link_section_ = &dynstr->super_Output_data;\n    if (((pOVar1->info_section_ == (Output_section *)0x0) && (pOVar1->info_symndx_ == (Symbol *)0x0)\n        ) && ((pOVar1->info_ == 0 || (vnentries == pOVar1->info_)))) {\n      pOVar1->info_ = vnentries;\n      if (pOVar10 == (Output_data_dynamic *)0x0) {\n        return;\n      }\n      pDVar5 = (pOVar10->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n      pDVar6 = (pOVar10->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n      versions = (Versions *)&pOVar10->entries_;\n      local_54 = 0;\n      local_58 = 0x6ffffffe;\n      local_5c = (Output_data *)0x0;\n      if (pDVar5 == pDVar6) {\n        vsize = (uint)pOVar1;\n        (**(code **)(in_t9 + 0x2f9274))(versions,pDVar6,&vsize);\n        pDVar3 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        pDVar6 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_end_of_storage;\n      }\n      else {\n        pDVar3 = pDVar5 + 1;\n        (pDVar5->u_).val = (uint)pOVar1;\n        pDVar5->od2 = (Output_data *)0x0;\n        pDVar5->tag_ = DT_VERNEED;\n        pDVar5->offset_ = 0;\n        (pOVar10->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = pDVar3;\n      }\n      local_58 = 0x6fffffff;\n      local_54 = 0xffffffff;\n      vsize = vnentries;\n      if (pDVar3 != pDVar6) {\n        (pDVar3->u_).val = vnentries;\n        pDVar3->tag_ = DT_VERNEEDNUM;\n        pDVar3->od2 = local_5c;\n        pDVar3->offset_ = 0xffffffff;\n        (pOVar10->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = pDVar3 + 1;\n        return;\n      }\n      goto LAB_001c9304;\n    }\nLAB_001c92e8:\n    iVar8 = *(int *)(in_t9 + 0x2f8d74);\n  }\n  else {\n    uVar15 = 3;\n    uVar16 = 0;\n    puVar14 = (uint *)0x0;\n    ppuVar13 = (uchar **)0x2;\n    pOVar1 = choose_output_section\n                       (this,(Relobj *)0x0,(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x4110),0x6ffffffd,\n                        2,false,ORDER_DYNAMIC_LINKER,false,false,false);\n    if (pOVar1 == (Output_section *)0x0) goto LAB_001c90ac;\n    dynamic_symbols = (vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *)&vdentries;\n    (**(code **)(in_t9 + 0x2f9818))(versions,&this->dynpool_,&vdbuf,&vdsize,dynamic_symbols);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar8 = *(int *)(in_t9 + 0x2f965c);\n    pcVar11 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = vdsize;\n    uVar9 = 0xffffffff;\n    *piVar2 = iVar8 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = (int)vdbuf;\n    iVar8 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar8 + 0x4120;\n    (*pcVar11)(pOVar1,piVar2);\n    if (((pOVar1->link_ != 0) || (*(int *)&pOVar1->field_0x98 << 2 < 0)) ||\n       (*(int *)&pOVar1->field_0x98 << 3 < 0)) goto LAB_001c9380;\n    pOVar1->link_section_ = &dynstr->super_Output_data;\n    if (pOVar1->info_section_ != (Output_section *)0x0) goto LAB_001c92e8;\n    iVar8 = *(int *)(in_t9 + 0x2f8d74);\n    if ((pOVar1->info_symndx_ == (Symbol *)0x0) &&\n       ((pOVar1->info_ == 0 || (vdentries == pOVar1->info_)))) {\n      pOVar1->info_ = vdentries;\n      if (pOVar10 != (Output_data_dynamic *)0x0) {\n        pDVar5 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        pDVar6 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_end_of_storage;\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = (Output_data *)0x0;\n        if (pDVar5 == pDVar6) {\n          vsize = (uint)pOVar1;\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);\n          pDVar3 = (pOVar10->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish;\n          pDVar6 = (pOVar10->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_end_of_storage;\n        }\n        else {\n          pDVar3 = pDVar5 + 1;\n          (pDVar5->u_).val = (uint)pOVar1;\n          pDVar5->od2 = (Output_data *)0x0;\n          pDVar5->tag_ = DT_VERDEF;\n          pDVar5->offset_ = 0;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        vsize = vdentries;\n        if (pDVar6 == pDVar3) {\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);\n        }\n        else {\n          (pDVar3->u_).val = vdentries;\n          pDVar3->tag_ = DT_VERDEFNUM;\n          pDVar3->od2 = local_5c;\n          pDVar3->offset_ = 0xffffffff;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3 + 1;\n        }\n      }\n      goto LAB_001c90ac;\n    }\n  }\n  pDVar3 = (pointer)(**(code **)(in_t9 + 0x2f8d54))\n                              (*(int *)(in_t9 + 0x2f85a0) + 0x3574,0xd5e,iVar8 + 0x4430);\nLAB_001c9304:\n  (**(code **)(in_t9 + 0x2f9274))(versions,pDVar3,&vsize);\n  return;\n}\n\n" comment comment comment comment comment comment comment (declaration "void __thiscall\ngold::Layout::sized_create_version_sections<64,_true>\n          (Layout *this,Versions *versions,Symbol_table *symtab,uint param_3,\n          vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *dynamic_symbols,\n          Output_section *dynstr)\n\n{\n  Output_section *pOVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Layout::" identifier : : identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_true>\n          (Layout *this,Versions *versions,Symbol_table *symtab,uint param_3,\n          vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *dynamic_symbols,\n          Output_section *dynstr)\n\n{\n  Output_section" (function_declarator "_true>\n          (Layout *this,Versions *versions,Symbol_table *symtab,uint param_3,\n          vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *dynamic_symbols,\n          Output_section *dynstr)" identifier (ERROR ">" >) (parameter_list "(Layout *this,Versions *versions,Symbol_table *symtab,uint param_3,\n          vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *dynamic_symbols,\n          Output_section *dynstr)" ( (parameter_declaration "Layout *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Versions *versions" type_identifier (pointer_declarator "*versions" * identifier)) , (parameter_declaration "Symbol_table *symtab" type_identifier (pointer_declarator "*symtab" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "vector<gold::Symbol*" type_identifier (ERROR "<gold::Symbol" < identifier : : identifier) (abstract_pointer_declarator "*" *)) , (parameter_declaration "_std::allocator<gold::Symbol*>_> *dynamic_symbols" type_identifier (ERROR "::allocator<gold::Symbol*>_>" : : identifier < identifier : : identifier * > identifier >) (pointer_declarator "*dynamic_symbols" * identifier)) , (parameter_declaration "Output_section *dynstr" type_identifier (pointer_declarator "*dynstr" * identifier)) ))) { identifier) (pointer_declarator "*pOVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "pointer pDVar3;" type_identifier identifier ;) (declaration "Gdb_index *pGVar4;" type_identifier (pointer_declarator "*pGVar4" * identifier) ;) (declaration "Layout *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "pointer pDVar5;" type_identifier identifier ;) (declaration "pointer pDVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "Output_data_dynamic *pOVar10;" type_identifier (pointer_declarator "*pOVar10" * identifier) ;) (declaration "int in_t9;" primitive_type identifier ;) (declaration "code *pcVar11;" type_identifier (pointer_declarator "*pcVar11" * identifier) ;) (declaration "code *pcVar12;" type_identifier (pointer_declarator "*pcVar12" * identifier) ;) (declaration "uchar **ppuVar13;" type_identifier (pointer_declarator "**ppuVar13" * (pointer_declarator "*ppuVar13" * identifier)) ;) (declaration "uint *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "uint vsize;" type_identifier identifier ;) (declaration "Output_data *local_5c;" type_identifier (pointer_declarator "*local_5c" * identifier) ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "uint vnentries;" type_identifier identifier ;) (declaration "uint vnsize;" type_identifier identifier ;) (declaration "uchar *vnbuf;" type_identifier (pointer_declarator "*vnbuf" * identifier) ;) (declaration "uint vdentries;" type_identifier identifier ;) (declaration "uint vdsize;" type_identifier identifier ;) (declaration "uchar *vdbuf;" type_identifier (pointer_declarator "*vdbuf" * identifier) ;) (declaration "uchar *vbuf;" type_identifier (pointer_declarator "*vbuf" * identifier) ;) (declaration "uint *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "uVar15 = 3;" (assignment_expression "uVar15 = 3" identifier = number_literal) ;) (expression_statement "pOVar1 = choose_output_section\n                     (this,(Relobj *)0x0,(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x40f4),0x6fffffff,2,\n                      false,ORDER_DYNAMIC_LINKER,false,false,false);" (assignment_expression "pOVar1 = choose_output_section\n                     (this,(Relobj *)0x0,(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x40f4),0x6fffffff,2,\n                      false,ORDER_DYNAMIC_LINKER,false,false,false)" identifier = (call_expression "choose_output_section\n                     (this,(Relobj *)0x0,(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x40f4),0x6fffffff,2,\n                      false,ORDER_DYNAMIC_LINKER,false,false,false)" identifier (argument_list "(this,(Relobj *)0x0,(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x40f4),0x6fffffff,2,\n                      false,ORDER_DYNAMIC_LINKER,false,false,false)" ( identifier , (cast_expression "(Relobj *)0x0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x40f4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x2f8d74) + 0x40f4)" ( (binary_expression "*(int *)(in_t9 + 0x2f8d74) + 0x40f4" (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) )))) + number_literal) ))) , number_literal , number_literal , false , identifier , false , false , false )))) ;) (if_statement "if (pOVar1 != (Output_section *)0x0) {\n    puVar14 = &vsize;\n    ppuVar13 = &vbuf;\n    local_30 = puVar14;\n    (**(code **)(in_t9 + 0x2f9814))\n              (versions,symtab,&this->dynpool_,param_3,dynamic_symbols,ppuVar13,puVar14);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[0xb] = 2;\n    piVar2[10] = 0;\n    piVar2[7] = -1;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar8 = *(int *)(in_t9 + 0x2f965c);\n    pcVar11 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[6] = -1;\n    piVar2[5] = vsize;\n    *piVar2 = iVar8 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = (int)vbuf;\n    piVar2[0xd] = *(int *)(in_t9 + 0x2f8d74) + 0x4104;\n    (*pcVar11)(pOVar1,piVar2);\n    uVar9 = 2;\n    (**(code **)(in_t9 + 0x2f8d90))(pOVar1);\n    if ((pOVar1->link_ == 0) && (-1 < *(int *)&pOVar1->field_0x98 << 2)) {\n      iVar8 = *(int *)(in_t9 + 0x2f8d74);\n      if (*(int *)&pOVar1->field_0x98 << 3 < 0) goto LAB_001c9384;\n      pOVar10 = this->dynamic_data_;\n      pOVar1->link_section_ = &this->dynsym_section_->super_Output_data;\n      if (pOVar10 != (Output_data_dynamic *)0x0) {\n        pDVar5 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = (Output_data *)0x0;\n        vsize = (uint)pOVar1;\n        if (pDVar5 == (pOVar10->entries_).\n                      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                      ._M_impl._M_end_of_storage) {\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar5,local_30);\n        }\n        else {\n          (pDVar5->u_).val = (uint)pOVar1;\n          pDVar5->od2 = (Output_data *)0x0;\n          pDVar5->tag_ = DT_VERSYM;\n          pDVar5->offset_ = 0;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar5 + 1;\n        }\n      }\n      goto LAB_001c8ec4;\n    }\nLAB_001c9380:\n    iVar8 = *(int *)(in_t9 + 0x2f8d74);\nLAB_001c9384:\n    uVar7 = 0xd07;\n    pcVar11 = *(code **)(in_t9 + 0x2f8d54);\n    iVar8 = iVar8 + 0x4558;\n    this_00 = (Layout *)(*(int *)(in_t9 + 0x2f85a0) + 0x3574);\n    (*pcVar11)(this_00,0xd07,iVar8);\n    pGVar4 = this_00->gdb_index_data_;\n    if (pGVar4 == (Gdb_index *)0x0) {\n      pOVar1 = choose_output_section\n                         (this_00,(Relobj *)0x0,(char *)(*(int *)(pcVar11 + 0x2f86b4) + 0x40e8),1,0,\n                          false,ORDER_INVALID,false,false,false);\n      if (pOVar1 == (Output_section *)0x0) {\n        return;\n      }\n      pGVar4 = (Gdb_index *)(**(code **)(pcVar11 + 0x2f800c))(0x138);\n      (**(code **)(pcVar11 + 0x2f9164))(pGVar4,pOVar1);\n      pcVar12 = *(code **)(pcVar11 + 0x2f8d68);\n      this_00->gdb_index_data_ = pGVar4;\n      (*pcVar12)(pOVar1,pGVar4);\n      *(uint *)&pOVar1->field_0x98 = *(uint *)&pOVar1->field_0x98 & 0xf7ffffff | 0x8000000;\n      pGVar4 = this_00->gdb_index_data_;\n    }\n                    /* WARNING: Could not recover jumptable at 0x001c9450. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(pcVar11 + 0x2f9160))\n              (pGVar4,uVar7,iVar8,uVar9,dynamic_symbols,ppuVar13,puVar14,uVar15,uVar16);\n    return;\n  }" if (parenthesized_expression "(pOVar1 != (Output_section *)0x0)" ( (binary_expression "pOVar1 != (Output_section *)0x0" identifier != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar14 = &vsize;\n    ppuVar13 = &vbuf;\n    local_30 = puVar14;\n    (**(code **)(in_t9 + 0x2f9814))\n              (versions,symtab,&this->dynpool_,param_3,dynamic_symbols,ppuVar13,puVar14);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[0xb] = 2;\n    piVar2[10] = 0;\n    piVar2[7] = -1;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar8 = *(int *)(in_t9 + 0x2f965c);\n    pcVar11 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[6] = -1;\n    piVar2[5] = vsize;\n    *piVar2 = iVar8 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = (int)vbuf;\n    piVar2[0xd] = *(int *)(in_t9 + 0x2f8d74) + 0x4104;\n    (*pcVar11)(pOVar1,piVar2);\n    uVar9 = 2;\n    (**(code **)(in_t9 + 0x2f8d90))(pOVar1);\n    if ((pOVar1->link_ == 0) && (-1 < *(int *)&pOVar1->field_0x98 << 2)) {\n      iVar8 = *(int *)(in_t9 + 0x2f8d74);\n      if (*(int *)&pOVar1->field_0x98 << 3 < 0) goto LAB_001c9384;\n      pOVar10 = this->dynamic_data_;\n      pOVar1->link_section_ = &this->dynsym_section_->super_Output_data;\n      if (pOVar10 != (Output_data_dynamic *)0x0) {\n        pDVar5 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = (Output_data *)0x0;\n        vsize = (uint)pOVar1;\n        if (pDVar5 == (pOVar10->entries_).\n                      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                      ._M_impl._M_end_of_storage) {\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar5,local_30);\n        }\n        else {\n          (pDVar5->u_).val = (uint)pOVar1;\n          pDVar5->od2 = (Output_data *)0x0;\n          pDVar5->tag_ = DT_VERSYM;\n          pDVar5->offset_ = 0;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar5 + 1;\n        }\n      }\n      goto LAB_001c8ec4;\n    }\nLAB_001c9380:\n    iVar8 = *(int *)(in_t9 + 0x2f8d74);\nLAB_001c9384:\n    uVar7 = 0xd07;\n    pcVar11 = *(code **)(in_t9 + 0x2f8d54);\n    iVar8 = iVar8 + 0x4558;\n    this_00 = (Layout *)(*(int *)(in_t9 + 0x2f85a0) + 0x3574);\n    (*pcVar11)(this_00,0xd07,iVar8);\n    pGVar4 = this_00->gdb_index_data_;\n    if (pGVar4 == (Gdb_index *)0x0) {\n      pOVar1 = choose_output_section\n                         (this_00,(Relobj *)0x0,(char *)(*(int *)(pcVar11 + 0x2f86b4) + 0x40e8),1,0,\n                          false,ORDER_INVALID,false,false,false);\n      if (pOVar1 == (Output_section *)0x0) {\n        return;\n      }\n      pGVar4 = (Gdb_index *)(**(code **)(pcVar11 + 0x2f800c))(0x138);\n      (**(code **)(pcVar11 + 0x2f9164))(pGVar4,pOVar1);\n      pcVar12 = *(code **)(pcVar11 + 0x2f8d68);\n      this_00->gdb_index_data_ = pGVar4;\n      (*pcVar12)(pOVar1,pGVar4);\n      *(uint *)&pOVar1->field_0x98 = *(uint *)&pOVar1->field_0x98 & 0xf7ffffff | 0x8000000;\n      pGVar4 = this_00->gdb_index_data_;\n    }\n                    /* WARNING: Could not recover jumptable at 0x001c9450. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(pcVar11 + 0x2f9160))\n              (pGVar4,uVar7,iVar8,uVar9,dynamic_symbols,ppuVar13,puVar14,uVar15,uVar16);\n    return;\n  }" { (expression_statement "puVar14 = &vsize;" (assignment_expression "puVar14 = &vsize" identifier = (pointer_expression "&vsize" & identifier)) ;) (expression_statement "ppuVar13 = &vbuf;" (assignment_expression "ppuVar13 = &vbuf" identifier = (pointer_expression "&vbuf" & identifier)) ;) (expression_statement "local_30 = puVar14;" (assignment_expression "local_30 = puVar14" identifier = identifier) ;) (expression_statement "(**(code **)(in_t9 + 0x2f9814))\n              (versions,symtab,&this->dynpool_,param_3,dynamic_symbols,ppuVar13,puVar14);" (call_expression "(**(code **)(in_t9 + 0x2f9814))\n              (versions,symtab,&this->dynpool_,param_3,dynamic_symbols,ppuVar13,puVar14)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9814))" ( (pointer_expression "**(code **)(in_t9 + 0x2f9814)" * (pointer_expression "*(code **)(in_t9 + 0x2f9814)" * (cast_expression "(code **)(in_t9 + 0x2f9814)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9814)" ( (binary_expression "in_t9 + 0x2f9814" identifier + number_literal) ))))) )) (argument_list "(versions,symtab,&this->dynpool_,param_3,dynamic_symbols,ppuVar13,puVar14)" ( identifier , identifier , (pointer_expression "&this->dynpool_" & (field_expression "this->dynpool_" identifier -> field_identifier)) , identifier , identifier , identifier , identifier ))) ;) (expression_statement "piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);" (assignment_expression "piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38)" identifier = (cast_expression "(int *)(**(code **)(in_t9 + 0x2f86cc))(0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x2f86cc))(0x38)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f86cc))" ( (pointer_expression "**(code **)(in_t9 + 0x2f86cc)" * (pointer_expression "*(code **)(in_t9 + 0x2f86cc)" * (cast_expression "(code **)(in_t9 + 0x2f86cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f86cc)" ( (binary_expression "in_t9 + 0x2f86cc" identifier + number_literal) ))))) )) (argument_list "(0x38)" ( number_literal ))))) ;) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xb] = 2;" (assignment_expression "piVar2[0xb] = 2" (subscript_expression "piVar2[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[7] = -1;" (assignment_expression "piVar2[7] = -1" (subscript_expression "piVar2[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;" (assignment_expression "*(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50" (pointer_expression "*(byte *)(piVar2 + 8)" * (cast_expression "(byte *)(piVar2 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 8)" ( (binary_expression "piVar2 + 8" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar2 + 8) & 7 | 0x50" (binary_expression "*(byte *)(piVar2 + 8) & 7" (pointer_expression "*(byte *)(piVar2 + 8)" * (cast_expression "(byte *)(piVar2 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 8)" ( (binary_expression "piVar2 + 8" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "iVar8 = *(int *)(in_t9 + 0x2f965c);" (assignment_expression "iVar8 = *(int *)(in_t9 + 0x2f965c)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f965c)" * (cast_expression "(int *)(in_t9 + 0x2f965c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f965c)" ( (binary_expression "in_t9 + 0x2f965c" identifier + number_literal) ))))) ;) (expression_statement "pcVar11 = *(code **)(in_t9 + 0x2f9428);" (assignment_expression "pcVar11 = *(code **)(in_t9 + 0x2f9428)" identifier = (pointer_expression "*(code **)(in_t9 + 0x2f9428)" * (cast_expression "(code **)(in_t9 + 0x2f9428)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9428)" ( (binary_expression "in_t9 + 0x2f9428" identifier + number_literal) ))))) ;) (expression_statement "piVar2[6] = -1;" (assignment_expression "piVar2[6] = -1" (subscript_expression "piVar2[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[5] = vsize;" (assignment_expression "piVar2[5] = vsize" (subscript_expression "piVar2[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar2 = iVar8 + 8;" (assignment_expression "*piVar2 = iVar8 + 8" (pointer_expression "*piVar2" * identifier) = (binary_expression "iVar8 + 8" identifier + number_literal)) ;) (expression_statement "piVar2[9] = 0;" (assignment_expression "piVar2[9] = 0" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xc] = (int)vbuf;" (assignment_expression "piVar2[0xc] = (int)vbuf" (subscript_expression "piVar2[0xc]" identifier [ number_literal ]) = (cast_expression "(int)vbuf" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar2[0xd] = *(int *)(in_t9 + 0x2f8d74) + 0x4104;" (assignment_expression "piVar2[0xd] = *(int *)(in_t9 + 0x2f8d74) + 0x4104" (subscript_expression "piVar2[0xd]" identifier [ number_literal ]) = (binary_expression "*(int *)(in_t9 + 0x2f8d74) + 0x4104" (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar11)(pOVar1,piVar2);" (call_expression "(*pcVar11)(pOVar1,piVar2)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(pOVar1,piVar2)" ( identifier , identifier ))) ;) (expression_statement "uVar9 = 2;" (assignment_expression "uVar9 = 2" identifier = number_literal) ;) (expression_statement "(**(code **)(in_t9 + 0x2f8d90))(pOVar1);" (call_expression "(**(code **)(in_t9 + 0x2f8d90))(pOVar1)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f8d90))" ( (pointer_expression "**(code **)(in_t9 + 0x2f8d90)" * (pointer_expression "*(code **)(in_t9 + 0x2f8d90)" * (cast_expression "(code **)(in_t9 + 0x2f8d90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f8d90)" ( (binary_expression "in_t9 + 0x2f8d90" identifier + number_literal) ))))) )) (argument_list "(pOVar1)" ( identifier ))) ;) (if_statement "if ((pOVar1->link_ == 0) && (-1 < *(int *)&pOVar1->field_0x98 << 2)) {\n      iVar8 = *(int *)(in_t9 + 0x2f8d74);\n      if (*(int *)&pOVar1->field_0x98 << 3 < 0) goto LAB_001c9384;\n      pOVar10 = this->dynamic_data_;\n      pOVar1->link_section_ = &this->dynsym_section_->super_Output_data;\n      if (pOVar10 != (Output_data_dynamic *)0x0) {\n        pDVar5 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = (Output_data *)0x0;\n        vsize = (uint)pOVar1;\n        if (pDVar5 == (pOVar10->entries_).\n                      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                      ._M_impl._M_end_of_storage) {\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar5,local_30);\n        }\n        else {\n          (pDVar5->u_).val = (uint)pOVar1;\n          pDVar5->od2 = (Output_data *)0x0;\n          pDVar5->tag_ = DT_VERSYM;\n          pDVar5->offset_ = 0;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar5 + 1;\n        }\n      }\n      goto LAB_001c8ec4;\n    }" if (parenthesized_expression "((pOVar1->link_ == 0) && (-1 < *(int *)&pOVar1->field_0x98 << 2))" ( (binary_expression "(pOVar1->link_ == 0) && (-1 < *(int *)&pOVar1->field_0x98 << 2)" (parenthesized_expression "(pOVar1->link_ == 0)" ( (binary_expression "pOVar1->link_ == 0" (field_expression "pOVar1->link_" identifier -> field_identifier) == number_literal) )) && (parenthesized_expression "(-1 < *(int *)&pOVar1->field_0x98 << 2)" ( (binary_expression "-1 < *(int *)&pOVar1->field_0x98 << 2" number_literal < (binary_expression "*(int *)&pOVar1->field_0x98 << 2" (pointer_expression "*(int *)&pOVar1->field_0x98" * (cast_expression "(int *)&pOVar1->field_0x98" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar1->field_0x98" & (field_expression "pOVar1->field_0x98" identifier -> field_identifier)))) << number_literal)) ))) )) (compound_statement "{\n      iVar8 = *(int *)(in_t9 + 0x2f8d74);\n      if (*(int *)&pOVar1->field_0x98 << 3 < 0) goto LAB_001c9384;\n      pOVar10 = this->dynamic_data_;\n      pOVar1->link_section_ = &this->dynsym_section_->super_Output_data;\n      if (pOVar10 != (Output_data_dynamic *)0x0) {\n        pDVar5 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = (Output_data *)0x0;\n        vsize = (uint)pOVar1;\n        if (pDVar5 == (pOVar10->entries_).\n                      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                      ._M_impl._M_end_of_storage) {\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar5,local_30);\n        }\n        else {\n          (pDVar5->u_).val = (uint)pOVar1;\n          pDVar5->od2 = (Output_data *)0x0;\n          pDVar5->tag_ = DT_VERSYM;\n          pDVar5->offset_ = 0;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar5 + 1;\n        }\n      }\n      goto LAB_001c8ec4;\n    }" { (expression_statement "iVar8 = *(int *)(in_t9 + 0x2f8d74);" (assignment_expression "iVar8 = *(int *)(in_t9 + 0x2f8d74)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)&pOVar1->field_0x98 << 3 < 0) goto LAB_001c9384;" if (parenthesized_expression "(*(int *)&pOVar1->field_0x98 << 3 < 0)" ( (binary_expression "*(int *)&pOVar1->field_0x98 << 3 < 0" (binary_expression "*(int *)&pOVar1->field_0x98 << 3" (pointer_expression "*(int *)&pOVar1->field_0x98" * (cast_expression "(int *)&pOVar1->field_0x98" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar1->field_0x98" & (field_expression "pOVar1->field_0x98" identifier -> field_identifier)))) << number_literal) < number_literal) )) (goto_statement "goto LAB_001c9384;" goto statement_identifier ;)) (expression_statement "pOVar10 = this->dynamic_data_;" (assignment_expression "pOVar10 = this->dynamic_data_" identifier = (field_expression "this->dynamic_data_" identifier -> field_identifier)) ;) (expression_statement "pOVar1->link_section_ = &this->dynsym_section_->super_Output_data;" (assignment_expression "pOVar1->link_section_ = &this->dynsym_section_->super_Output_data" (field_expression "pOVar1->link_section_" identifier -> field_identifier) = (pointer_expression "&this->dynsym_section_->super_Output_data" & (field_expression "this->dynsym_section_->super_Output_data" (field_expression "this->dynsym_section_" identifier -> field_identifier) -> field_identifier))) ;) (if_statement "if (pOVar10 != (Output_data_dynamic *)0x0) {\n        pDVar5 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = (Output_data *)0x0;\n        vsize = (uint)pOVar1;\n        if (pDVar5 == (pOVar10->entries_).\n                      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                      ._M_impl._M_end_of_storage) {\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar5,local_30);\n        }\n        else {\n          (pDVar5->u_).val = (uint)pOVar1;\n          pDVar5->od2 = (Output_data *)0x0;\n          pDVar5->tag_ = DT_VERSYM;\n          pDVar5->offset_ = 0;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar5 + 1;\n        }\n      }" if (parenthesized_expression "(pOVar10 != (Output_data_dynamic *)0x0)" ( (binary_expression "pOVar10 != (Output_data_dynamic *)0x0" identifier != (cast_expression "(Output_data_dynamic *)0x0" ( (type_descriptor "Output_data_dynamic *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pDVar5 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = (Output_data *)0x0;\n        vsize = (uint)pOVar1;\n        if (pDVar5 == (pOVar10->entries_).\n                      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                      ._M_impl._M_end_of_storage) {\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar5,local_30);\n        }\n        else {\n          (pDVar5->u_).val = (uint)pOVar1;\n          pDVar5->od2 = (Output_data *)0x0;\n          pDVar5->tag_ = DT_VERSYM;\n          pDVar5->offset_ = 0;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar5 + 1;\n        }\n      }" { (ERROR "pDVar5 = (pOVar10->entries_).\n                 super__Vector_base<gold::" (assignment_expression "pDVar5 = (pOVar10->entries_).\n                 super__Vector_base<gold" identifier = (binary_expression "(pOVar10->entries_).\n                 super__Vector_base<gold" (field_expression "(pOVar10->entries_).\n                 super__Vector_base" (parenthesized_expression "(pOVar10->entries_)" ( (field_expression "pOVar10->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n                 ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n                 ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n                 ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;))) (expression_statement "local_58 = 0x6ffffff0;" (assignment_expression "local_58 = 0x6ffffff0" identifier = number_literal) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_5c = (Output_data *)0x0;" (assignment_expression "local_5c = (Output_data *)0x0" identifier = (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "vsize = (uint)pOVar1;" (assignment_expression "vsize = (uint)pOVar1" identifier = (cast_expression "(uint)pOVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (pDVar5 == (pOVar10->entries_).\n                      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                      ._M_impl._M_end_of_storage) {\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar5,local_30);\n        }\n        else {\n          (pDVar5->u_).val = (uint)pOVar1;\n          pDVar5->od2 = (Output_data *)0x0;\n          pDVar5->tag_ = DT_VERSYM;\n          pDVar5->offset_ = 0;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar5 + 1;\n        }" if (parenthesized_expression "(pDVar5 == (pOVar10->entries_).\n                      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                      ._M_impl._M_end_of_storage)" ( (ERROR "pDVar5 == (pOVar10->entries_).\n                      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::" (comma_expression "pDVar5 == (pOVar10->entries_).\n                      super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std" (binary_expression "pDVar5 == (pOVar10->entries_).\n                      super__Vector_base<gold" identifier == (binary_expression "(pOVar10->entries_).\n                      super__Vector_base<gold" (field_expression "(pOVar10->entries_).\n                      super__Vector_base" (parenthesized_expression "(pOVar10->entries_)" ( (field_expression "pOVar10->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_dynamic::Dynamic_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Dynamic_entry>_>\n                      ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n                      ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar5,local_30);\n        }" { (expression_statement "(**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar5,local_30);" (call_expression "(**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar5,local_30)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9274))" ( (pointer_expression "**(code **)(in_t9 + 0x2f9274)" * (pointer_expression "*(code **)(in_t9 + 0x2f9274)" * (cast_expression "(code **)(in_t9 + 0x2f9274)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9274)" ( (binary_expression "in_t9 + 0x2f9274" identifier + number_literal) ))))) )) (argument_list "(&pOVar10->entries_,pDVar5,local_30)" ( (pointer_expression "&pOVar10->entries_" & (field_expression "pOVar10->entries_" identifier -> field_identifier)) , identifier , identifier ))) ;) }) (else_clause "else {\n          (pDVar5->u_).val = (uint)pOVar1;\n          pDVar5->od2 = (Output_data *)0x0;\n          pDVar5->tag_ = DT_VERSYM;\n          pDVar5->offset_ = 0;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar5 + 1;\n        }" else (compound_statement "{\n          (pDVar5->u_).val = (uint)pOVar1;\n          pDVar5->od2 = (Output_data *)0x0;\n          pDVar5->tag_ = DT_VERSYM;\n          pDVar5->offset_ = 0;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar5 + 1;\n        }" { (expression_statement "(pDVar5->u_).val = (uint)pOVar1;" (assignment_expression "(pDVar5->u_).val = (uint)pOVar1" (field_expression "(pDVar5->u_).val" (parenthesized_expression "(pDVar5->u_)" ( (field_expression "pDVar5->u_" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(uint)pOVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pDVar5->od2 = (Output_data *)0x0;" (assignment_expression "pDVar5->od2 = (Output_data *)0x0" (field_expression "pDVar5->od2" identifier -> field_identifier) = (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pDVar5->tag_ = DT_VERSYM;" (assignment_expression "pDVar5->tag_ = DT_VERSYM" (field_expression "pDVar5->tag_" identifier -> field_identifier) = identifier) ;) (expression_statement "pDVar5->offset_ = 0;" (assignment_expression "pDVar5->offset_ = 0" (field_expression "pDVar5->offset_" identifier -> field_identifier) = number_literal) ;) (ERROR "(pOVar10->entries_).\n          super__Vector_base<gold::" (binary_expression "(pOVar10->entries_).\n          super__Vector_base<gold" (field_expression "(pOVar10->entries_).\n          super__Vector_base" (parenthesized_expression "(pOVar10->entries_)" ( (field_expression "pOVar10->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar5 + 1;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar5 + 1;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar5 + 1;" (assignment_expression "Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar5 + 1" (field_expression "Dynamic_entry>_>\n          ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n          ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "pDVar5 + 1" identifier + number_literal)) ;))) }))) })) (goto_statement "goto LAB_001c8ec4;" goto statement_identifier ;) })) (labeled_statement "LAB_001c9380:\n    iVar8 = *(int *)(in_t9 + 0x2f8d74);" statement_identifier : (expression_statement "iVar8 = *(int *)(in_t9 + 0x2f8d74);" (assignment_expression "iVar8 = *(int *)(in_t9 + 0x2f8d74)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_001c9384:\n    uVar7 = 0xd07;" statement_identifier : (expression_statement "uVar7 = 0xd07;" (assignment_expression "uVar7 = 0xd07" identifier = number_literal) ;)) (expression_statement "pcVar11 = *(code **)(in_t9 + 0x2f8d54);" (assignment_expression "pcVar11 = *(code **)(in_t9 + 0x2f8d54)" identifier = (pointer_expression "*(code **)(in_t9 + 0x2f8d54)" * (cast_expression "(code **)(in_t9 + 0x2f8d54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f8d54)" ( (binary_expression "in_t9 + 0x2f8d54" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = iVar8 + 0x4558;" (assignment_expression "iVar8 = iVar8 + 0x4558" identifier = (binary_expression "iVar8 + 0x4558" identifier + number_literal)) ;) (expression_statement "this_00 = (Layout *)(*(int *)(in_t9 + 0x2f85a0) + 0x3574);" (assignment_expression "this_00 = (Layout *)(*(int *)(in_t9 + 0x2f85a0) + 0x3574)" identifier = (cast_expression "(Layout *)(*(int *)(in_t9 + 0x2f85a0) + 0x3574)" ( (type_descriptor "Layout *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x2f85a0) + 0x3574)" ( (binary_expression "*(int *)(in_t9 + 0x2f85a0) + 0x3574" (pointer_expression "*(int *)(in_t9 + 0x2f85a0)" * (cast_expression "(int *)(in_t9 + 0x2f85a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f85a0)" ( (binary_expression "in_t9 + 0x2f85a0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar11)(this_00,0xd07,iVar8);" (call_expression "(*pcVar11)(this_00,0xd07,iVar8)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(this_00,0xd07,iVar8)" ( identifier , number_literal , identifier ))) ;) (expression_statement "pGVar4 = this_00->gdb_index_data_;" (assignment_expression "pGVar4 = this_00->gdb_index_data_" identifier = (field_expression "this_00->gdb_index_data_" identifier -> field_identifier)) ;) (if_statement "if (pGVar4 == (Gdb_index *)0x0) {\n      pOVar1 = choose_output_section\n                         (this_00,(Relobj *)0x0,(char *)(*(int *)(pcVar11 + 0x2f86b4) + 0x40e8),1,0,\n                          false,ORDER_INVALID,false,false,false);\n      if (pOVar1 == (Output_section *)0x0) {\n        return;\n      }\n      pGVar4 = (Gdb_index *)(**(code **)(pcVar11 + 0x2f800c))(0x138);\n      (**(code **)(pcVar11 + 0x2f9164))(pGVar4,pOVar1);\n      pcVar12 = *(code **)(pcVar11 + 0x2f8d68);\n      this_00->gdb_index_data_ = pGVar4;\n      (*pcVar12)(pOVar1,pGVar4);\n      *(uint *)&pOVar1->field_0x98 = *(uint *)&pOVar1->field_0x98 & 0xf7ffffff | 0x8000000;\n      pGVar4 = this_00->gdb_index_data_;\n    }" if (parenthesized_expression "(pGVar4 == (Gdb_index *)0x0)" ( (binary_expression "pGVar4 == (Gdb_index *)0x0" identifier == (cast_expression "(Gdb_index *)0x0" ( (type_descriptor "Gdb_index *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pOVar1 = choose_output_section\n                         (this_00,(Relobj *)0x0,(char *)(*(int *)(pcVar11 + 0x2f86b4) + 0x40e8),1,0,\n                          false,ORDER_INVALID,false,false,false);\n      if (pOVar1 == (Output_section *)0x0) {\n        return;\n      }\n      pGVar4 = (Gdb_index *)(**(code **)(pcVar11 + 0x2f800c))(0x138);\n      (**(code **)(pcVar11 + 0x2f9164))(pGVar4,pOVar1);\n      pcVar12 = *(code **)(pcVar11 + 0x2f8d68);\n      this_00->gdb_index_data_ = pGVar4;\n      (*pcVar12)(pOVar1,pGVar4);\n      *(uint *)&pOVar1->field_0x98 = *(uint *)&pOVar1->field_0x98 & 0xf7ffffff | 0x8000000;\n      pGVar4 = this_00->gdb_index_data_;\n    }" { (expression_statement "pOVar1 = choose_output_section\n                         (this_00,(Relobj *)0x0,(char *)(*(int *)(pcVar11 + 0x2f86b4) + 0x40e8),1,0,\n                          false,ORDER_INVALID,false,false,false);" (assignment_expression "pOVar1 = choose_output_section\n                         (this_00,(Relobj *)0x0,(char *)(*(int *)(pcVar11 + 0x2f86b4) + 0x40e8),1,0,\n                          false,ORDER_INVALID,false,false,false)" identifier = (call_expression "choose_output_section\n                         (this_00,(Relobj *)0x0,(char *)(*(int *)(pcVar11 + 0x2f86b4) + 0x40e8),1,0,\n                          false,ORDER_INVALID,false,false,false)" identifier (argument_list "(this_00,(Relobj *)0x0,(char *)(*(int *)(pcVar11 + 0x2f86b4) + 0x40e8),1,0,\n                          false,ORDER_INVALID,false,false,false)" ( identifier , (cast_expression "(Relobj *)0x0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(char *)(*(int *)(pcVar11 + 0x2f86b4) + 0x40e8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar11 + 0x2f86b4) + 0x40e8)" ( (binary_expression "*(int *)(pcVar11 + 0x2f86b4) + 0x40e8" (pointer_expression "*(int *)(pcVar11 + 0x2f86b4)" * (cast_expression "(int *)(pcVar11 + 0x2f86b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x2f86b4)" ( (binary_expression "pcVar11 + 0x2f86b4" identifier + number_literal) )))) + number_literal) ))) , number_literal , number_literal , false , identifier , false , false , false )))) ;) (if_statement "if (pOVar1 == (Output_section *)0x0) {\n        return;\n      }" if (parenthesized_expression "(pOVar1 == (Output_section *)0x0)" ( (binary_expression "pOVar1 == (Output_section *)0x0" identifier == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "pGVar4 = (Gdb_index *)(**(code **)(pcVar11 + 0x2f800c))(0x138);" (assignment_expression "pGVar4 = (Gdb_index *)(**(code **)(pcVar11 + 0x2f800c))(0x138)" identifier = (cast_expression "(Gdb_index *)(**(code **)(pcVar11 + 0x2f800c))(0x138)" ( (type_descriptor "Gdb_index *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar11 + 0x2f800c))(0x138)" (parenthesized_expression "(**(code **)(pcVar11 + 0x2f800c))" ( (pointer_expression "**(code **)(pcVar11 + 0x2f800c)" * (pointer_expression "*(code **)(pcVar11 + 0x2f800c)" * (cast_expression "(code **)(pcVar11 + 0x2f800c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x2f800c)" ( (binary_expression "pcVar11 + 0x2f800c" identifier + number_literal) ))))) )) (argument_list "(0x138)" ( number_literal ))))) ;) (expression_statement "(**(code **)(pcVar11 + 0x2f9164))(pGVar4,pOVar1);" (call_expression "(**(code **)(pcVar11 + 0x2f9164))(pGVar4,pOVar1)" (parenthesized_expression "(**(code **)(pcVar11 + 0x2f9164))" ( (pointer_expression "**(code **)(pcVar11 + 0x2f9164)" * (pointer_expression "*(code **)(pcVar11 + 0x2f9164)" * (cast_expression "(code **)(pcVar11 + 0x2f9164)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x2f9164)" ( (binary_expression "pcVar11 + 0x2f9164" identifier + number_literal) ))))) )) (argument_list "(pGVar4,pOVar1)" ( identifier , identifier ))) ;) (expression_statement "pcVar12 = *(code **)(pcVar11 + 0x2f8d68);" (assignment_expression "pcVar12 = *(code **)(pcVar11 + 0x2f8d68)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x2f8d68)" * (cast_expression "(code **)(pcVar11 + 0x2f8d68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x2f8d68)" ( (binary_expression "pcVar11 + 0x2f8d68" identifier + number_literal) ))))) ;) (expression_statement "this_00->gdb_index_data_ = pGVar4;" (assignment_expression "this_00->gdb_index_data_ = pGVar4" (field_expression "this_00->gdb_index_data_" identifier -> field_identifier) = identifier) ;) (expression_statement "(*pcVar12)(pOVar1,pGVar4);" (call_expression "(*pcVar12)(pOVar1,pGVar4)" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "(pOVar1,pGVar4)" ( identifier , identifier ))) ;) (expression_statement "*(uint *)&pOVar1->field_0x98 = *(uint *)&pOVar1->field_0x98 & 0xf7ffffff | 0x8000000;" (assignment_expression "*(uint *)&pOVar1->field_0x98 = *(uint *)&pOVar1->field_0x98 & 0xf7ffffff | 0x8000000" (pointer_expression "*(uint *)&pOVar1->field_0x98" * (cast_expression "(uint *)&pOVar1->field_0x98" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar1->field_0x98" & (field_expression "pOVar1->field_0x98" identifier -> field_identifier)))) = (binary_expression "*(uint *)&pOVar1->field_0x98 & 0xf7ffffff | 0x8000000" (binary_expression "*(uint *)&pOVar1->field_0x98 & 0xf7ffffff" (pointer_expression "*(uint *)&pOVar1->field_0x98" * (cast_expression "(uint *)&pOVar1->field_0x98" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar1->field_0x98" & (field_expression "pOVar1->field_0x98" identifier -> field_identifier)))) & number_literal) | number_literal)) ;) (expression_statement "pGVar4 = this_00->gdb_index_data_;" (assignment_expression "pGVar4 = this_00->gdb_index_data_" identifier = (field_expression "this_00->gdb_index_data_" identifier -> field_identifier)) ;) })) comment comment (expression_statement "(**(code **)(pcVar11 + 0x2f9160))\n              (pGVar4,uVar7,iVar8,uVar9,dynamic_symbols,ppuVar13,puVar14,uVar15,uVar16);" (call_expression "(**(code **)(pcVar11 + 0x2f9160))\n              (pGVar4,uVar7,iVar8,uVar9,dynamic_symbols,ppuVar13,puVar14,uVar15,uVar16)" (parenthesized_expression "(**(code **)(pcVar11 + 0x2f9160))" ( (pointer_expression "**(code **)(pcVar11 + 0x2f9160)" * (pointer_expression "*(code **)(pcVar11 + 0x2f9160)" * (cast_expression "(code **)(pcVar11 + 0x2f9160)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x2f9160)" ( (binary_expression "pcVar11 + 0x2f9160" identifier + number_literal) ))))) )) (argument_list "(pGVar4,uVar7,iVar8,uVar9,dynamic_symbols,ppuVar13,puVar14,uVar15,uVar16)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "pOVar10 = this->dynamic_data_;" (assignment_expression "pOVar10 = this->dynamic_data_" identifier = (field_expression "this->dynamic_data_" identifier -> field_identifier)) ;) (labeled_statement "LAB_001c8ec4:\n  if ((versions->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_start ==\n      (versions->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish) {\nLAB_001c90ac:\n    if ((versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.\n        _M_impl._M_start ==\n        (versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.\n        _M_impl._M_finish) {\n      return;\n    }\n    uVar15 = 3;\n    uVar16 = 0;\n    puVar14 = (uint *)0x0;\n    ppuVar13 = (uchar **)0x2;\n    pOVar1 = choose_output_section\n                       (this,(Relobj *)0x0,(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x4130),0x6ffffffe,\n                        2,false,ORDER_DYNAMIC_LINKER,false,false,false);\n    if (pOVar1 == (Output_section *)0x0) {\n      return;\n    }\n    dynamic_symbols = (vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *)&vnentries;\n    (**(code **)(in_t9 + 0x2f981c))(versions,&this->dynpool_,&vnbuf,&vnsize,dynamic_symbols);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar8 = *(int *)(in_t9 + 0x2f965c);\n    pcVar11 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = vnsize;\n    uVar9 = 0xffffffff;\n    *piVar2 = iVar8 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = (int)vnbuf;\n    iVar8 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar8 + 0x4140;\n    (*pcVar11)(pOVar1,piVar2);\n    if (((pOVar1->link_ != 0) || (*(int *)&pOVar1->field_0x98 << 2 < 0)) ||\n       (*(int *)&pOVar1->field_0x98 << 3 < 0)) goto LAB_001c9380;\n    pOVar1->link_section_ = &dynstr->super_Output_data;\n    if (((pOVar1->info_section_ == (Output_section *)0x0) && (pOVar1->info_symndx_ == (Symbol *)0x0)\n        ) && ((pOVar1->info_ == 0 || (vnentries == pOVar1->info_)))) {\n      pOVar1->info_ = vnentries;\n      if (pOVar10 == (Output_data_dynamic *)0x0) {\n        return;\n      }\n      pDVar5 = (pOVar10->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n      pDVar6 = (pOVar10->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n      versions = (Versions *)&pOVar10->entries_;\n      local_54 = 0;\n      local_58 = 0x6ffffffe;\n      local_5c = (Output_data *)0x0;\n      if (pDVar5 == pDVar6) {\n        vsize = (uint)pOVar1;\n        (**(code **)(in_t9 + 0x2f9274))(versions,pDVar6,&vsize);\n        pDVar3 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        pDVar6 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_end_of_storage;\n      }\n      else {\n        pDVar3 = pDVar5 + 1;\n        (pDVar5->u_).val = (uint)pOVar1;\n        pDVar5->od2 = (Output_data *)0x0;\n        pDVar5->tag_ = DT_VERNEED;\n        pDVar5->offset_ = 0;\n        (pOVar10->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = pDVar3;\n      }\n      local_58 = 0x6fffffff;\n      local_54 = 0xffffffff;\n      vsize = vnentries;\n      if (pDVar3 != pDVar6) {\n        (pDVar3->u_).val = vnentries;\n        pDVar3->tag_ = DT_VERNEEDNUM;\n        pDVar3->od2 = local_5c;\n        pDVar3->offset_ = 0xffffffff;\n        (pOVar10->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = pDVar3 + 1;\n        return;\n      }\n      goto LAB_001c9304;\n    }\nLAB_001c92e8:\n    iVar8 = *(int *)(in_t9 + 0x2f8d74);\n  }\n  else {\n    uVar15 = 3;\n    uVar16 = 0;\n    puVar14 = (uint *)0x0;\n    ppuVar13 = (uchar **)0x2;\n    pOVar1 = choose_output_section\n                       (this,(Relobj *)0x0,(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x4110),0x6ffffffd,\n                        2,false,ORDER_DYNAMIC_LINKER,false,false,false);\n    if (pOVar1 == (Output_section *)0x0) goto LAB_001c90ac;\n    dynamic_symbols = (vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *)&vdentries;\n    (**(code **)(in_t9 + 0x2f9818))(versions,&this->dynpool_,&vdbuf,&vdsize,dynamic_symbols);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar8 = *(int *)(in_t9 + 0x2f965c);\n    pcVar11 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = vdsize;\n    uVar9 = 0xffffffff;\n    *piVar2 = iVar8 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = (int)vdbuf;\n    iVar8 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar8 + 0x4120;\n    (*pcVar11)(pOVar1,piVar2);\n    if (((pOVar1->link_ != 0) || (*(int *)&pOVar1->field_0x98 << 2 < 0)) ||\n       (*(int *)&pOVar1->field_0x98 << 3 < 0)) goto LAB_001c9380;\n    pOVar1->link_section_ = &dynstr->super_Output_data;\n    if (pOVar1->info_section_ != (Output_section *)0x0) goto LAB_001c92e8;\n    iVar8 = *(int *)(in_t9 + 0x2f8d74);\n    if ((pOVar1->info_symndx_ == (Symbol *)0x0) &&\n       ((pOVar1->info_ == 0 || (vdentries == pOVar1->info_)))) {\n      pOVar1->info_ = vdentries;\n      if (pOVar10 != (Output_data_dynamic *)0x0) {\n        pDVar5 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        pDVar6 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_end_of_storage;\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = (Output_data *)0x0;\n        if (pDVar5 == pDVar6) {\n          vsize = (uint)pOVar1;\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);\n          pDVar3 = (pOVar10->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish;\n          pDVar6 = (pOVar10->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_end_of_storage;\n        }\n        else {\n          pDVar3 = pDVar5 + 1;\n          (pDVar5->u_).val = (uint)pOVar1;\n          pDVar5->od2 = (Output_data *)0x0;\n          pDVar5->tag_ = DT_VERDEF;\n          pDVar5->offset_ = 0;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        vsize = vdentries;\n        if (pDVar6 == pDVar3) {\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);\n        }\n        else {\n          (pDVar3->u_).val = vdentries;\n          pDVar3->tag_ = DT_VERDEFNUM;\n          pDVar3->od2 = local_5c;\n          pDVar3->offset_ = 0xffffffff;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3 + 1;\n        }\n      }\n      goto LAB_001c90ac;\n    }\n  }" statement_identifier : (if_statement "if ((versions->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_start ==\n      (versions->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish) {\nLAB_001c90ac:\n    if ((versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.\n        _M_impl._M_start ==\n        (versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.\n        _M_impl._M_finish) {\n      return;\n    }\n    uVar15 = 3;\n    uVar16 = 0;\n    puVar14 = (uint *)0x0;\n    ppuVar13 = (uchar **)0x2;\n    pOVar1 = choose_output_section\n                       (this,(Relobj *)0x0,(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x4130),0x6ffffffe,\n                        2,false,ORDER_DYNAMIC_LINKER,false,false,false);\n    if (pOVar1 == (Output_section *)0x0) {\n      return;\n    }\n    dynamic_symbols = (vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *)&vnentries;\n    (**(code **)(in_t9 + 0x2f981c))(versions,&this->dynpool_,&vnbuf,&vnsize,dynamic_symbols);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar8 = *(int *)(in_t9 + 0x2f965c);\n    pcVar11 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = vnsize;\n    uVar9 = 0xffffffff;\n    *piVar2 = iVar8 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = (int)vnbuf;\n    iVar8 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar8 + 0x4140;\n    (*pcVar11)(pOVar1,piVar2);\n    if (((pOVar1->link_ != 0) || (*(int *)&pOVar1->field_0x98 << 2 < 0)) ||\n       (*(int *)&pOVar1->field_0x98 << 3 < 0)) goto LAB_001c9380;\n    pOVar1->link_section_ = &dynstr->super_Output_data;\n    if (((pOVar1->info_section_ == (Output_section *)0x0) && (pOVar1->info_symndx_ == (Symbol *)0x0)\n        ) && ((pOVar1->info_ == 0 || (vnentries == pOVar1->info_)))) {\n      pOVar1->info_ = vnentries;\n      if (pOVar10 == (Output_data_dynamic *)0x0) {\n        return;\n      }\n      pDVar5 = (pOVar10->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n      pDVar6 = (pOVar10->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n      versions = (Versions *)&pOVar10->entries_;\n      local_54 = 0;\n      local_58 = 0x6ffffffe;\n      local_5c = (Output_data *)0x0;\n      if (pDVar5 == pDVar6) {\n        vsize = (uint)pOVar1;\n        (**(code **)(in_t9 + 0x2f9274))(versions,pDVar6,&vsize);\n        pDVar3 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        pDVar6 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_end_of_storage;\n      }\n      else {\n        pDVar3 = pDVar5 + 1;\n        (pDVar5->u_).val = (uint)pOVar1;\n        pDVar5->od2 = (Output_data *)0x0;\n        pDVar5->tag_ = DT_VERNEED;\n        pDVar5->offset_ = 0;\n        (pOVar10->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = pDVar3;\n      }\n      local_58 = 0x6fffffff;\n      local_54 = 0xffffffff;\n      vsize = vnentries;\n      if (pDVar3 != pDVar6) {\n        (pDVar3->u_).val = vnentries;\n        pDVar3->tag_ = DT_VERNEEDNUM;\n        pDVar3->od2 = local_5c;\n        pDVar3->offset_ = 0xffffffff;\n        (pOVar10->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = pDVar3 + 1;\n        return;\n      }\n      goto LAB_001c9304;\n    }\nLAB_001c92e8:\n    iVar8 = *(int *)(in_t9 + 0x2f8d74);\n  }\n  else {\n    uVar15 = 3;\n    uVar16 = 0;\n    puVar14 = (uint *)0x0;\n    ppuVar13 = (uchar **)0x2;\n    pOVar1 = choose_output_section\n                       (this,(Relobj *)0x0,(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x4110),0x6ffffffd,\n                        2,false,ORDER_DYNAMIC_LINKER,false,false,false);\n    if (pOVar1 == (Output_section *)0x0) goto LAB_001c90ac;\n    dynamic_symbols = (vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *)&vdentries;\n    (**(code **)(in_t9 + 0x2f9818))(versions,&this->dynpool_,&vdbuf,&vdsize,dynamic_symbols);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar8 = *(int *)(in_t9 + 0x2f965c);\n    pcVar11 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = vdsize;\n    uVar9 = 0xffffffff;\n    *piVar2 = iVar8 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = (int)vdbuf;\n    iVar8 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar8 + 0x4120;\n    (*pcVar11)(pOVar1,piVar2);\n    if (((pOVar1->link_ != 0) || (*(int *)&pOVar1->field_0x98 << 2 < 0)) ||\n       (*(int *)&pOVar1->field_0x98 << 3 < 0)) goto LAB_001c9380;\n    pOVar1->link_section_ = &dynstr->super_Output_data;\n    if (pOVar1->info_section_ != (Output_section *)0x0) goto LAB_001c92e8;\n    iVar8 = *(int *)(in_t9 + 0x2f8d74);\n    if ((pOVar1->info_symndx_ == (Symbol *)0x0) &&\n       ((pOVar1->info_ == 0 || (vdentries == pOVar1->info_)))) {\n      pOVar1->info_ = vdentries;\n      if (pOVar10 != (Output_data_dynamic *)0x0) {\n        pDVar5 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        pDVar6 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_end_of_storage;\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = (Output_data *)0x0;\n        if (pDVar5 == pDVar6) {\n          vsize = (uint)pOVar1;\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);\n          pDVar3 = (pOVar10->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish;\n          pDVar6 = (pOVar10->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_end_of_storage;\n        }\n        else {\n          pDVar3 = pDVar5 + 1;\n          (pDVar5->u_).val = (uint)pOVar1;\n          pDVar5->od2 = (Output_data *)0x0;\n          pDVar5->tag_ = DT_VERDEF;\n          pDVar5->offset_ = 0;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        vsize = vdentries;\n        if (pDVar6 == pDVar3) {\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);\n        }\n        else {\n          (pDVar3->u_).val = vdentries;\n          pDVar3->tag_ = DT_VERDEFNUM;\n          pDVar3->od2 = local_5c;\n          pDVar3->offset_ = 0xffffffff;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3 + 1;\n        }\n      }\n      goto LAB_001c90ac;\n    }\n  }" if (parenthesized_expression "((versions->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_start ==\n      (versions->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish)" ( (field_expression "(versions->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_start ==\n      (versions->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish" (field_expression "(versions->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_start ==\n      (versions->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl" (binary_expression "(versions->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_start ==\n      (versions->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_" (binary_expression "(versions->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_start ==\n      (versions->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold" (binary_expression "(versions->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_start ==\n      (versions->defs_).super__Vector_base<gold::Verdef*,_std" (binary_expression "(versions->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_start ==\n      (versions->defs_).super__Vector_base<gold" (field_expression "(versions->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_start" (field_expression "(versions->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl" (binary_expression "(versions->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_" (binary_expression "(versions->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold" (binary_expression "(versions->defs_).super__Vector_base<gold::Verdef*,_std" (binary_expression "(versions->defs_).super__Vector_base<gold" (field_expression "(versions->defs_).super__Vector_base" (parenthesized_expression "(versions->defs_)" ( (field_expression "versions->defs_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Verdef" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Verdef" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) == (binary_expression "(versions->defs_).super__Vector_base<gold" (field_expression "(versions->defs_).super__Vector_base" (parenthesized_expression "(versions->defs_)" ( (field_expression "versions->defs_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Verdef" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Verdef" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\nLAB_001c90ac:\n    if ((versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.\n        _M_impl._M_start ==\n        (versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.\n        _M_impl._M_finish) {\n      return;\n    }\n    uVar15 = 3;\n    uVar16 = 0;\n    puVar14 = (uint *)0x0;\n    ppuVar13 = (uchar **)0x2;\n    pOVar1 = choose_output_section\n                       (this,(Relobj *)0x0,(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x4130),0x6ffffffe,\n                        2,false,ORDER_DYNAMIC_LINKER,false,false,false);\n    if (pOVar1 == (Output_section *)0x0) {\n      return;\n    }\n    dynamic_symbols = (vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *)&vnentries;\n    (**(code **)(in_t9 + 0x2f981c))(versions,&this->dynpool_,&vnbuf,&vnsize,dynamic_symbols);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar8 = *(int *)(in_t9 + 0x2f965c);\n    pcVar11 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = vnsize;\n    uVar9 = 0xffffffff;\n    *piVar2 = iVar8 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = (int)vnbuf;\n    iVar8 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar8 + 0x4140;\n    (*pcVar11)(pOVar1,piVar2);\n    if (((pOVar1->link_ != 0) || (*(int *)&pOVar1->field_0x98 << 2 < 0)) ||\n       (*(int *)&pOVar1->field_0x98 << 3 < 0)) goto LAB_001c9380;\n    pOVar1->link_section_ = &dynstr->super_Output_data;\n    if (((pOVar1->info_section_ == (Output_section *)0x0) && (pOVar1->info_symndx_ == (Symbol *)0x0)\n        ) && ((pOVar1->info_ == 0 || (vnentries == pOVar1->info_)))) {\n      pOVar1->info_ = vnentries;\n      if (pOVar10 == (Output_data_dynamic *)0x0) {\n        return;\n      }\n      pDVar5 = (pOVar10->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n      pDVar6 = (pOVar10->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n      versions = (Versions *)&pOVar10->entries_;\n      local_54 = 0;\n      local_58 = 0x6ffffffe;\n      local_5c = (Output_data *)0x0;\n      if (pDVar5 == pDVar6) {\n        vsize = (uint)pOVar1;\n        (**(code **)(in_t9 + 0x2f9274))(versions,pDVar6,&vsize);\n        pDVar3 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        pDVar6 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_end_of_storage;\n      }\n      else {\n        pDVar3 = pDVar5 + 1;\n        (pDVar5->u_).val = (uint)pOVar1;\n        pDVar5->od2 = (Output_data *)0x0;\n        pDVar5->tag_ = DT_VERNEED;\n        pDVar5->offset_ = 0;\n        (pOVar10->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = pDVar3;\n      }\n      local_58 = 0x6fffffff;\n      local_54 = 0xffffffff;\n      vsize = vnentries;\n      if (pDVar3 != pDVar6) {\n        (pDVar3->u_).val = vnentries;\n        pDVar3->tag_ = DT_VERNEEDNUM;\n        pDVar3->od2 = local_5c;\n        pDVar3->offset_ = 0xffffffff;\n        (pOVar10->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = pDVar3 + 1;\n        return;\n      }\n      goto LAB_001c9304;\n    }\nLAB_001c92e8:\n    iVar8 = *(int *)(in_t9 + 0x2f8d74);\n  }" { (labeled_statement "LAB_001c90ac:\n    if ((versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.\n        _M_impl._M_start ==\n        (versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.\n        _M_impl._M_finish) {\n      return;\n    }" statement_identifier : (if_statement "if ((versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.\n        _M_impl._M_start ==\n        (versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.\n        _M_impl._M_finish) {\n      return;\n    }" if (parenthesized_expression "((versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.\n        _M_impl._M_start ==\n        (versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.\n        _M_impl._M_finish)" ( (field_expression "(versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.\n        _M_impl._M_start ==\n        (versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.\n        _M_impl._M_finish" (field_expression "(versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.\n        _M_impl._M_start ==\n        (versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.\n        _M_impl" (binary_expression "(versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.\n        _M_impl._M_start ==\n        (versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_" (binary_expression "(versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.\n        _M_impl._M_start ==\n        (versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold" (binary_expression "(versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.\n        _M_impl._M_start ==\n        (versions->needs_).super__Vector_base<gold::Verneed*,_std" (binary_expression "(versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.\n        _M_impl._M_start ==\n        (versions->needs_).super__Vector_base<gold" (field_expression "(versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.\n        _M_impl._M_start" (field_expression "(versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>.\n        _M_impl" (binary_expression "(versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_" (binary_expression "(versions->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold" (binary_expression "(versions->needs_).super__Vector_base<gold::Verneed*,_std" (binary_expression "(versions->needs_).super__Vector_base<gold" (field_expression "(versions->needs_).super__Vector_base" (parenthesized_expression "(versions->needs_)" ( (field_expression "versions->needs_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Verneed" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Verneed" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) == (binary_expression "(versions->needs_).super__Vector_base<gold" (field_expression "(versions->needs_).super__Vector_base" (parenthesized_expression "(versions->needs_)" ( (field_expression "versions->needs_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Verneed" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Verneed" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) }))) (expression_statement "uVar15 = 3;" (assignment_expression "uVar15 = 3" identifier = number_literal) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "puVar14 = (uint *)0x0;" (assignment_expression "puVar14 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuVar13 = (uchar **)0x2;" (assignment_expression "ppuVar13 = (uchar **)0x2" identifier = (cast_expression "(uchar **)0x2" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pOVar1 = choose_output_section\n                       (this,(Relobj *)0x0,(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x4130),0x6ffffffe,\n                        2,false,ORDER_DYNAMIC_LINKER,false,false,false);" (assignment_expression "pOVar1 = choose_output_section\n                       (this,(Relobj *)0x0,(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x4130),0x6ffffffe,\n                        2,false,ORDER_DYNAMIC_LINKER,false,false,false)" identifier = (call_expression "choose_output_section\n                       (this,(Relobj *)0x0,(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x4130),0x6ffffffe,\n                        2,false,ORDER_DYNAMIC_LINKER,false,false,false)" identifier (argument_list "(this,(Relobj *)0x0,(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x4130),0x6ffffffe,\n                        2,false,ORDER_DYNAMIC_LINKER,false,false,false)" ( identifier , (cast_expression "(Relobj *)0x0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x4130)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x2f8d74) + 0x4130)" ( (binary_expression "*(int *)(in_t9 + 0x2f8d74) + 0x4130" (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) )))) + number_literal) ))) , number_literal , number_literal , false , identifier , false , false , false )))) ;) (if_statement "if (pOVar1 == (Output_section *)0x0) {\n      return;\n    }" if (parenthesized_expression "(pOVar1 == (Output_section *)0x0)" ( (binary_expression "pOVar1 == (Output_section *)0x0" identifier == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "dynamic_symbols = (vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *)&vnentries;" (assignment_expression "dynamic_symbols = (vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *)&vnentries" identifier = (binary_expression "(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *)&vnentries" (parenthesized_expression "(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *)" ( (ERROR "vector<gold::Symbol*,_std::allocator<gold::" (comma_expression "vector<gold::Symbol*,_std" (binary_expression "vector<gold::Symbol*" (binary_expression "vector<gold" identifier < identifier) (ERROR "::Symbol" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Symbol*>_> *" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (pointer_expression "*" * identifier)) )) & identifier)) ;) (expression_statement "(**(code **)(in_t9 + 0x2f981c))(versions,&this->dynpool_,&vnbuf,&vnsize,dynamic_symbols);" (call_expression "(**(code **)(in_t9 + 0x2f981c))(versions,&this->dynpool_,&vnbuf,&vnsize,dynamic_symbols)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f981c))" ( (pointer_expression "**(code **)(in_t9 + 0x2f981c)" * (pointer_expression "*(code **)(in_t9 + 0x2f981c)" * (cast_expression "(code **)(in_t9 + 0x2f981c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f981c)" ( (binary_expression "in_t9 + 0x2f981c" identifier + number_literal) ))))) )) (argument_list "(versions,&this->dynpool_,&vnbuf,&vnsize,dynamic_symbols)" ( identifier , (pointer_expression "&this->dynpool_" & (field_expression "this->dynpool_" identifier -> field_identifier)) , (pointer_expression "&vnbuf" & identifier) , (pointer_expression "&vnsize" & identifier) , identifier ))) ;) (expression_statement "piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);" (assignment_expression "piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38)" identifier = (cast_expression "(int *)(**(code **)(in_t9 + 0x2f86cc))(0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x2f86cc))(0x38)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f86cc))" ( (pointer_expression "**(code **)(in_t9 + 0x2f86cc)" * (pointer_expression "*(code **)(in_t9 + 0x2f86cc)" * (cast_expression "(code **)(in_t9 + 0x2f86cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f86cc)" ( (binary_expression "in_t9 + 0x2f86cc" identifier + number_literal) ))))) )) (argument_list "(0x38)" ( number_literal ))))) ;) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;" (assignment_expression "*(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50" (pointer_expression "*(byte *)(piVar2 + 8)" * (cast_expression "(byte *)(piVar2 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 8)" ( (binary_expression "piVar2 + 8" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar2 + 8) & 7 | 0x50" (binary_expression "*(byte *)(piVar2 + 8) & 7" (pointer_expression "*(byte *)(piVar2 + 8)" * (cast_expression "(byte *)(piVar2 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 8)" ( (binary_expression "piVar2 + 8" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "iVar8 = *(int *)(in_t9 + 0x2f965c);" (assignment_expression "iVar8 = *(int *)(in_t9 + 0x2f965c)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f965c)" * (cast_expression "(int *)(in_t9 + 0x2f965c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f965c)" ( (binary_expression "in_t9 + 0x2f965c" identifier + number_literal) ))))) ;) (expression_statement "pcVar11 = *(code **)(in_t9 + 0x2f9428);" (assignment_expression "pcVar11 = *(code **)(in_t9 + 0x2f9428)" identifier = (pointer_expression "*(code **)(in_t9 + 0x2f9428)" * (cast_expression "(code **)(in_t9 + 0x2f9428)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9428)" ( (binary_expression "in_t9 + 0x2f9428" identifier + number_literal) ))))) ;) (expression_statement "piVar2[0xb] = 4;" (assignment_expression "piVar2[0xb] = 4" (subscript_expression "piVar2[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[5] = vnsize;" (assignment_expression "piVar2[5] = vnsize" (subscript_expression "piVar2[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar9 = 0xffffffff;" (assignment_expression "uVar9 = 0xffffffff" identifier = number_literal) ;) (expression_statement "*piVar2 = iVar8 + 8;" (assignment_expression "*piVar2 = iVar8 + 8" (pointer_expression "*piVar2" * identifier) = (binary_expression "iVar8 + 8" identifier + number_literal)) ;) (expression_statement "piVar2[9] = 0;" (assignment_expression "piVar2[9] = 0" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xc] = (int)vnbuf;" (assignment_expression "piVar2[0xc] = (int)vnbuf" (subscript_expression "piVar2[0xc]" identifier [ number_literal ]) = (cast_expression "(int)vnbuf" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar8 = *(int *)(in_t9 + 0x2f8d74);" (assignment_expression "iVar8 = *(int *)(in_t9 + 0x2f8d74)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) ))))) ;) (expression_statement "piVar2[7] = -1;" (assignment_expression "piVar2[7] = -1" (subscript_expression "piVar2[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[6] = -1;" (assignment_expression "piVar2[6] = -1" (subscript_expression "piVar2[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xd] = iVar8 + 0x4140;" (assignment_expression "piVar2[0xd] = iVar8 + 0x4140" (subscript_expression "piVar2[0xd]" identifier [ number_literal ]) = (binary_expression "iVar8 + 0x4140" identifier + number_literal)) ;) (expression_statement "(*pcVar11)(pOVar1,piVar2);" (call_expression "(*pcVar11)(pOVar1,piVar2)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(pOVar1,piVar2)" ( identifier , identifier ))) ;) (if_statement "if (((pOVar1->link_ != 0) || (*(int *)&pOVar1->field_0x98 << 2 < 0)) ||\n       (*(int *)&pOVar1->field_0x98 << 3 < 0)) goto LAB_001c9380;" if (parenthesized_expression "(((pOVar1->link_ != 0) || (*(int *)&pOVar1->field_0x98 << 2 < 0)) ||\n       (*(int *)&pOVar1->field_0x98 << 3 < 0))" ( (binary_expression "((pOVar1->link_ != 0) || (*(int *)&pOVar1->field_0x98 << 2 < 0)) ||\n       (*(int *)&pOVar1->field_0x98 << 3 < 0)" (parenthesized_expression "((pOVar1->link_ != 0) || (*(int *)&pOVar1->field_0x98 << 2 < 0))" ( (binary_expression "(pOVar1->link_ != 0) || (*(int *)&pOVar1->field_0x98 << 2 < 0)" (parenthesized_expression "(pOVar1->link_ != 0)" ( (binary_expression "pOVar1->link_ != 0" (field_expression "pOVar1->link_" identifier -> field_identifier) != number_literal) )) || (parenthesized_expression "(*(int *)&pOVar1->field_0x98 << 2 < 0)" ( (binary_expression "*(int *)&pOVar1->field_0x98 << 2 < 0" (binary_expression "*(int *)&pOVar1->field_0x98 << 2" (pointer_expression "*(int *)&pOVar1->field_0x98" * (cast_expression "(int *)&pOVar1->field_0x98" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar1->field_0x98" & (field_expression "pOVar1->field_0x98" identifier -> field_identifier)))) << number_literal) < number_literal) ))) )) || (parenthesized_expression "(*(int *)&pOVar1->field_0x98 << 3 < 0)" ( (binary_expression "*(int *)&pOVar1->field_0x98 << 3 < 0" (binary_expression "*(int *)&pOVar1->field_0x98 << 3" (pointer_expression "*(int *)&pOVar1->field_0x98" * (cast_expression "(int *)&pOVar1->field_0x98" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar1->field_0x98" & (field_expression "pOVar1->field_0x98" identifier -> field_identifier)))) << number_literal) < number_literal) ))) )) (goto_statement "goto LAB_001c9380;" goto statement_identifier ;)) (expression_statement "pOVar1->link_section_ = &dynstr->super_Output_data;" (assignment_expression "pOVar1->link_section_ = &dynstr->super_Output_data" (field_expression "pOVar1->link_section_" identifier -> field_identifier) = (pointer_expression "&dynstr->super_Output_data" & (field_expression "dynstr->super_Output_data" identifier -> field_identifier))) ;) (if_statement "if (((pOVar1->info_section_ == (Output_section *)0x0) && (pOVar1->info_symndx_ == (Symbol *)0x0)\n        ) && ((pOVar1->info_ == 0 || (vnentries == pOVar1->info_)))) {\n      pOVar1->info_ = vnentries;\n      if (pOVar10 == (Output_data_dynamic *)0x0) {\n        return;\n      }\n      pDVar5 = (pOVar10->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n      pDVar6 = (pOVar10->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n      versions = (Versions *)&pOVar10->entries_;\n      local_54 = 0;\n      local_58 = 0x6ffffffe;\n      local_5c = (Output_data *)0x0;\n      if (pDVar5 == pDVar6) {\n        vsize = (uint)pOVar1;\n        (**(code **)(in_t9 + 0x2f9274))(versions,pDVar6,&vsize);\n        pDVar3 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        pDVar6 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_end_of_storage;\n      }\n      else {\n        pDVar3 = pDVar5 + 1;\n        (pDVar5->u_).val = (uint)pOVar1;\n        pDVar5->od2 = (Output_data *)0x0;\n        pDVar5->tag_ = DT_VERNEED;\n        pDVar5->offset_ = 0;\n        (pOVar10->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = pDVar3;\n      }\n      local_58 = 0x6fffffff;\n      local_54 = 0xffffffff;\n      vsize = vnentries;\n      if (pDVar3 != pDVar6) {\n        (pDVar3->u_).val = vnentries;\n        pDVar3->tag_ = DT_VERNEEDNUM;\n        pDVar3->od2 = local_5c;\n        pDVar3->offset_ = 0xffffffff;\n        (pOVar10->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = pDVar3 + 1;\n        return;\n      }\n      goto LAB_001c9304;\n    }" if (parenthesized_expression "(((pOVar1->info_section_ == (Output_section *)0x0) && (pOVar1->info_symndx_ == (Symbol *)0x0)\n        ) && ((pOVar1->info_ == 0 || (vnentries == pOVar1->info_))))" ( (binary_expression "((pOVar1->info_section_ == (Output_section *)0x0) && (pOVar1->info_symndx_ == (Symbol *)0x0)\n        ) && ((pOVar1->info_ == 0 || (vnentries == pOVar1->info_)))" (parenthesized_expression "((pOVar1->info_section_ == (Output_section *)0x0) && (pOVar1->info_symndx_ == (Symbol *)0x0)\n        )" ( (binary_expression "(pOVar1->info_section_ == (Output_section *)0x0) && (pOVar1->info_symndx_ == (Symbol *)0x0)" (parenthesized_expression "(pOVar1->info_section_ == (Output_section *)0x0)" ( (binary_expression "pOVar1->info_section_ == (Output_section *)0x0" (field_expression "pOVar1->info_section_" identifier -> field_identifier) == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pOVar1->info_symndx_ == (Symbol *)0x0)" ( (binary_expression "pOVar1->info_symndx_ == (Symbol *)0x0" (field_expression "pOVar1->info_symndx_" identifier -> field_identifier) == (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "((pOVar1->info_ == 0 || (vnentries == pOVar1->info_)))" ( (parenthesized_expression "(pOVar1->info_ == 0 || (vnentries == pOVar1->info_))" ( (binary_expression "pOVar1->info_ == 0 || (vnentries == pOVar1->info_)" (binary_expression "pOVar1->info_ == 0" (field_expression "pOVar1->info_" identifier -> field_identifier) == number_literal) || (parenthesized_expression "(vnentries == pOVar1->info_)" ( (binary_expression "vnentries == pOVar1->info_" identifier == (field_expression "pOVar1->info_" identifier -> field_identifier)) ))) )) ))) )) (compound_statement "{\n      pOVar1->info_ = vnentries;\n      if (pOVar10 == (Output_data_dynamic *)0x0) {\n        return;\n      }\n      pDVar5 = (pOVar10->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;\n      pDVar6 = (pOVar10->entries_).\n               super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;\n      versions = (Versions *)&pOVar10->entries_;\n      local_54 = 0;\n      local_58 = 0x6ffffffe;\n      local_5c = (Output_data *)0x0;\n      if (pDVar5 == pDVar6) {\n        vsize = (uint)pOVar1;\n        (**(code **)(in_t9 + 0x2f9274))(versions,pDVar6,&vsize);\n        pDVar3 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        pDVar6 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_end_of_storage;\n      }\n      else {\n        pDVar3 = pDVar5 + 1;\n        (pDVar5->u_).val = (uint)pOVar1;\n        pDVar5->od2 = (Output_data *)0x0;\n        pDVar5->tag_ = DT_VERNEED;\n        pDVar5->offset_ = 0;\n        (pOVar10->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = pDVar3;\n      }\n      local_58 = 0x6fffffff;\n      local_54 = 0xffffffff;\n      vsize = vnentries;\n      if (pDVar3 != pDVar6) {\n        (pDVar3->u_).val = vnentries;\n        pDVar3->tag_ = DT_VERNEEDNUM;\n        pDVar3->od2 = local_5c;\n        pDVar3->offset_ = 0xffffffff;\n        (pOVar10->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = pDVar3 + 1;\n        return;\n      }\n      goto LAB_001c9304;\n    }" { (expression_statement "pOVar1->info_ = vnentries;" (assignment_expression "pOVar1->info_ = vnentries" (field_expression "pOVar1->info_" identifier -> field_identifier) = identifier) ;) (if_statement "if (pOVar10 == (Output_data_dynamic *)0x0) {\n        return;\n      }" if (parenthesized_expression "(pOVar10 == (Output_data_dynamic *)0x0)" ( (binary_expression "pOVar10 == (Output_data_dynamic *)0x0" identifier == (cast_expression "(Output_data_dynamic *)0x0" ( (type_descriptor "Output_data_dynamic *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (ERROR "pDVar5 = (pOVar10->entries_).\n               super__Vector_base<gold::" (assignment_expression "pDVar5 = (pOVar10->entries_).\n               super__Vector_base<gold" identifier = (binary_expression "(pOVar10->entries_).\n               super__Vector_base<gold" (field_expression "(pOVar10->entries_).\n               super__Vector_base" (parenthesized_expression "(pOVar10->entries_)" ( (field_expression "pOVar10->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n               ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n               ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n               ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;))) (ERROR "pDVar6 = (pOVar10->entries_).\n               super__Vector_base<gold::" (assignment_expression "pDVar6 = (pOVar10->entries_).\n               super__Vector_base<gold" identifier = (binary_expression "(pOVar10->entries_).\n               super__Vector_base<gold" (field_expression "(pOVar10->entries_).\n               super__Vector_base" (parenthesized_expression "(pOVar10->entries_)" ( (field_expression "pOVar10->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n               ._M_impl._M_end_of_storage;" (field_expression "Dynamic_entry>_>\n               ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n               ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;))) (expression_statement "versions = (Versions *)&pOVar10->entries_;" (assignment_expression "versions = (Versions *)&pOVar10->entries_" identifier = (cast_expression "(Versions *)&pOVar10->entries_" ( (type_descriptor "Versions *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar10->entries_" & (field_expression "pOVar10->entries_" identifier -> field_identifier)))) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0x6ffffffe;" (assignment_expression "local_58 = 0x6ffffffe" identifier = number_literal) ;) (expression_statement "local_5c = (Output_data *)0x0;" (assignment_expression "local_5c = (Output_data *)0x0" identifier = (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pDVar5 == pDVar6) {\n        vsize = (uint)pOVar1;\n        (**(code **)(in_t9 + 0x2f9274))(versions,pDVar6,&vsize);\n        pDVar3 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        pDVar6 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_end_of_storage;\n      }\n      else {\n        pDVar3 = pDVar5 + 1;\n        (pDVar5->u_).val = (uint)pOVar1;\n        pDVar5->od2 = (Output_data *)0x0;\n        pDVar5->tag_ = DT_VERNEED;\n        pDVar5->offset_ = 0;\n        (pOVar10->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = pDVar3;\n      }" if (parenthesized_expression "(pDVar5 == pDVar6)" ( (binary_expression "pDVar5 == pDVar6" identifier == identifier) )) (compound_statement "{\n        vsize = (uint)pOVar1;\n        (**(code **)(in_t9 + 0x2f9274))(versions,pDVar6,&vsize);\n        pDVar3 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        pDVar6 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_end_of_storage;\n      }" { (expression_statement "vsize = (uint)pOVar1;" (assignment_expression "vsize = (uint)pOVar1" identifier = (cast_expression "(uint)pOVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "(**(code **)(in_t9 + 0x2f9274))(versions,pDVar6,&vsize);" (call_expression "(**(code **)(in_t9 + 0x2f9274))(versions,pDVar6,&vsize)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9274))" ( (pointer_expression "**(code **)(in_t9 + 0x2f9274)" * (pointer_expression "*(code **)(in_t9 + 0x2f9274)" * (cast_expression "(code **)(in_t9 + 0x2f9274)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9274)" ( (binary_expression "in_t9 + 0x2f9274" identifier + number_literal) ))))) )) (argument_list "(versions,pDVar6,&vsize)" ( identifier , identifier , (pointer_expression "&vsize" & identifier) ))) ;) (ERROR "pDVar3 = (pOVar10->entries_).\n                 super__Vector_base<gold::" (assignment_expression "pDVar3 = (pOVar10->entries_).\n                 super__Vector_base<gold" identifier = (binary_expression "(pOVar10->entries_).\n                 super__Vector_base<gold" (field_expression "(pOVar10->entries_).\n                 super__Vector_base" (parenthesized_expression "(pOVar10->entries_)" ( (field_expression "pOVar10->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n                 ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n                 ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n                 ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;))) (ERROR "pDVar6 = (pOVar10->entries_).\n                 super__Vector_base<gold::" (assignment_expression "pDVar6 = (pOVar10->entries_).\n                 super__Vector_base<gold" identifier = (binary_expression "(pOVar10->entries_).\n                 super__Vector_base<gold" (field_expression "(pOVar10->entries_).\n                 super__Vector_base" (parenthesized_expression "(pOVar10->entries_)" ( (field_expression "pOVar10->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_end_of_storage;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_end_of_storage;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n                 ._M_impl._M_end_of_storage;" (field_expression "Dynamic_entry>_>\n                 ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n                 ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;))) }) (else_clause "else {\n        pDVar3 = pDVar5 + 1;\n        (pDVar5->u_).val = (uint)pOVar1;\n        pDVar5->od2 = (Output_data *)0x0;\n        pDVar5->tag_ = DT_VERNEED;\n        pDVar5->offset_ = 0;\n        (pOVar10->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = pDVar3;\n      }" else (compound_statement "{\n        pDVar3 = pDVar5 + 1;\n        (pDVar5->u_).val = (uint)pOVar1;\n        pDVar5->od2 = (Output_data *)0x0;\n        pDVar5->tag_ = DT_VERNEED;\n        pDVar5->offset_ = 0;\n        (pOVar10->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = pDVar3;\n      }" { (expression_statement "pDVar3 = pDVar5 + 1;" (assignment_expression "pDVar3 = pDVar5 + 1" identifier = (binary_expression "pDVar5 + 1" identifier + number_literal)) ;) (expression_statement "(pDVar5->u_).val = (uint)pOVar1;" (assignment_expression "(pDVar5->u_).val = (uint)pOVar1" (field_expression "(pDVar5->u_).val" (parenthesized_expression "(pDVar5->u_)" ( (field_expression "pDVar5->u_" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(uint)pOVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pDVar5->od2 = (Output_data *)0x0;" (assignment_expression "pDVar5->od2 = (Output_data *)0x0" (field_expression "pDVar5->od2" identifier -> field_identifier) = (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pDVar5->tag_ = DT_VERNEED;" (assignment_expression "pDVar5->tag_ = DT_VERNEED" (field_expression "pDVar5->tag_" identifier -> field_identifier) = identifier) ;) (expression_statement "pDVar5->offset_ = 0;" (assignment_expression "pDVar5->offset_ = 0" (field_expression "pDVar5->offset_" identifier -> field_identifier) = number_literal) ;) (ERROR "(pOVar10->entries_).\n        super__Vector_base<gold::" (binary_expression "(pOVar10->entries_).\n        super__Vector_base<gold" (field_expression "(pOVar10->entries_).\n        super__Vector_base" (parenthesized_expression "(pOVar10->entries_)" ( (field_expression "pOVar10->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = pDVar3;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = pDVar3;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n        ._M_impl._M_finish = pDVar3;" (assignment_expression "Dynamic_entry>_>\n        ._M_impl._M_finish = pDVar3" (field_expression "Dynamic_entry>_>\n        ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n        ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;))) }))) (expression_statement "local_58 = 0x6fffffff;" (assignment_expression "local_58 = 0x6fffffff" identifier = number_literal) ;) (expression_statement "local_54 = 0xffffffff;" (assignment_expression "local_54 = 0xffffffff" identifier = number_literal) ;) (expression_statement "vsize = vnentries;" (assignment_expression "vsize = vnentries" identifier = identifier) ;) (if_statement "if (pDVar3 != pDVar6) {\n        (pDVar3->u_).val = vnentries;\n        pDVar3->tag_ = DT_VERNEEDNUM;\n        pDVar3->od2 = local_5c;\n        pDVar3->offset_ = 0xffffffff;\n        (pOVar10->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = pDVar3 + 1;\n        return;\n      }" if (parenthesized_expression "(pDVar3 != pDVar6)" ( (binary_expression "pDVar3 != pDVar6" identifier != identifier) )) (compound_statement "{\n        (pDVar3->u_).val = vnentries;\n        pDVar3->tag_ = DT_VERNEEDNUM;\n        pDVar3->od2 = local_5c;\n        pDVar3->offset_ = 0xffffffff;\n        (pOVar10->entries_).\n        super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = pDVar3 + 1;\n        return;\n      }" { (expression_statement "(pDVar3->u_).val = vnentries;" (assignment_expression "(pDVar3->u_).val = vnentries" (field_expression "(pDVar3->u_).val" (parenthesized_expression "(pDVar3->u_)" ( (field_expression "pDVar3->u_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "pDVar3->tag_ = DT_VERNEEDNUM;" (assignment_expression "pDVar3->tag_ = DT_VERNEEDNUM" (field_expression "pDVar3->tag_" identifier -> field_identifier) = identifier) ;) (expression_statement "pDVar3->od2 = local_5c;" (assignment_expression "pDVar3->od2 = local_5c" (field_expression "pDVar3->od2" identifier -> field_identifier) = identifier) ;) (expression_statement "pDVar3->offset_ = 0xffffffff;" (assignment_expression "pDVar3->offset_ = 0xffffffff" (field_expression "pDVar3->offset_" identifier -> field_identifier) = number_literal) ;) (ERROR "(pOVar10->entries_).\n        super__Vector_base<gold::" (binary_expression "(pOVar10->entries_).\n        super__Vector_base<gold" (field_expression "(pOVar10->entries_).\n        super__Vector_base" (parenthesized_expression "(pOVar10->entries_)" ( (field_expression "pOVar10->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = pDVar3 + 1;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n        ._M_impl._M_finish = pDVar3 + 1;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n        ._M_impl._M_finish = pDVar3 + 1;" (assignment_expression "Dynamic_entry>_>\n        ._M_impl._M_finish = pDVar3 + 1" (field_expression "Dynamic_entry>_>\n        ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n        ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "pDVar3 + 1" identifier + number_literal)) ;))) (return_statement "return;" return ;) })) (goto_statement "goto LAB_001c9304;" goto statement_identifier ;) })) (labeled_statement "LAB_001c92e8:\n    iVar8 = *(int *)(in_t9 + 0x2f8d74);" statement_identifier : (expression_statement "iVar8 = *(int *)(in_t9 + 0x2f8d74);" (assignment_expression "iVar8 = *(int *)(in_t9 + 0x2f8d74)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n    uVar15 = 3;\n    uVar16 = 0;\n    puVar14 = (uint *)0x0;\n    ppuVar13 = (uchar **)0x2;\n    pOVar1 = choose_output_section\n                       (this,(Relobj *)0x0,(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x4110),0x6ffffffd,\n                        2,false,ORDER_DYNAMIC_LINKER,false,false,false);\n    if (pOVar1 == (Output_section *)0x0) goto LAB_001c90ac;\n    dynamic_symbols = (vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *)&vdentries;\n    (**(code **)(in_t9 + 0x2f9818))(versions,&this->dynpool_,&vdbuf,&vdsize,dynamic_symbols);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar8 = *(int *)(in_t9 + 0x2f965c);\n    pcVar11 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = vdsize;\n    uVar9 = 0xffffffff;\n    *piVar2 = iVar8 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = (int)vdbuf;\n    iVar8 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar8 + 0x4120;\n    (*pcVar11)(pOVar1,piVar2);\n    if (((pOVar1->link_ != 0) || (*(int *)&pOVar1->field_0x98 << 2 < 0)) ||\n       (*(int *)&pOVar1->field_0x98 << 3 < 0)) goto LAB_001c9380;\n    pOVar1->link_section_ = &dynstr->super_Output_data;\n    if (pOVar1->info_section_ != (Output_section *)0x0) goto LAB_001c92e8;\n    iVar8 = *(int *)(in_t9 + 0x2f8d74);\n    if ((pOVar1->info_symndx_ == (Symbol *)0x0) &&\n       ((pOVar1->info_ == 0 || (vdentries == pOVar1->info_)))) {\n      pOVar1->info_ = vdentries;\n      if (pOVar10 != (Output_data_dynamic *)0x0) {\n        pDVar5 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        pDVar6 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_end_of_storage;\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = (Output_data *)0x0;\n        if (pDVar5 == pDVar6) {\n          vsize = (uint)pOVar1;\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);\n          pDVar3 = (pOVar10->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish;\n          pDVar6 = (pOVar10->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_end_of_storage;\n        }\n        else {\n          pDVar3 = pDVar5 + 1;\n          (pDVar5->u_).val = (uint)pOVar1;\n          pDVar5->od2 = (Output_data *)0x0;\n          pDVar5->tag_ = DT_VERDEF;\n          pDVar5->offset_ = 0;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        vsize = vdentries;\n        if (pDVar6 == pDVar3) {\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);\n        }\n        else {\n          (pDVar3->u_).val = vdentries;\n          pDVar3->tag_ = DT_VERDEFNUM;\n          pDVar3->od2 = local_5c;\n          pDVar3->offset_ = 0xffffffff;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3 + 1;\n        }\n      }\n      goto LAB_001c90ac;\n    }\n  }" else (compound_statement "{\n    uVar15 = 3;\n    uVar16 = 0;\n    puVar14 = (uint *)0x0;\n    ppuVar13 = (uchar **)0x2;\n    pOVar1 = choose_output_section\n                       (this,(Relobj *)0x0,(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x4110),0x6ffffffd,\n                        2,false,ORDER_DYNAMIC_LINKER,false,false,false);\n    if (pOVar1 == (Output_section *)0x0) goto LAB_001c90ac;\n    dynamic_symbols = (vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *)&vdentries;\n    (**(code **)(in_t9 + 0x2f9818))(versions,&this->dynpool_,&vdbuf,&vdsize,dynamic_symbols);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar8 = *(int *)(in_t9 + 0x2f965c);\n    pcVar11 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = vdsize;\n    uVar9 = 0xffffffff;\n    *piVar2 = iVar8 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = (int)vdbuf;\n    iVar8 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar8 + 0x4120;\n    (*pcVar11)(pOVar1,piVar2);\n    if (((pOVar1->link_ != 0) || (*(int *)&pOVar1->field_0x98 << 2 < 0)) ||\n       (*(int *)&pOVar1->field_0x98 << 3 < 0)) goto LAB_001c9380;\n    pOVar1->link_section_ = &dynstr->super_Output_data;\n    if (pOVar1->info_section_ != (Output_section *)0x0) goto LAB_001c92e8;\n    iVar8 = *(int *)(in_t9 + 0x2f8d74);\n    if ((pOVar1->info_symndx_ == (Symbol *)0x0) &&\n       ((pOVar1->info_ == 0 || (vdentries == pOVar1->info_)))) {\n      pOVar1->info_ = vdentries;\n      if (pOVar10 != (Output_data_dynamic *)0x0) {\n        pDVar5 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        pDVar6 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_end_of_storage;\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = (Output_data *)0x0;\n        if (pDVar5 == pDVar6) {\n          vsize = (uint)pOVar1;\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);\n          pDVar3 = (pOVar10->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish;\n          pDVar6 = (pOVar10->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_end_of_storage;\n        }\n        else {\n          pDVar3 = pDVar5 + 1;\n          (pDVar5->u_).val = (uint)pOVar1;\n          pDVar5->od2 = (Output_data *)0x0;\n          pDVar5->tag_ = DT_VERDEF;\n          pDVar5->offset_ = 0;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        vsize = vdentries;\n        if (pDVar6 == pDVar3) {\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);\n        }\n        else {\n          (pDVar3->u_).val = vdentries;\n          pDVar3->tag_ = DT_VERDEFNUM;\n          pDVar3->od2 = local_5c;\n          pDVar3->offset_ = 0xffffffff;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3 + 1;\n        }\n      }\n      goto LAB_001c90ac;\n    }\n  }" { (expression_statement "uVar15 = 3;" (assignment_expression "uVar15 = 3" identifier = number_literal) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "puVar14 = (uint *)0x0;" (assignment_expression "puVar14 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuVar13 = (uchar **)0x2;" (assignment_expression "ppuVar13 = (uchar **)0x2" identifier = (cast_expression "(uchar **)0x2" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pOVar1 = choose_output_section\n                       (this,(Relobj *)0x0,(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x4110),0x6ffffffd,\n                        2,false,ORDER_DYNAMIC_LINKER,false,false,false);" (assignment_expression "pOVar1 = choose_output_section\n                       (this,(Relobj *)0x0,(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x4110),0x6ffffffd,\n                        2,false,ORDER_DYNAMIC_LINKER,false,false,false)" identifier = (call_expression "choose_output_section\n                       (this,(Relobj *)0x0,(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x4110),0x6ffffffd,\n                        2,false,ORDER_DYNAMIC_LINKER,false,false,false)" identifier (argument_list "(this,(Relobj *)0x0,(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x4110),0x6ffffffd,\n                        2,false,ORDER_DYNAMIC_LINKER,false,false,false)" ( identifier , (cast_expression "(Relobj *)0x0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(char *)(*(int *)(in_t9 + 0x2f8d74) + 0x4110)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x2f8d74) + 0x4110)" ( (binary_expression "*(int *)(in_t9 + 0x2f8d74) + 0x4110" (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) )))) + number_literal) ))) , number_literal , number_literal , false , identifier , false , false , false )))) ;) (if_statement "if (pOVar1 == (Output_section *)0x0) goto LAB_001c90ac;" if (parenthesized_expression "(pOVar1 == (Output_section *)0x0)" ( (binary_expression "pOVar1 == (Output_section *)0x0" identifier == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001c90ac;" goto statement_identifier ;)) (expression_statement "dynamic_symbols = (vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *)&vdentries;" (assignment_expression "dynamic_symbols = (vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *)&vdentries" identifier = (binary_expression "(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *)&vdentries" (parenthesized_expression "(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *)" ( (ERROR "vector<gold::Symbol*,_std::allocator<gold::" (comma_expression "vector<gold::Symbol*,_std" (binary_expression "vector<gold::Symbol*" (binary_expression "vector<gold" identifier < identifier) (ERROR "::Symbol" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Symbol*>_> *" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (pointer_expression "*" * identifier)) )) & identifier)) ;) (expression_statement "(**(code **)(in_t9 + 0x2f9818))(versions,&this->dynpool_,&vdbuf,&vdsize,dynamic_symbols);" (call_expression "(**(code **)(in_t9 + 0x2f9818))(versions,&this->dynpool_,&vdbuf,&vdsize,dynamic_symbols)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9818))" ( (pointer_expression "**(code **)(in_t9 + 0x2f9818)" * (pointer_expression "*(code **)(in_t9 + 0x2f9818)" * (cast_expression "(code **)(in_t9 + 0x2f9818)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9818)" ( (binary_expression "in_t9 + 0x2f9818" identifier + number_literal) ))))) )) (argument_list "(versions,&this->dynpool_,&vdbuf,&vdsize,dynamic_symbols)" ( identifier , (pointer_expression "&this->dynpool_" & (field_expression "this->dynpool_" identifier -> field_identifier)) , (pointer_expression "&vdbuf" & identifier) , (pointer_expression "&vdsize" & identifier) , identifier ))) ;) (expression_statement "piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);" (assignment_expression "piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38)" identifier = (cast_expression "(int *)(**(code **)(in_t9 + 0x2f86cc))(0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x2f86cc))(0x38)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f86cc))" ( (pointer_expression "**(code **)(in_t9 + 0x2f86cc)" * (pointer_expression "*(code **)(in_t9 + 0x2f86cc)" * (cast_expression "(code **)(in_t9 + 0x2f86cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f86cc)" ( (binary_expression "in_t9 + 0x2f86cc" identifier + number_literal) ))))) )) (argument_list "(0x38)" ( number_literal ))))) ;) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;" (assignment_expression "*(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50" (pointer_expression "*(byte *)(piVar2 + 8)" * (cast_expression "(byte *)(piVar2 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 8)" ( (binary_expression "piVar2 + 8" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar2 + 8) & 7 | 0x50" (binary_expression "*(byte *)(piVar2 + 8) & 7" (pointer_expression "*(byte *)(piVar2 + 8)" * (cast_expression "(byte *)(piVar2 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 8)" ( (binary_expression "piVar2 + 8" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "iVar8 = *(int *)(in_t9 + 0x2f965c);" (assignment_expression "iVar8 = *(int *)(in_t9 + 0x2f965c)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f965c)" * (cast_expression "(int *)(in_t9 + 0x2f965c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f965c)" ( (binary_expression "in_t9 + 0x2f965c" identifier + number_literal) ))))) ;) (expression_statement "pcVar11 = *(code **)(in_t9 + 0x2f9428);" (assignment_expression "pcVar11 = *(code **)(in_t9 + 0x2f9428)" identifier = (pointer_expression "*(code **)(in_t9 + 0x2f9428)" * (cast_expression "(code **)(in_t9 + 0x2f9428)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9428)" ( (binary_expression "in_t9 + 0x2f9428" identifier + number_literal) ))))) ;) (expression_statement "piVar2[0xb] = 4;" (assignment_expression "piVar2[0xb] = 4" (subscript_expression "piVar2[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[5] = vdsize;" (assignment_expression "piVar2[5] = vdsize" (subscript_expression "piVar2[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar9 = 0xffffffff;" (assignment_expression "uVar9 = 0xffffffff" identifier = number_literal) ;) (expression_statement "*piVar2 = iVar8 + 8;" (assignment_expression "*piVar2 = iVar8 + 8" (pointer_expression "*piVar2" * identifier) = (binary_expression "iVar8 + 8" identifier + number_literal)) ;) (expression_statement "piVar2[9] = 0;" (assignment_expression "piVar2[9] = 0" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xc] = (int)vdbuf;" (assignment_expression "piVar2[0xc] = (int)vdbuf" (subscript_expression "piVar2[0xc]" identifier [ number_literal ]) = (cast_expression "(int)vdbuf" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar8 = *(int *)(in_t9 + 0x2f8d74);" (assignment_expression "iVar8 = *(int *)(in_t9 + 0x2f8d74)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) ))))) ;) (expression_statement "piVar2[7] = -1;" (assignment_expression "piVar2[7] = -1" (subscript_expression "piVar2[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[6] = -1;" (assignment_expression "piVar2[6] = -1" (subscript_expression "piVar2[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xd] = iVar8 + 0x4120;" (assignment_expression "piVar2[0xd] = iVar8 + 0x4120" (subscript_expression "piVar2[0xd]" identifier [ number_literal ]) = (binary_expression "iVar8 + 0x4120" identifier + number_literal)) ;) (expression_statement "(*pcVar11)(pOVar1,piVar2);" (call_expression "(*pcVar11)(pOVar1,piVar2)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(pOVar1,piVar2)" ( identifier , identifier ))) ;) (if_statement "if (((pOVar1->link_ != 0) || (*(int *)&pOVar1->field_0x98 << 2 < 0)) ||\n       (*(int *)&pOVar1->field_0x98 << 3 < 0)) goto LAB_001c9380;" if (parenthesized_expression "(((pOVar1->link_ != 0) || (*(int *)&pOVar1->field_0x98 << 2 < 0)) ||\n       (*(int *)&pOVar1->field_0x98 << 3 < 0))" ( (binary_expression "((pOVar1->link_ != 0) || (*(int *)&pOVar1->field_0x98 << 2 < 0)) ||\n       (*(int *)&pOVar1->field_0x98 << 3 < 0)" (parenthesized_expression "((pOVar1->link_ != 0) || (*(int *)&pOVar1->field_0x98 << 2 < 0))" ( (binary_expression "(pOVar1->link_ != 0) || (*(int *)&pOVar1->field_0x98 << 2 < 0)" (parenthesized_expression "(pOVar1->link_ != 0)" ( (binary_expression "pOVar1->link_ != 0" (field_expression "pOVar1->link_" identifier -> field_identifier) != number_literal) )) || (parenthesized_expression "(*(int *)&pOVar1->field_0x98 << 2 < 0)" ( (binary_expression "*(int *)&pOVar1->field_0x98 << 2 < 0" (binary_expression "*(int *)&pOVar1->field_0x98 << 2" (pointer_expression "*(int *)&pOVar1->field_0x98" * (cast_expression "(int *)&pOVar1->field_0x98" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar1->field_0x98" & (field_expression "pOVar1->field_0x98" identifier -> field_identifier)))) << number_literal) < number_literal) ))) )) || (parenthesized_expression "(*(int *)&pOVar1->field_0x98 << 3 < 0)" ( (binary_expression "*(int *)&pOVar1->field_0x98 << 3 < 0" (binary_expression "*(int *)&pOVar1->field_0x98 << 3" (pointer_expression "*(int *)&pOVar1->field_0x98" * (cast_expression "(int *)&pOVar1->field_0x98" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar1->field_0x98" & (field_expression "pOVar1->field_0x98" identifier -> field_identifier)))) << number_literal) < number_literal) ))) )) (goto_statement "goto LAB_001c9380;" goto statement_identifier ;)) (expression_statement "pOVar1->link_section_ = &dynstr->super_Output_data;" (assignment_expression "pOVar1->link_section_ = &dynstr->super_Output_data" (field_expression "pOVar1->link_section_" identifier -> field_identifier) = (pointer_expression "&dynstr->super_Output_data" & (field_expression "dynstr->super_Output_data" identifier -> field_identifier))) ;) (if_statement "if (pOVar1->info_section_ != (Output_section *)0x0) goto LAB_001c92e8;" if (parenthesized_expression "(pOVar1->info_section_ != (Output_section *)0x0)" ( (binary_expression "pOVar1->info_section_ != (Output_section *)0x0" (field_expression "pOVar1->info_section_" identifier -> field_identifier) != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001c92e8;" goto statement_identifier ;)) (expression_statement "iVar8 = *(int *)(in_t9 + 0x2f8d74);" (assignment_expression "iVar8 = *(int *)(in_t9 + 0x2f8d74)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) ))))) ;) (if_statement "if ((pOVar1->info_symndx_ == (Symbol *)0x0) &&\n       ((pOVar1->info_ == 0 || (vdentries == pOVar1->info_)))) {\n      pOVar1->info_ = vdentries;\n      if (pOVar10 != (Output_data_dynamic *)0x0) {\n        pDVar5 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        pDVar6 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_end_of_storage;\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = (Output_data *)0x0;\n        if (pDVar5 == pDVar6) {\n          vsize = (uint)pOVar1;\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);\n          pDVar3 = (pOVar10->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish;\n          pDVar6 = (pOVar10->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_end_of_storage;\n        }\n        else {\n          pDVar3 = pDVar5 + 1;\n          (pDVar5->u_).val = (uint)pOVar1;\n          pDVar5->od2 = (Output_data *)0x0;\n          pDVar5->tag_ = DT_VERDEF;\n          pDVar5->offset_ = 0;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        vsize = vdentries;\n        if (pDVar6 == pDVar3) {\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);\n        }\n        else {\n          (pDVar3->u_).val = vdentries;\n          pDVar3->tag_ = DT_VERDEFNUM;\n          pDVar3->od2 = local_5c;\n          pDVar3->offset_ = 0xffffffff;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3 + 1;\n        }\n      }\n      goto LAB_001c90ac;\n    }" if (parenthesized_expression "((pOVar1->info_symndx_ == (Symbol *)0x0) &&\n       ((pOVar1->info_ == 0 || (vdentries == pOVar1->info_))))" ( (binary_expression "(pOVar1->info_symndx_ == (Symbol *)0x0) &&\n       ((pOVar1->info_ == 0 || (vdentries == pOVar1->info_)))" (parenthesized_expression "(pOVar1->info_symndx_ == (Symbol *)0x0)" ( (binary_expression "pOVar1->info_symndx_ == (Symbol *)0x0" (field_expression "pOVar1->info_symndx_" identifier -> field_identifier) == (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((pOVar1->info_ == 0 || (vdentries == pOVar1->info_)))" ( (parenthesized_expression "(pOVar1->info_ == 0 || (vdentries == pOVar1->info_))" ( (binary_expression "pOVar1->info_ == 0 || (vdentries == pOVar1->info_)" (binary_expression "pOVar1->info_ == 0" (field_expression "pOVar1->info_" identifier -> field_identifier) == number_literal) || (parenthesized_expression "(vdentries == pOVar1->info_)" ( (binary_expression "vdentries == pOVar1->info_" identifier == (field_expression "pOVar1->info_" identifier -> field_identifier)) ))) )) ))) )) (compound_statement "{\n      pOVar1->info_ = vdentries;\n      if (pOVar10 != (Output_data_dynamic *)0x0) {\n        pDVar5 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        pDVar6 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_end_of_storage;\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = (Output_data *)0x0;\n        if (pDVar5 == pDVar6) {\n          vsize = (uint)pOVar1;\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);\n          pDVar3 = (pOVar10->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish;\n          pDVar6 = (pOVar10->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_end_of_storage;\n        }\n        else {\n          pDVar3 = pDVar5 + 1;\n          (pDVar5->u_).val = (uint)pOVar1;\n          pDVar5->od2 = (Output_data *)0x0;\n          pDVar5->tag_ = DT_VERDEF;\n          pDVar5->offset_ = 0;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        vsize = vdentries;\n        if (pDVar6 == pDVar3) {\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);\n        }\n        else {\n          (pDVar3->u_).val = vdentries;\n          pDVar3->tag_ = DT_VERDEFNUM;\n          pDVar3->od2 = local_5c;\n          pDVar3->offset_ = 0xffffffff;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3 + 1;\n        }\n      }\n      goto LAB_001c90ac;\n    }" { (expression_statement "pOVar1->info_ = vdentries;" (assignment_expression "pOVar1->info_ = vdentries" (field_expression "pOVar1->info_" identifier -> field_identifier) = identifier) ;) (if_statement "if (pOVar10 != (Output_data_dynamic *)0x0) {\n        pDVar5 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        pDVar6 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_end_of_storage;\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = (Output_data *)0x0;\n        if (pDVar5 == pDVar6) {\n          vsize = (uint)pOVar1;\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);\n          pDVar3 = (pOVar10->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish;\n          pDVar6 = (pOVar10->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_end_of_storage;\n        }\n        else {\n          pDVar3 = pDVar5 + 1;\n          (pDVar5->u_).val = (uint)pOVar1;\n          pDVar5->od2 = (Output_data *)0x0;\n          pDVar5->tag_ = DT_VERDEF;\n          pDVar5->offset_ = 0;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        vsize = vdentries;\n        if (pDVar6 == pDVar3) {\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);\n        }\n        else {\n          (pDVar3->u_).val = vdentries;\n          pDVar3->tag_ = DT_VERDEFNUM;\n          pDVar3->od2 = local_5c;\n          pDVar3->offset_ = 0xffffffff;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3 + 1;\n        }\n      }" if (parenthesized_expression "(pOVar10 != (Output_data_dynamic *)0x0)" ( (binary_expression "pOVar10 != (Output_data_dynamic *)0x0" identifier != (cast_expression "(Output_data_dynamic *)0x0" ( (type_descriptor "Output_data_dynamic *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pDVar5 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;\n        pDVar6 = (pOVar10->entries_).\n                 super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_end_of_storage;\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = (Output_data *)0x0;\n        if (pDVar5 == pDVar6) {\n          vsize = (uint)pOVar1;\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);\n          pDVar3 = (pOVar10->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish;\n          pDVar6 = (pOVar10->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_end_of_storage;\n        }\n        else {\n          pDVar3 = pDVar5 + 1;\n          (pDVar5->u_).val = (uint)pOVar1;\n          pDVar5->od2 = (Output_data *)0x0;\n          pDVar5->tag_ = DT_VERDEF;\n          pDVar5->offset_ = 0;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        vsize = vdentries;\n        if (pDVar6 == pDVar3) {\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);\n        }\n        else {\n          (pDVar3->u_).val = vdentries;\n          pDVar3->tag_ = DT_VERDEFNUM;\n          pDVar3->od2 = local_5c;\n          pDVar3->offset_ = 0xffffffff;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3 + 1;\n        }\n      }" { (ERROR "pDVar5 = (pOVar10->entries_).\n                 super__Vector_base<gold::" (assignment_expression "pDVar5 = (pOVar10->entries_).\n                 super__Vector_base<gold" identifier = (binary_expression "(pOVar10->entries_).\n                 super__Vector_base<gold" (field_expression "(pOVar10->entries_).\n                 super__Vector_base" (parenthesized_expression "(pOVar10->entries_)" ( (field_expression "pOVar10->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n                 ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n                 ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n                 ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;))) (ERROR "pDVar6 = (pOVar10->entries_).\n                 super__Vector_base<gold::" (assignment_expression "pDVar6 = (pOVar10->entries_).\n                 super__Vector_base<gold" identifier = (binary_expression "(pOVar10->entries_).\n                 super__Vector_base<gold" (field_expression "(pOVar10->entries_).\n                 super__Vector_base" (parenthesized_expression "(pOVar10->entries_)" ( (field_expression "pOVar10->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_end_of_storage;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n                 ._M_impl._M_end_of_storage;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n                 ._M_impl._M_end_of_storage;" (field_expression "Dynamic_entry>_>\n                 ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n                 ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;))) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0x6ffffffc;" (assignment_expression "local_58 = 0x6ffffffc" identifier = number_literal) ;) (expression_statement "local_5c = (Output_data *)0x0;" (assignment_expression "local_5c = (Output_data *)0x0" identifier = (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pDVar5 == pDVar6) {\n          vsize = (uint)pOVar1;\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);\n          pDVar3 = (pOVar10->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish;\n          pDVar6 = (pOVar10->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_end_of_storage;\n        }\n        else {\n          pDVar3 = pDVar5 + 1;\n          (pDVar5->u_).val = (uint)pOVar1;\n          pDVar5->od2 = (Output_data *)0x0;\n          pDVar5->tag_ = DT_VERDEF;\n          pDVar5->offset_ = 0;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3;\n        }" if (parenthesized_expression "(pDVar5 == pDVar6)" ( (binary_expression "pDVar5 == pDVar6" identifier == identifier) )) (compound_statement "{\n          vsize = (uint)pOVar1;\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);\n          pDVar3 = (pOVar10->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish;\n          pDVar6 = (pOVar10->entries_).\n                   super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_end_of_storage;\n        }" { (expression_statement "vsize = (uint)pOVar1;" (assignment_expression "vsize = (uint)pOVar1" identifier = (cast_expression "(uint)pOVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "(**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);" (call_expression "(**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9274))" ( (pointer_expression "**(code **)(in_t9 + 0x2f9274)" * (pointer_expression "*(code **)(in_t9 + 0x2f9274)" * (cast_expression "(code **)(in_t9 + 0x2f9274)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9274)" ( (binary_expression "in_t9 + 0x2f9274" identifier + number_literal) ))))) )) (argument_list "(&pOVar10->entries_,pDVar6,&vsize)" ( (pointer_expression "&pOVar10->entries_" & (field_expression "pOVar10->entries_" identifier -> field_identifier)) , identifier , (pointer_expression "&vsize" & identifier) ))) ;) (ERROR "pDVar3 = (pOVar10->entries_).\n                   super__Vector_base<gold::" (assignment_expression "pDVar3 = (pOVar10->entries_).\n                   super__Vector_base<gold" identifier = (binary_expression "(pOVar10->entries_).\n                   super__Vector_base<gold" (field_expression "(pOVar10->entries_).\n                   super__Vector_base" (parenthesized_expression "(pOVar10->entries_)" ( (field_expression "pOVar10->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n                   ._M_impl._M_finish;" (field_expression "Dynamic_entry>_>\n                   ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n                   ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;))) (ERROR "pDVar6 = (pOVar10->entries_).\n                   super__Vector_base<gold::" (assignment_expression "pDVar6 = (pOVar10->entries_).\n                   super__Vector_base<gold" identifier = (binary_expression "(pOVar10->entries_).\n                   super__Vector_base<gold" (field_expression "(pOVar10->entries_).\n                   super__Vector_base" (parenthesized_expression "(pOVar10->entries_)" ( (field_expression "pOVar10->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_end_of_storage;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n                   ._M_impl._M_end_of_storage;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n                   ._M_impl._M_end_of_storage;" (field_expression "Dynamic_entry>_>\n                   ._M_impl._M_end_of_storage" (field_expression "Dynamic_entry>_>\n                   ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;))) }) (else_clause "else {\n          pDVar3 = pDVar5 + 1;\n          (pDVar5->u_).val = (uint)pOVar1;\n          pDVar5->od2 = (Output_data *)0x0;\n          pDVar5->tag_ = DT_VERDEF;\n          pDVar5->offset_ = 0;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3;\n        }" else (compound_statement "{\n          pDVar3 = pDVar5 + 1;\n          (pDVar5->u_).val = (uint)pOVar1;\n          pDVar5->od2 = (Output_data *)0x0;\n          pDVar5->tag_ = DT_VERDEF;\n          pDVar5->offset_ = 0;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3;\n        }" { (expression_statement "pDVar3 = pDVar5 + 1;" (assignment_expression "pDVar3 = pDVar5 + 1" identifier = (binary_expression "pDVar5 + 1" identifier + number_literal)) ;) (expression_statement "(pDVar5->u_).val = (uint)pOVar1;" (assignment_expression "(pDVar5->u_).val = (uint)pOVar1" (field_expression "(pDVar5->u_).val" (parenthesized_expression "(pDVar5->u_)" ( (field_expression "pDVar5->u_" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(uint)pOVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pDVar5->od2 = (Output_data *)0x0;" (assignment_expression "pDVar5->od2 = (Output_data *)0x0" (field_expression "pDVar5->od2" identifier -> field_identifier) = (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pDVar5->tag_ = DT_VERDEF;" (assignment_expression "pDVar5->tag_ = DT_VERDEF" (field_expression "pDVar5->tag_" identifier -> field_identifier) = identifier) ;) (expression_statement "pDVar5->offset_ = 0;" (assignment_expression "pDVar5->offset_ = 0" (field_expression "pDVar5->offset_" identifier -> field_identifier) = number_literal) ;) (ERROR "(pOVar10->entries_).\n          super__Vector_base<gold::" (binary_expression "(pOVar10->entries_).\n          super__Vector_base<gold" (field_expression "(pOVar10->entries_).\n          super__Vector_base" (parenthesized_expression "(pOVar10->entries_)" ( (field_expression "pOVar10->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3;" (assignment_expression "Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3" (field_expression "Dynamic_entry>_>\n          ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n          ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;))) }))) (expression_statement "local_58 = 0x6ffffffd;" (assignment_expression "local_58 = 0x6ffffffd" identifier = number_literal) ;) (expression_statement "local_54 = 0xffffffff;" (assignment_expression "local_54 = 0xffffffff" identifier = number_literal) ;) (expression_statement "vsize = vdentries;" (assignment_expression "vsize = vdentries" identifier = identifier) ;) (if_statement "if (pDVar6 == pDVar3) {\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);\n        }\n        else {\n          (pDVar3->u_).val = vdentries;\n          pDVar3->tag_ = DT_VERDEFNUM;\n          pDVar3->od2 = local_5c;\n          pDVar3->offset_ = 0xffffffff;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3 + 1;\n        }" if (parenthesized_expression "(pDVar6 == pDVar3)" ( (binary_expression "pDVar6 == pDVar3" identifier == identifier) )) (compound_statement "{\n          (**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);\n        }" { (expression_statement "(**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize);" (call_expression "(**(code **)(in_t9 + 0x2f9274))(&pOVar10->entries_,pDVar6,&vsize)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9274))" ( (pointer_expression "**(code **)(in_t9 + 0x2f9274)" * (pointer_expression "*(code **)(in_t9 + 0x2f9274)" * (cast_expression "(code **)(in_t9 + 0x2f9274)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9274)" ( (binary_expression "in_t9 + 0x2f9274" identifier + number_literal) ))))) )) (argument_list "(&pOVar10->entries_,pDVar6,&vsize)" ( (pointer_expression "&pOVar10->entries_" & (field_expression "pOVar10->entries_" identifier -> field_identifier)) , identifier , (pointer_expression "&vsize" & identifier) ))) ;) }) (else_clause "else {\n          (pDVar3->u_).val = vdentries;\n          pDVar3->tag_ = DT_VERDEFNUM;\n          pDVar3->od2 = local_5c;\n          pDVar3->offset_ = 0xffffffff;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3 + 1;\n        }" else (compound_statement "{\n          (pDVar3->u_).val = vdentries;\n          pDVar3->tag_ = DT_VERDEFNUM;\n          pDVar3->od2 = local_5c;\n          pDVar3->offset_ = 0xffffffff;\n          (pOVar10->entries_).\n          super__Vector_base<gold::Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3 + 1;\n        }" { (expression_statement "(pDVar3->u_).val = vdentries;" (assignment_expression "(pDVar3->u_).val = vdentries" (field_expression "(pDVar3->u_).val" (parenthesized_expression "(pDVar3->u_)" ( (field_expression "pDVar3->u_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "pDVar3->tag_ = DT_VERDEFNUM;" (assignment_expression "pDVar3->tag_ = DT_VERDEFNUM" (field_expression "pDVar3->tag_" identifier -> field_identifier) = identifier) ;) (expression_statement "pDVar3->od2 = local_5c;" (assignment_expression "pDVar3->od2 = local_5c" (field_expression "pDVar3->od2" identifier -> field_identifier) = identifier) ;) (expression_statement "pDVar3->offset_ = 0xffffffff;" (assignment_expression "pDVar3->offset_ = 0xffffffff" (field_expression "pDVar3->offset_" identifier -> field_identifier) = number_literal) ;) (ERROR "(pOVar10->entries_).\n          super__Vector_base<gold::" (binary_expression "(pOVar10->entries_).\n          super__Vector_base<gold" (field_expression "(pOVar10->entries_).\n          super__Vector_base" (parenthesized_expression "(pOVar10->entries_)" ( (field_expression "pOVar10->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Output_data_dynamic::Dynamic_entry,_std::allocator<gold::Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3 + 1;" statement_identifier (ERROR "::Dynamic_entry,_std::allocator<gold:" : : (comma_expression "Dynamic_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_data_dynamic::Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3 + 1;" statement_identifier : (ERROR ":" :) (expression_statement "Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3 + 1;" (assignment_expression "Dynamic_entry>_>\n          ._M_impl._M_finish = pDVar3 + 1" (field_expression "Dynamic_entry>_>\n          ._M_impl._M_finish" (field_expression "Dynamic_entry>_>\n          ._M_impl" (binary_expression "Dynamic_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "pDVar3 + 1" identifier + number_literal)) ;))) }))) })) (goto_statement "goto LAB_001c90ac;" goto statement_identifier ;) })) })))) (expression_statement "pDVar3 = (pointer)(**(code **)(in_t9 + 0x2f8d54))\n                              (*(int *)(in_t9 + 0x2f85a0) + 0x3574,0xd5e,iVar8 + 0x4430);" (assignment_expression "pDVar3 = (pointer)(**(code **)(in_t9 + 0x2f8d54))\n                              (*(int *)(in_t9 + 0x2f85a0) + 0x3574,0xd5e,iVar8 + 0x4430)" identifier = (call_expression "(pointer)(**(code **)(in_t9 + 0x2f8d54))\n                              (*(int *)(in_t9 + 0x2f85a0) + 0x3574,0xd5e,iVar8 + 0x4430)" (call_expression "(pointer)(**(code **)(in_t9 + 0x2f8d54))" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "(**(code **)(in_t9 + 0x2f8d54))" ( (pointer_expression "**(code **)(in_t9 + 0x2f8d54)" * (pointer_expression "*(code **)(in_t9 + 0x2f8d54)" * (cast_expression "(code **)(in_t9 + 0x2f8d54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f8d54)" ( (binary_expression "in_t9 + 0x2f8d54" identifier + number_literal) ))))) ))) (argument_list "(*(int *)(in_t9 + 0x2f85a0) + 0x3574,0xd5e,iVar8 + 0x4430)" ( (binary_expression "*(int *)(in_t9 + 0x2f85a0) + 0x3574" (pointer_expression "*(int *)(in_t9 + 0x2f85a0)" * (cast_expression "(int *)(in_t9 + 0x2f85a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f85a0)" ( (binary_expression "in_t9 + 0x2f85a0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar8 + 0x4430" identifier + number_literal) )))) ;) (labeled_statement "LAB_001c9304:\n  (**(code **)(in_t9 + 0x2f9274))(versions,pDVar3,&vsize);" statement_identifier : (expression_statement "(**(code **)(in_t9 + 0x2f9274))(versions,pDVar3,&vsize);" (call_expression "(**(code **)(in_t9 + 0x2f9274))(versions,pDVar3,&vsize)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9274))" ( (pointer_expression "**(code **)(in_t9 + 0x2f9274)" * (pointer_expression "*(code **)(in_t9 + 0x2f9274)" * (cast_expression "(code **)(in_t9 + 0x2f9274)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9274)" ( (binary_expression "in_t9 + 0x2f9274" identifier + number_literal) ))))) )) (argument_list "(versions,pDVar3,&vsize)" ( identifier , identifier , (pointer_expression "&vsize" & identifier) ))) ;)) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void __thiscall\ngold::Layout::sized_create_version_sections<64,true>\n          (Layout *this,Versions *param_1,Symbol_table *param_2,uint param_3,vector *param_4,\n          Output_section *param_5)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  int iVar7;\n  undefined4 uVar8;\n  int in_t9;\n  code *pcVar9;\n  code *pcVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  int local_60;\n  int local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  int local_50;\n  int local_4c;\n  int local_48;\n  int local_44;\n  int local_40;\n  int local_3c;\n  int local_38 [2];\n  int *local_30;\n  \n  uVar13 = 0;\n  uVar12 = 3;\n  iVar1 = choose_output_section(this,0,*(int *)(in_t9 + 0x2f8d74) + 0x40f4,0x6fffffff,0,2,0,3,0,0,0)\n  ;\n  if (iVar1 != 0) {\n    piVar5 = &local_60;\n    piVar11 = local_38;\n    local_30 = piVar5;\n    (**(code **)(in_t9 + 0x2f9814))(param_1,param_2,this + 0xa8,param_3,param_4,piVar11,piVar5);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[0xb] = 2;\n    piVar2[10] = 0;\n    piVar2[7] = -1;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar7 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[6] = -1;\n    piVar2[5] = local_60;\n    *piVar2 = iVar7 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_38[0];\n    piVar2[0xd] = *(int *)(in_t9 + 0x2f8d74) + 0x4104;\n    (*pcVar9)(iVar1,piVar2);\n    uVar8 = 2;\n    (**(code **)(in_t9 + 0x2f8d90))(iVar1);\n    if ((*(int *)(iVar1 + 0x44) == 0) && (-1 < *(int *)(iVar1 + 0x98) << 2)) {\n      iVar7 = *(int *)(in_t9 + 0x2f8d74);\n      if (*(int *)(iVar1 + 0x98) << 3 < 0) goto LAB_001c9384;\n      iVar7 = *(int *)(this + 0x198);\n      *(undefined4 *)(iVar1 + 0x40) = *(undefined4 *)(this + 0x188);\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = 0;\n        local_60 = iVar1;\n        if (piVar5 == *(int **)(iVar7 + 0x38)) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }\n        else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }\n      }\n      goto LAB_001c8ec4;\n    }\nLAB_001c9380:\n    iVar7 = *(int *)(in_t9 + 0x2f8d74);\nLAB_001c9384:\n    uVar6 = 0xd07;\n    pcVar9 = *(code **)(in_t9 + 0x2f8d54);\n    iVar7 = iVar7 + 0x4558;\n    iVar4 = *(int *)(in_t9 + 0x2f85a0) + 0x3574;\n    (*pcVar9)(iVar4,0xd07,iVar7);\n    iVar1 = *(int *)(iVar4 + 0x1ac);\n    if (iVar1 == 0) {\n      iVar1 = choose_output_section();\n      if (iVar1 == 0) {\n        return;\n      }\n      uVar3 = (**(code **)(pcVar9 + 0x2f800c))(0x138);\n      (**(code **)(pcVar9 + 0x2f9164))(uVar3,iVar1);\n      pcVar10 = *(code **)(pcVar9 + 0x2f8d68);\n      *(undefined4 *)(iVar4 + 0x1ac) = uVar3;\n      (*pcVar10)(iVar1,uVar3);\n      *(uint *)(iVar1 + 0x98) = *(uint *)(iVar1 + 0x98) & 0xf7ffffff | 0x8000000;\n      iVar1 = *(int *)(iVar4 + 0x1ac);\n    }\n                    \n                    \n    (**(code **)(pcVar9 + 0x2f9160))(iVar1,uVar6,iVar7,uVar8,param_4,piVar11,piVar5,uVar12,uVar13);\n    return;\n  }\n  iVar7 = *(int *)(this + 0x198);\nLAB_001c8ec4:\n  if (*(int *)param_1 == *(int *)(param_1 + 4)) {\nLAB_001c90ac:\n    if (*(int *)(param_1 + 0xc) == *(int *)(param_1 + 0x10)) {\n      return;\n    }\n    uVar12 = 3;\n    uVar13 = 0;\n    piVar5 = (int *)0x0;\n    piVar11 = (int *)0x2;\n    iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4130,0x6ffffffe,0,2,0,3,0,0,0);\n    if (iVar1 == 0) {\n      return;\n    }\n    param_4 = (vector *)&local_50;\n    (**(code **)(in_t9 + 0x2f981c))(param_1,this + 0xa8,&local_48,&local_4c,param_4);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar4 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = local_4c;\n    uVar8 = 0xffffffff;\n    *piVar2 = iVar4 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_48;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar4 + 0x4140;\n    (*pcVar9)(iVar1,piVar2);\n    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;\n    *(Output_section **)(iVar1 + 0x40) = param_5;\n    if (((*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0)) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_50;\n      if (iVar7 == 0) {\n        return;\n      }\n      piVar5 = *(int **)(iVar7 + 0x34);\n      piVar11 = *(int **)(iVar7 + 0x38);\n      param_1 = (Versions *)(iVar7 + 0x30);\n      local_54 = 0;\n      local_58 = 0x6ffffffe;\n      local_5c = 0;\n      if (piVar5 == piVar11) {\n        local_60 = iVar1;\n        (**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);\n        piVar2 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n      }\n      else {\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }\n      local_58 = 0x6fffffff;\n      local_54 = 0xffffffff;\n      local_60 = local_50;\n      if (piVar2 != piVar11) {\n        *piVar2 = local_50;\n        piVar2[2] = 0x6fffffff;\n        piVar2[1] = local_5c;\n        piVar2[3] = -1;\n        *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        return;\n      }\n      goto LAB_001c9304;\n    }\nLAB_001c92e8:\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n  }\n  else {\n    uVar12 = 3;\n    uVar13 = 0;\n    piVar5 = (int *)0x0;\n    piVar11 = (int *)0x2;\n    iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0);\n    if (iVar1 == 0) goto LAB_001c90ac;\n    param_4 = (vector *)&local_44;\n    (**(code **)(in_t9 + 0x2f9818))(param_1,this + 0xa8,&local_3c,&local_40,param_4);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar4 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = local_40;\n    uVar8 = 0xffffffff;\n    *piVar2 = iVar4 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_3c;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar4 + 0x4120;\n    (*pcVar9)(iVar1,piVar2);\n    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;\n    *(Output_section **)(iVar1 + 0x40) = param_5;\n    if (*(int *)(iVar1 + 0x48) != 0) goto LAB_001c92e8;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    if ((*(int *)(iVar1 + 0x4c) == 0) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_44;\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }\n      goto LAB_001c90ac;\n    }\n  }\n  piVar2 = (int *)(**(code **)(in_t9 + 0x2f8d54))\n                            (*(int *)(in_t9 + 0x2f85a0) + 0x3574,0xd5e,iVar4 + 0x4430);\nLAB_001c9304:\n  (**(code **)(in_t9 + 0x2f9274))(param_1,piVar2,&local_60);\n  return;\n}\n\n" (declaration "void __thiscall\ngold::Layout::sized_create_version_sections<64,true>\n          (Layout *this,Versions *param_1,Symbol_table *param_2,uint param_3,vector *param_4,\n          Output_section *param_5)\n\n{\n  int iVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Layout::" identifier : : identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "true>\n          (Layout *this,Versions *param_1,Symbol_table *param_2,uint param_3,vector *param_4,\n          Output_section *param_5)\n\n{\n  int" (function_declarator "true>\n          (Layout *this,Versions *param_1,Symbol_table *param_2,uint param_3,vector *param_4,\n          Output_section *param_5)" identifier (ERROR ">" >) (parameter_list "(Layout *this,Versions *param_1,Symbol_table *param_2,uint param_3,vector *param_4,\n          Output_section *param_5)" ( (parameter_declaration "Layout *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Versions *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "Symbol_table *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "vector *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "Output_section *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) ))) { primitive_type) identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "int in_t9;" primitive_type identifier ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "int local_5c;" primitive_type identifier ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "int local_38 [2];" primitive_type (array_declarator "local_38 [2]" identifier [ number_literal ]) ;) (declaration "int *local_30;" primitive_type (pointer_declarator "*local_30" * identifier) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "uVar12 = 3;" (assignment_expression "uVar12 = 3" identifier = number_literal) ;) (expression_statement "iVar1 = choose_output_section(this,0,*(int *)(in_t9 + 0x2f8d74) + 0x40f4,0x6fffffff,0,2,0,3,0,0,0)\n  ;" (assignment_expression "iVar1 = choose_output_section(this,0,*(int *)(in_t9 + 0x2f8d74) + 0x40f4,0x6fffffff,0,2,0,3,0,0,0)" identifier = (call_expression "choose_output_section(this,0,*(int *)(in_t9 + 0x2f8d74) + 0x40f4,0x6fffffff,0,2,0,3,0,0,0)" identifier (argument_list "(this,0,*(int *)(in_t9 + 0x2f8d74) + 0x40f4,0x6fffffff,0,2,0,3,0,0,0)" ( identifier , number_literal , (binary_expression "*(int *)(in_t9 + 0x2f8d74) + 0x40f4" (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar1 != 0) {\n    piVar5 = &local_60;\n    piVar11 = local_38;\n    local_30 = piVar5;\n    (**(code **)(in_t9 + 0x2f9814))(param_1,param_2,this + 0xa8,param_3,param_4,piVar11,piVar5);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[0xb] = 2;\n    piVar2[10] = 0;\n    piVar2[7] = -1;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar7 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[6] = -1;\n    piVar2[5] = local_60;\n    *piVar2 = iVar7 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_38[0];\n    piVar2[0xd] = *(int *)(in_t9 + 0x2f8d74) + 0x4104;\n    (*pcVar9)(iVar1,piVar2);\n    uVar8 = 2;\n    (**(code **)(in_t9 + 0x2f8d90))(iVar1);\n    if ((*(int *)(iVar1 + 0x44) == 0) && (-1 < *(int *)(iVar1 + 0x98) << 2)) {\n      iVar7 = *(int *)(in_t9 + 0x2f8d74);\n      if (*(int *)(iVar1 + 0x98) << 3 < 0) goto LAB_001c9384;\n      iVar7 = *(int *)(this + 0x198);\n      *(undefined4 *)(iVar1 + 0x40) = *(undefined4 *)(this + 0x188);\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = 0;\n        local_60 = iVar1;\n        if (piVar5 == *(int **)(iVar7 + 0x38)) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }\n        else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }\n      }\n      goto LAB_001c8ec4;\n    }\nLAB_001c9380:\n    iVar7 = *(int *)(in_t9 + 0x2f8d74);\nLAB_001c9384:\n    uVar6 = 0xd07;\n    pcVar9 = *(code **)(in_t9 + 0x2f8d54);\n    iVar7 = iVar7 + 0x4558;\n    iVar4 = *(int *)(in_t9 + 0x2f85a0) + 0x3574;\n    (*pcVar9)(iVar4,0xd07,iVar7);\n    iVar1 = *(int *)(iVar4 + 0x1ac);\n    if (iVar1 == 0) {\n      iVar1 = choose_output_section();\n      if (iVar1 == 0) {\n        return;\n      }\n      uVar3 = (**(code **)(pcVar9 + 0x2f800c))(0x138);\n      (**(code **)(pcVar9 + 0x2f9164))(uVar3,iVar1);\n      pcVar10 = *(code **)(pcVar9 + 0x2f8d68);\n      *(undefined4 *)(iVar4 + 0x1ac) = uVar3;\n      (*pcVar10)(iVar1,uVar3);\n      *(uint *)(iVar1 + 0x98) = *(uint *)(iVar1 + 0x98) & 0xf7ffffff | 0x8000000;\n      iVar1 = *(int *)(iVar4 + 0x1ac);\n    }\n                    \n                    \n    (**(code **)(pcVar9 + 0x2f9160))(iVar1,uVar6,iVar7,uVar8,param_4,piVar11,piVar5,uVar12,uVar13);\n    return;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    piVar5 = &local_60;\n    piVar11 = local_38;\n    local_30 = piVar5;\n    (**(code **)(in_t9 + 0x2f9814))(param_1,param_2,this + 0xa8,param_3,param_4,piVar11,piVar5);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[0xb] = 2;\n    piVar2[10] = 0;\n    piVar2[7] = -1;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar7 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[6] = -1;\n    piVar2[5] = local_60;\n    *piVar2 = iVar7 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_38[0];\n    piVar2[0xd] = *(int *)(in_t9 + 0x2f8d74) + 0x4104;\n    (*pcVar9)(iVar1,piVar2);\n    uVar8 = 2;\n    (**(code **)(in_t9 + 0x2f8d90))(iVar1);\n    if ((*(int *)(iVar1 + 0x44) == 0) && (-1 < *(int *)(iVar1 + 0x98) << 2)) {\n      iVar7 = *(int *)(in_t9 + 0x2f8d74);\n      if (*(int *)(iVar1 + 0x98) << 3 < 0) goto LAB_001c9384;\n      iVar7 = *(int *)(this + 0x198);\n      *(undefined4 *)(iVar1 + 0x40) = *(undefined4 *)(this + 0x188);\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = 0;\n        local_60 = iVar1;\n        if (piVar5 == *(int **)(iVar7 + 0x38)) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }\n        else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }\n      }\n      goto LAB_001c8ec4;\n    }\nLAB_001c9380:\n    iVar7 = *(int *)(in_t9 + 0x2f8d74);\nLAB_001c9384:\n    uVar6 = 0xd07;\n    pcVar9 = *(code **)(in_t9 + 0x2f8d54);\n    iVar7 = iVar7 + 0x4558;\n    iVar4 = *(int *)(in_t9 + 0x2f85a0) + 0x3574;\n    (*pcVar9)(iVar4,0xd07,iVar7);\n    iVar1 = *(int *)(iVar4 + 0x1ac);\n    if (iVar1 == 0) {\n      iVar1 = choose_output_section();\n      if (iVar1 == 0) {\n        return;\n      }\n      uVar3 = (**(code **)(pcVar9 + 0x2f800c))(0x138);\n      (**(code **)(pcVar9 + 0x2f9164))(uVar3,iVar1);\n      pcVar10 = *(code **)(pcVar9 + 0x2f8d68);\n      *(undefined4 *)(iVar4 + 0x1ac) = uVar3;\n      (*pcVar10)(iVar1,uVar3);\n      *(uint *)(iVar1 + 0x98) = *(uint *)(iVar1 + 0x98) & 0xf7ffffff | 0x8000000;\n      iVar1 = *(int *)(iVar4 + 0x1ac);\n    }\n                    \n                    \n    (**(code **)(pcVar9 + 0x2f9160))(iVar1,uVar6,iVar7,uVar8,param_4,piVar11,piVar5,uVar12,uVar13);\n    return;\n  }" { (expression_statement "piVar5 = &local_60;" (assignment_expression "piVar5 = &local_60" identifier = (pointer_expression "&local_60" & identifier)) ;) (expression_statement "piVar11 = local_38;" (assignment_expression "piVar11 = local_38" identifier = identifier) ;) (expression_statement "local_30 = piVar5;" (assignment_expression "local_30 = piVar5" identifier = identifier) ;) (expression_statement "(**(code **)(in_t9 + 0x2f9814))(param_1,param_2,this + 0xa8,param_3,param_4,piVar11,piVar5);" (call_expression "(**(code **)(in_t9 + 0x2f9814))(param_1,param_2,this + 0xa8,param_3,param_4,piVar11,piVar5)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9814))" ( (pointer_expression "**(code **)(in_t9 + 0x2f9814)" * (pointer_expression "*(code **)(in_t9 + 0x2f9814)" * (cast_expression "(code **)(in_t9 + 0x2f9814)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9814)" ( (binary_expression "in_t9 + 0x2f9814" identifier + number_literal) ))))) )) (argument_list "(param_1,param_2,this + 0xa8,param_3,param_4,piVar11,piVar5)" ( identifier , identifier , (binary_expression "this + 0xa8" identifier + number_literal) , identifier , identifier , identifier , identifier ))) ;) (expression_statement "piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);" (assignment_expression "piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38)" identifier = (cast_expression "(int *)(**(code **)(in_t9 + 0x2f86cc))(0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x2f86cc))(0x38)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f86cc))" ( (pointer_expression "**(code **)(in_t9 + 0x2f86cc)" * (pointer_expression "*(code **)(in_t9 + 0x2f86cc)" * (cast_expression "(code **)(in_t9 + 0x2f86cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f86cc)" ( (binary_expression "in_t9 + 0x2f86cc" identifier + number_literal) ))))) )) (argument_list "(0x38)" ( number_literal ))))) ;) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xb] = 2;" (assignment_expression "piVar2[0xb] = 2" (subscript_expression "piVar2[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[7] = -1;" (assignment_expression "piVar2[7] = -1" (subscript_expression "piVar2[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;" (assignment_expression "*(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50" (pointer_expression "*(byte *)(piVar2 + 8)" * (cast_expression "(byte *)(piVar2 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 8)" ( (binary_expression "piVar2 + 8" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar2 + 8) & 7 | 0x50" (binary_expression "*(byte *)(piVar2 + 8) & 7" (pointer_expression "*(byte *)(piVar2 + 8)" * (cast_expression "(byte *)(piVar2 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 8)" ( (binary_expression "piVar2 + 8" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "iVar7 = *(int *)(in_t9 + 0x2f965c);" (assignment_expression "iVar7 = *(int *)(in_t9 + 0x2f965c)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f965c)" * (cast_expression "(int *)(in_t9 + 0x2f965c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f965c)" ( (binary_expression "in_t9 + 0x2f965c" identifier + number_literal) ))))) ;) (expression_statement "pcVar9 = *(code **)(in_t9 + 0x2f9428);" (assignment_expression "pcVar9 = *(code **)(in_t9 + 0x2f9428)" identifier = (pointer_expression "*(code **)(in_t9 + 0x2f9428)" * (cast_expression "(code **)(in_t9 + 0x2f9428)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9428)" ( (binary_expression "in_t9 + 0x2f9428" identifier + number_literal) ))))) ;) (expression_statement "piVar2[6] = -1;" (assignment_expression "piVar2[6] = -1" (subscript_expression "piVar2[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[5] = local_60;" (assignment_expression "piVar2[5] = local_60" (subscript_expression "piVar2[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar2 = iVar7 + 8;" (assignment_expression "*piVar2 = iVar7 + 8" (pointer_expression "*piVar2" * identifier) = (binary_expression "iVar7 + 8" identifier + number_literal)) ;) (expression_statement "piVar2[9] = 0;" (assignment_expression "piVar2[9] = 0" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xc] = local_38[0];" (assignment_expression "piVar2[0xc] = local_38[0]" (subscript_expression "piVar2[0xc]" identifier [ number_literal ]) = (subscript_expression "local_38[0]" identifier [ number_literal ])) ;) (expression_statement "piVar2[0xd] = *(int *)(in_t9 + 0x2f8d74) + 0x4104;" (assignment_expression "piVar2[0xd] = *(int *)(in_t9 + 0x2f8d74) + 0x4104" (subscript_expression "piVar2[0xd]" identifier [ number_literal ]) = (binary_expression "*(int *)(in_t9 + 0x2f8d74) + 0x4104" (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar9)(iVar1,piVar2);" (call_expression "(*pcVar9)(iVar1,piVar2)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(iVar1,piVar2)" ( identifier , identifier ))) ;) (expression_statement "uVar8 = 2;" (assignment_expression "uVar8 = 2" identifier = number_literal) ;) (expression_statement "(**(code **)(in_t9 + 0x2f8d90))(iVar1);" (call_expression "(**(code **)(in_t9 + 0x2f8d90))(iVar1)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f8d90))" ( (pointer_expression "**(code **)(in_t9 + 0x2f8d90)" * (pointer_expression "*(code **)(in_t9 + 0x2f8d90)" * (cast_expression "(code **)(in_t9 + 0x2f8d90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f8d90)" ( (binary_expression "in_t9 + 0x2f8d90" identifier + number_literal) ))))) )) (argument_list "(iVar1)" ( identifier ))) ;) (if_statement "if ((*(int *)(iVar1 + 0x44) == 0) && (-1 < *(int *)(iVar1 + 0x98) << 2)) {\n      iVar7 = *(int *)(in_t9 + 0x2f8d74);\n      if (*(int *)(iVar1 + 0x98) << 3 < 0) goto LAB_001c9384;\n      iVar7 = *(int *)(this + 0x198);\n      *(undefined4 *)(iVar1 + 0x40) = *(undefined4 *)(this + 0x188);\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = 0;\n        local_60 = iVar1;\n        if (piVar5 == *(int **)(iVar7 + 0x38)) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }\n        else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }\n      }\n      goto LAB_001c8ec4;\n    }" if (parenthesized_expression "((*(int *)(iVar1 + 0x44) == 0) && (-1 < *(int *)(iVar1 + 0x98) << 2))" ( (binary_expression "(*(int *)(iVar1 + 0x44) == 0) && (-1 < *(int *)(iVar1 + 0x98) << 2)" (parenthesized_expression "(*(int *)(iVar1 + 0x44) == 0)" ( (binary_expression "*(int *)(iVar1 + 0x44) == 0" (pointer_expression "*(int *)(iVar1 + 0x44)" * (cast_expression "(int *)(iVar1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x44)" ( (binary_expression "iVar1 + 0x44" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(-1 < *(int *)(iVar1 + 0x98) << 2)" ( (binary_expression "-1 < *(int *)(iVar1 + 0x98) << 2" number_literal < (binary_expression "*(int *)(iVar1 + 0x98) << 2" (pointer_expression "*(int *)(iVar1 + 0x98)" * (cast_expression "(int *)(iVar1 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x98)" ( (binary_expression "iVar1 + 0x98" identifier + number_literal) )))) << number_literal)) ))) )) (compound_statement "{\n      iVar7 = *(int *)(in_t9 + 0x2f8d74);\n      if (*(int *)(iVar1 + 0x98) << 3 < 0) goto LAB_001c9384;\n      iVar7 = *(int *)(this + 0x198);\n      *(undefined4 *)(iVar1 + 0x40) = *(undefined4 *)(this + 0x188);\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = 0;\n        local_60 = iVar1;\n        if (piVar5 == *(int **)(iVar7 + 0x38)) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }\n        else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }\n      }\n      goto LAB_001c8ec4;\n    }" { (expression_statement "iVar7 = *(int *)(in_t9 + 0x2f8d74);" (assignment_expression "iVar7 = *(int *)(in_t9 + 0x2f8d74)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar1 + 0x98) << 3 < 0) goto LAB_001c9384;" if (parenthesized_expression "(*(int *)(iVar1 + 0x98) << 3 < 0)" ( (binary_expression "*(int *)(iVar1 + 0x98) << 3 < 0" (binary_expression "*(int *)(iVar1 + 0x98) << 3" (pointer_expression "*(int *)(iVar1 + 0x98)" * (cast_expression "(int *)(iVar1 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x98)" ( (binary_expression "iVar1 + 0x98" identifier + number_literal) )))) << number_literal) < number_literal) )) (goto_statement "goto LAB_001c9384;" goto statement_identifier ;)) (expression_statement "iVar7 = *(int *)(this + 0x198);" (assignment_expression "iVar7 = *(int *)(this + 0x198)" identifier = (pointer_expression "*(int *)(this + 0x198)" * (cast_expression "(int *)(this + 0x198)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x198)" ( (binary_expression "this + 0x198" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x40) = *(undefined4 *)(this + 0x188);" (assignment_expression "*(undefined4 *)(iVar1 + 0x40) = *(undefined4 *)(this + 0x188)" (pointer_expression "*(undefined4 *)(iVar1 + 0x40)" * (cast_expression "(undefined4 *)(iVar1 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x40)" ( (binary_expression "iVar1 + 0x40" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(this + 0x188)" * (cast_expression "(undefined4 *)(this + 0x188)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x188)" ( (binary_expression "this + 0x188" identifier + number_literal) ))))) ;) (if_statement "if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = 0;\n        local_60 = iVar1;\n        if (piVar5 == *(int **)(iVar7 + 0x38)) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }\n        else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        piVar5 = *(int **)(iVar7 + 0x34);\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = 0;\n        local_60 = iVar1;\n        if (piVar5 == *(int **)(iVar7 + 0x38)) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }\n        else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }\n      }" { (expression_statement "piVar5 = *(int **)(iVar7 + 0x34);" (assignment_expression "piVar5 = *(int **)(iVar7 + 0x34)" identifier = (pointer_expression "*(int **)(iVar7 + 0x34)" * (cast_expression "(int **)(iVar7 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x34)" ( (binary_expression "iVar7 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "local_58 = 0x6ffffff0;" (assignment_expression "local_58 = 0x6ffffff0" identifier = number_literal) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_60 = iVar1;" (assignment_expression "local_60 = iVar1" identifier = identifier) ;) (if_statement "if (piVar5 == *(int **)(iVar7 + 0x38)) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }\n        else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }" if (parenthesized_expression "(piVar5 == *(int **)(iVar7 + 0x38))" ( (binary_expression "piVar5 == *(int **)(iVar7 + 0x38)" identifier == (pointer_expression "*(int **)(iVar7 + 0x38)" * (cast_expression "(int **)(iVar7 + 0x38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x38)" ( (binary_expression "iVar7 + 0x38" identifier + number_literal) ))))) )) (compound_statement "{\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }" { (expression_statement "(**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);" (call_expression "(**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9274))" ( (pointer_expression "**(code **)(in_t9 + 0x2f9274)" * (pointer_expression "*(code **)(in_t9 + 0x2f9274)" * (cast_expression "(code **)(in_t9 + 0x2f9274)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9274)" ( (binary_expression "in_t9 + 0x2f9274" identifier + number_literal) ))))) )) (argument_list "(iVar7 + 0x30,piVar5,local_30)" ( (binary_expression "iVar7 + 0x30" identifier + number_literal) , identifier , identifier ))) ;) }) (else_clause "else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }" else (compound_statement "{\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }" { (expression_statement "*piVar5 = iVar1;" (assignment_expression "*piVar5 = iVar1" (pointer_expression "*piVar5" * identifier) = identifier) ;) (expression_statement "piVar5[1] = 0;" (assignment_expression "piVar5[1] = 0" (subscript_expression "piVar5[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[2] = 0x6ffffff0;" (assignment_expression "piVar5[2] = 0x6ffffff0" (subscript_expression "piVar5[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[3] = 0;" (assignment_expression "piVar5[3] = 0" (subscript_expression "piVar5[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int **)(iVar7 + 0x34) = piVar5 + 4;" (assignment_expression "*(int **)(iVar7 + 0x34) = piVar5 + 4" (pointer_expression "*(int **)(iVar7 + 0x34)" * (cast_expression "(int **)(iVar7 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x34)" ( (binary_expression "iVar7 + 0x34" identifier + number_literal) )))) = (binary_expression "piVar5 + 4" identifier + number_literal)) ;) }))) })) (goto_statement "goto LAB_001c8ec4;" goto statement_identifier ;) })) (labeled_statement "LAB_001c9380:\n    iVar7 = *(int *)(in_t9 + 0x2f8d74);" statement_identifier : (expression_statement "iVar7 = *(int *)(in_t9 + 0x2f8d74);" (assignment_expression "iVar7 = *(int *)(in_t9 + 0x2f8d74)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_001c9384:\n    uVar6 = 0xd07;" statement_identifier : (expression_statement "uVar6 = 0xd07;" (assignment_expression "uVar6 = 0xd07" identifier = number_literal) ;)) (expression_statement "pcVar9 = *(code **)(in_t9 + 0x2f8d54);" (assignment_expression "pcVar9 = *(code **)(in_t9 + 0x2f8d54)" identifier = (pointer_expression "*(code **)(in_t9 + 0x2f8d54)" * (cast_expression "(code **)(in_t9 + 0x2f8d54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f8d54)" ( (binary_expression "in_t9 + 0x2f8d54" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = iVar7 + 0x4558;" (assignment_expression "iVar7 = iVar7 + 0x4558" identifier = (binary_expression "iVar7 + 0x4558" identifier + number_literal)) ;) (expression_statement "iVar4 = *(int *)(in_t9 + 0x2f85a0) + 0x3574;" (assignment_expression "iVar4 = *(int *)(in_t9 + 0x2f85a0) + 0x3574" identifier = (binary_expression "*(int *)(in_t9 + 0x2f85a0) + 0x3574" (pointer_expression "*(int *)(in_t9 + 0x2f85a0)" * (cast_expression "(int *)(in_t9 + 0x2f85a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f85a0)" ( (binary_expression "in_t9 + 0x2f85a0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar9)(iVar4,0xd07,iVar7);" (call_expression "(*pcVar9)(iVar4,0xd07,iVar7)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(iVar4,0xd07,iVar7)" ( identifier , number_literal , identifier ))) ;) (expression_statement "iVar1 = *(int *)(iVar4 + 0x1ac);" (assignment_expression "iVar1 = *(int *)(iVar4 + 0x1ac)" identifier = (pointer_expression "*(int *)(iVar4 + 0x1ac)" * (cast_expression "(int *)(iVar4 + 0x1ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1ac)" ( (binary_expression "iVar4 + 0x1ac" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 == 0) {\n      iVar1 = choose_output_section();\n      if (iVar1 == 0) {\n        return;\n      }\n      uVar3 = (**(code **)(pcVar9 + 0x2f800c))(0x138);\n      (**(code **)(pcVar9 + 0x2f9164))(uVar3,iVar1);\n      pcVar10 = *(code **)(pcVar9 + 0x2f8d68);\n      *(undefined4 *)(iVar4 + 0x1ac) = uVar3;\n      (*pcVar10)(iVar1,uVar3);\n      *(uint *)(iVar1 + 0x98) = *(uint *)(iVar1 + 0x98) & 0xf7ffffff | 0x8000000;\n      iVar1 = *(int *)(iVar4 + 0x1ac);\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar1 = choose_output_section();\n      if (iVar1 == 0) {\n        return;\n      }\n      uVar3 = (**(code **)(pcVar9 + 0x2f800c))(0x138);\n      (**(code **)(pcVar9 + 0x2f9164))(uVar3,iVar1);\n      pcVar10 = *(code **)(pcVar9 + 0x2f8d68);\n      *(undefined4 *)(iVar4 + 0x1ac) = uVar3;\n      (*pcVar10)(iVar1,uVar3);\n      *(uint *)(iVar1 + 0x98) = *(uint *)(iVar1 + 0x98) & 0xf7ffffff | 0x8000000;\n      iVar1 = *(int *)(iVar4 + 0x1ac);\n    }" { (expression_statement "iVar1 = choose_output_section();" (assignment_expression "iVar1 = choose_output_section()" identifier = (call_expression "choose_output_section()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar1 == 0) {\n        return;\n      }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "uVar3 = (**(code **)(pcVar9 + 0x2f800c))(0x138);" (assignment_expression "uVar3 = (**(code **)(pcVar9 + 0x2f800c))(0x138)" identifier = (call_expression "(**(code **)(pcVar9 + 0x2f800c))(0x138)" (parenthesized_expression "(**(code **)(pcVar9 + 0x2f800c))" ( (pointer_expression "**(code **)(pcVar9 + 0x2f800c)" * (pointer_expression "*(code **)(pcVar9 + 0x2f800c)" * (cast_expression "(code **)(pcVar9 + 0x2f800c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x2f800c)" ( (binary_expression "pcVar9 + 0x2f800c" identifier + number_literal) ))))) )) (argument_list "(0x138)" ( number_literal )))) ;) (expression_statement "(**(code **)(pcVar9 + 0x2f9164))(uVar3,iVar1);" (call_expression "(**(code **)(pcVar9 + 0x2f9164))(uVar3,iVar1)" (parenthesized_expression "(**(code **)(pcVar9 + 0x2f9164))" ( (pointer_expression "**(code **)(pcVar9 + 0x2f9164)" * (pointer_expression "*(code **)(pcVar9 + 0x2f9164)" * (cast_expression "(code **)(pcVar9 + 0x2f9164)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x2f9164)" ( (binary_expression "pcVar9 + 0x2f9164" identifier + number_literal) ))))) )) (argument_list "(uVar3,iVar1)" ( identifier , identifier ))) ;) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x2f8d68);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x2f8d68)" identifier = (pointer_expression "*(code **)(pcVar9 + 0x2f8d68)" * (cast_expression "(code **)(pcVar9 + 0x2f8d68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x2f8d68)" ( (binary_expression "pcVar9 + 0x2f8d68" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar4 + 0x1ac) = uVar3;" (assignment_expression "*(undefined4 *)(iVar4 + 0x1ac) = uVar3" (pointer_expression "*(undefined4 *)(iVar4 + 0x1ac)" * (cast_expression "(undefined4 *)(iVar4 + 0x1ac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1ac)" ( (binary_expression "iVar4 + 0x1ac" identifier + number_literal) )))) = identifier) ;) (expression_statement "(*pcVar10)(iVar1,uVar3);" (call_expression "(*pcVar10)(iVar1,uVar3)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(iVar1,uVar3)" ( identifier , identifier ))) ;) (expression_statement "*(uint *)(iVar1 + 0x98) = *(uint *)(iVar1 + 0x98) & 0xf7ffffff | 0x8000000;" (assignment_expression "*(uint *)(iVar1 + 0x98) = *(uint *)(iVar1 + 0x98) & 0xf7ffffff | 0x8000000" (pointer_expression "*(uint *)(iVar1 + 0x98)" * (cast_expression "(uint *)(iVar1 + 0x98)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x98)" ( (binary_expression "iVar1 + 0x98" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar1 + 0x98) & 0xf7ffffff | 0x8000000" (binary_expression "*(uint *)(iVar1 + 0x98) & 0xf7ffffff" (pointer_expression "*(uint *)(iVar1 + 0x98)" * (cast_expression "(uint *)(iVar1 + 0x98)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x98)" ( (binary_expression "iVar1 + 0x98" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "iVar1 = *(int *)(iVar4 + 0x1ac);" (assignment_expression "iVar1 = *(int *)(iVar4 + 0x1ac)" identifier = (pointer_expression "*(int *)(iVar4 + 0x1ac)" * (cast_expression "(int *)(iVar4 + 0x1ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1ac)" ( (binary_expression "iVar4 + 0x1ac" identifier + number_literal) ))))) ;) })) (expression_statement "(**(code **)(pcVar9 + 0x2f9160))(iVar1,uVar6,iVar7,uVar8,param_4,piVar11,piVar5,uVar12,uVar13);" (call_expression "(**(code **)(pcVar9 + 0x2f9160))(iVar1,uVar6,iVar7,uVar8,param_4,piVar11,piVar5,uVar12,uVar13)" (parenthesized_expression "(**(code **)(pcVar9 + 0x2f9160))" ( (pointer_expression "**(code **)(pcVar9 + 0x2f9160)" * (pointer_expression "*(code **)(pcVar9 + 0x2f9160)" * (cast_expression "(code **)(pcVar9 + 0x2f9160)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x2f9160)" ( (binary_expression "pcVar9 + 0x2f9160" identifier + number_literal) ))))) )) (argument_list "(iVar1,uVar6,iVar7,uVar8,param_4,piVar11,piVar5,uVar12,uVar13)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar7 = *(int *)(this + 0x198);" (assignment_expression "iVar7 = *(int *)(this + 0x198)" identifier = (pointer_expression "*(int *)(this + 0x198)" * (cast_expression "(int *)(this + 0x198)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x198)" ( (binary_expression "this + 0x198" identifier + number_literal) ))))) ;) (labeled_statement "LAB_001c8ec4:\n  if (*(int *)param_1 == *(int *)(param_1 + 4)) {\nLAB_001c90ac:\n    if (*(int *)(param_1 + 0xc) == *(int *)(param_1 + 0x10)) {\n      return;\n    }\n    uVar12 = 3;\n    uVar13 = 0;\n    piVar5 = (int *)0x0;\n    piVar11 = (int *)0x2;\n    iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4130,0x6ffffffe,0,2,0,3,0,0,0);\n    if (iVar1 == 0) {\n      return;\n    }\n    param_4 = (vector *)&local_50;\n    (**(code **)(in_t9 + 0x2f981c))(param_1,this + 0xa8,&local_48,&local_4c,param_4);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar4 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = local_4c;\n    uVar8 = 0xffffffff;\n    *piVar2 = iVar4 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_48;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar4 + 0x4140;\n    (*pcVar9)(iVar1,piVar2);\n    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;\n    *(Output_section **)(iVar1 + 0x40) = param_5;\n    if (((*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0)) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_50;\n      if (iVar7 == 0) {\n        return;\n      }\n      piVar5 = *(int **)(iVar7 + 0x34);\n      piVar11 = *(int **)(iVar7 + 0x38);\n      param_1 = (Versions *)(iVar7 + 0x30);\n      local_54 = 0;\n      local_58 = 0x6ffffffe;\n      local_5c = 0;\n      if (piVar5 == piVar11) {\n        local_60 = iVar1;\n        (**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);\n        piVar2 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n      }\n      else {\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }\n      local_58 = 0x6fffffff;\n      local_54 = 0xffffffff;\n      local_60 = local_50;\n      if (piVar2 != piVar11) {\n        *piVar2 = local_50;\n        piVar2[2] = 0x6fffffff;\n        piVar2[1] = local_5c;\n        piVar2[3] = -1;\n        *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        return;\n      }\n      goto LAB_001c9304;\n    }\nLAB_001c92e8:\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n  }\n  else {\n    uVar12 = 3;\n    uVar13 = 0;\n    piVar5 = (int *)0x0;\n    piVar11 = (int *)0x2;\n    iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0);\n    if (iVar1 == 0) goto LAB_001c90ac;\n    param_4 = (vector *)&local_44;\n    (**(code **)(in_t9 + 0x2f9818))(param_1,this + 0xa8,&local_3c,&local_40,param_4);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar4 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = local_40;\n    uVar8 = 0xffffffff;\n    *piVar2 = iVar4 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_3c;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar4 + 0x4120;\n    (*pcVar9)(iVar1,piVar2);\n    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;\n    *(Output_section **)(iVar1 + 0x40) = param_5;\n    if (*(int *)(iVar1 + 0x48) != 0) goto LAB_001c92e8;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    if ((*(int *)(iVar1 + 0x4c) == 0) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_44;\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }\n      goto LAB_001c90ac;\n    }\n  }" statement_identifier : (if_statement "if (*(int *)param_1 == *(int *)(param_1 + 4)) {\nLAB_001c90ac:\n    if (*(int *)(param_1 + 0xc) == *(int *)(param_1 + 0x10)) {\n      return;\n    }\n    uVar12 = 3;\n    uVar13 = 0;\n    piVar5 = (int *)0x0;\n    piVar11 = (int *)0x2;\n    iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4130,0x6ffffffe,0,2,0,3,0,0,0);\n    if (iVar1 == 0) {\n      return;\n    }\n    param_4 = (vector *)&local_50;\n    (**(code **)(in_t9 + 0x2f981c))(param_1,this + 0xa8,&local_48,&local_4c,param_4);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar4 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = local_4c;\n    uVar8 = 0xffffffff;\n    *piVar2 = iVar4 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_48;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar4 + 0x4140;\n    (*pcVar9)(iVar1,piVar2);\n    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;\n    *(Output_section **)(iVar1 + 0x40) = param_5;\n    if (((*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0)) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_50;\n      if (iVar7 == 0) {\n        return;\n      }\n      piVar5 = *(int **)(iVar7 + 0x34);\n      piVar11 = *(int **)(iVar7 + 0x38);\n      param_1 = (Versions *)(iVar7 + 0x30);\n      local_54 = 0;\n      local_58 = 0x6ffffffe;\n      local_5c = 0;\n      if (piVar5 == piVar11) {\n        local_60 = iVar1;\n        (**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);\n        piVar2 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n      }\n      else {\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }\n      local_58 = 0x6fffffff;\n      local_54 = 0xffffffff;\n      local_60 = local_50;\n      if (piVar2 != piVar11) {\n        *piVar2 = local_50;\n        piVar2[2] = 0x6fffffff;\n        piVar2[1] = local_5c;\n        piVar2[3] = -1;\n        *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        return;\n      }\n      goto LAB_001c9304;\n    }\nLAB_001c92e8:\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n  }\n  else {\n    uVar12 = 3;\n    uVar13 = 0;\n    piVar5 = (int *)0x0;\n    piVar11 = (int *)0x2;\n    iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0);\n    if (iVar1 == 0) goto LAB_001c90ac;\n    param_4 = (vector *)&local_44;\n    (**(code **)(in_t9 + 0x2f9818))(param_1,this + 0xa8,&local_3c,&local_40,param_4);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar4 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = local_40;\n    uVar8 = 0xffffffff;\n    *piVar2 = iVar4 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_3c;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar4 + 0x4120;\n    (*pcVar9)(iVar1,piVar2);\n    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;\n    *(Output_section **)(iVar1 + 0x40) = param_5;\n    if (*(int *)(iVar1 + 0x48) != 0) goto LAB_001c92e8;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    if ((*(int *)(iVar1 + 0x4c) == 0) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_44;\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }\n      goto LAB_001c90ac;\n    }\n  }" if (parenthesized_expression "(*(int *)param_1 == *(int *)(param_1 + 4))" ( (binary_expression "*(int *)param_1 == *(int *)(param_1 + 4)" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (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) ))))) )) (compound_statement "{\nLAB_001c90ac:\n    if (*(int *)(param_1 + 0xc) == *(int *)(param_1 + 0x10)) {\n      return;\n    }\n    uVar12 = 3;\n    uVar13 = 0;\n    piVar5 = (int *)0x0;\n    piVar11 = (int *)0x2;\n    iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4130,0x6ffffffe,0,2,0,3,0,0,0);\n    if (iVar1 == 0) {\n      return;\n    }\n    param_4 = (vector *)&local_50;\n    (**(code **)(in_t9 + 0x2f981c))(param_1,this + 0xa8,&local_48,&local_4c,param_4);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar4 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = local_4c;\n    uVar8 = 0xffffffff;\n    *piVar2 = iVar4 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_48;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar4 + 0x4140;\n    (*pcVar9)(iVar1,piVar2);\n    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;\n    *(Output_section **)(iVar1 + 0x40) = param_5;\n    if (((*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0)) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_50;\n      if (iVar7 == 0) {\n        return;\n      }\n      piVar5 = *(int **)(iVar7 + 0x34);\n      piVar11 = *(int **)(iVar7 + 0x38);\n      param_1 = (Versions *)(iVar7 + 0x30);\n      local_54 = 0;\n      local_58 = 0x6ffffffe;\n      local_5c = 0;\n      if (piVar5 == piVar11) {\n        local_60 = iVar1;\n        (**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);\n        piVar2 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n      }\n      else {\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }\n      local_58 = 0x6fffffff;\n      local_54 = 0xffffffff;\n      local_60 = local_50;\n      if (piVar2 != piVar11) {\n        *piVar2 = local_50;\n        piVar2[2] = 0x6fffffff;\n        piVar2[1] = local_5c;\n        piVar2[3] = -1;\n        *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        return;\n      }\n      goto LAB_001c9304;\n    }\nLAB_001c92e8:\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n  }" { (labeled_statement "LAB_001c90ac:\n    if (*(int *)(param_1 + 0xc) == *(int *)(param_1 + 0x10)) {\n      return;\n    }" statement_identifier : (if_statement "if (*(int *)(param_1 + 0xc) == *(int *)(param_1 + 0x10)) {\n      return;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0xc) == *(int *)(param_1 + 0x10))" ( (binary_expression "*(int *)(param_1 + 0xc) == *(int *)(param_1 + 0x10)" (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) == (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) }))) (expression_statement "uVar12 = 3;" (assignment_expression "uVar12 = 3" identifier = number_literal) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "piVar5 = (int *)0x0;" (assignment_expression "piVar5 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar11 = (int *)0x2;" (assignment_expression "piVar11 = (int *)0x2" identifier = (cast_expression "(int *)0x2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4130,0x6ffffffe,0,2,0,3,0,0,0);" (assignment_expression "iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4130,0x6ffffffe,0,2,0,3,0,0,0)" identifier = (call_expression "choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4130,0x6ffffffe,0,2,0,3,0,0,0)" identifier (argument_list "(this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4130,0x6ffffffe,0,2,0,3,0,0,0)" ( identifier , number_literal , (binary_expression "*(int *)(in_t9 + 0x2f8d74) + 0x4130" (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar1 == 0) {\n      return;\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "param_4 = (vector *)&local_50;" (assignment_expression "param_4 = (vector *)&local_50" identifier = (cast_expression "(vector *)&local_50" ( (type_descriptor "vector *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_50" & identifier))) ;) (expression_statement "(**(code **)(in_t9 + 0x2f981c))(param_1,this + 0xa8,&local_48,&local_4c,param_4);" (call_expression "(**(code **)(in_t9 + 0x2f981c))(param_1,this + 0xa8,&local_48,&local_4c,param_4)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f981c))" ( (pointer_expression "**(code **)(in_t9 + 0x2f981c)" * (pointer_expression "*(code **)(in_t9 + 0x2f981c)" * (cast_expression "(code **)(in_t9 + 0x2f981c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f981c)" ( (binary_expression "in_t9 + 0x2f981c" identifier + number_literal) ))))) )) (argument_list "(param_1,this + 0xa8,&local_48,&local_4c,param_4)" ( identifier , (binary_expression "this + 0xa8" identifier + number_literal) , (pointer_expression "&local_48" & identifier) , (pointer_expression "&local_4c" & identifier) , identifier ))) ;) (expression_statement "piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);" (assignment_expression "piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38)" identifier = (cast_expression "(int *)(**(code **)(in_t9 + 0x2f86cc))(0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x2f86cc))(0x38)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f86cc))" ( (pointer_expression "**(code **)(in_t9 + 0x2f86cc)" * (pointer_expression "*(code **)(in_t9 + 0x2f86cc)" * (cast_expression "(code **)(in_t9 + 0x2f86cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f86cc)" ( (binary_expression "in_t9 + 0x2f86cc" identifier + number_literal) ))))) )) (argument_list "(0x38)" ( number_literal ))))) ;) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;" (assignment_expression "*(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50" (pointer_expression "*(byte *)(piVar2 + 8)" * (cast_expression "(byte *)(piVar2 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 8)" ( (binary_expression "piVar2 + 8" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar2 + 8) & 7 | 0x50" (binary_expression "*(byte *)(piVar2 + 8) & 7" (pointer_expression "*(byte *)(piVar2 + 8)" * (cast_expression "(byte *)(piVar2 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 8)" ( (binary_expression "piVar2 + 8" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "iVar4 = *(int *)(in_t9 + 0x2f965c);" (assignment_expression "iVar4 = *(int *)(in_t9 + 0x2f965c)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f965c)" * (cast_expression "(int *)(in_t9 + 0x2f965c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f965c)" ( (binary_expression "in_t9 + 0x2f965c" identifier + number_literal) ))))) ;) (expression_statement "pcVar9 = *(code **)(in_t9 + 0x2f9428);" (assignment_expression "pcVar9 = *(code **)(in_t9 + 0x2f9428)" identifier = (pointer_expression "*(code **)(in_t9 + 0x2f9428)" * (cast_expression "(code **)(in_t9 + 0x2f9428)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9428)" ( (binary_expression "in_t9 + 0x2f9428" identifier + number_literal) ))))) ;) (expression_statement "piVar2[0xb] = 4;" (assignment_expression "piVar2[0xb] = 4" (subscript_expression "piVar2[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[5] = local_4c;" (assignment_expression "piVar2[5] = local_4c" (subscript_expression "piVar2[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar8 = 0xffffffff;" (assignment_expression "uVar8 = 0xffffffff" identifier = number_literal) ;) (expression_statement "*piVar2 = iVar4 + 8;" (assignment_expression "*piVar2 = iVar4 + 8" (pointer_expression "*piVar2" * identifier) = (binary_expression "iVar4 + 8" identifier + number_literal)) ;) (expression_statement "piVar2[9] = 0;" (assignment_expression "piVar2[9] = 0" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xc] = local_48;" (assignment_expression "piVar2[0xc] = local_48" (subscript_expression "piVar2[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar4 = *(int *)(in_t9 + 0x2f8d74);" (assignment_expression "iVar4 = *(int *)(in_t9 + 0x2f8d74)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) ))))) ;) (expression_statement "piVar2[7] = -1;" (assignment_expression "piVar2[7] = -1" (subscript_expression "piVar2[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[6] = -1;" (assignment_expression "piVar2[6] = -1" (subscript_expression "piVar2[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xd] = iVar4 + 0x4140;" (assignment_expression "piVar2[0xd] = iVar4 + 0x4140" (subscript_expression "piVar2[0xd]" identifier [ number_literal ]) = (binary_expression "iVar4 + 0x4140" identifier + number_literal)) ;) (expression_statement "(*pcVar9)(iVar1,piVar2);" (call_expression "(*pcVar9)(iVar1,piVar2)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(iVar1,piVar2)" ( identifier , identifier ))) ;) (if_statement "if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;" if (parenthesized_expression "(((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0))" ( (binary_expression "((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)" (parenthesized_expression "((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0))" ( (binary_expression "(*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)" (parenthesized_expression "(*(int *)(iVar1 + 0x44) != 0)" ( (binary_expression "*(int *)(iVar1 + 0x44) != 0" (pointer_expression "*(int *)(iVar1 + 0x44)" * (cast_expression "(int *)(iVar1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x44)" ( (binary_expression "iVar1 + 0x44" identifier + number_literal) )))) != number_literal) )) || (parenthesized_expression "(*(int *)(iVar1 + 0x98) << 2 < 0)" ( (binary_expression "*(int *)(iVar1 + 0x98) << 2 < 0" (binary_expression "*(int *)(iVar1 + 0x98) << 2" (pointer_expression "*(int *)(iVar1 + 0x98)" * (cast_expression "(int *)(iVar1 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x98)" ( (binary_expression "iVar1 + 0x98" identifier + number_literal) )))) << number_literal) < number_literal) ))) )) || (parenthesized_expression "(*(int *)(iVar1 + 0x98) << 3 < 0)" ( (binary_expression "*(int *)(iVar1 + 0x98) << 3 < 0" (binary_expression "*(int *)(iVar1 + 0x98) << 3" (pointer_expression "*(int *)(iVar1 + 0x98)" * (cast_expression "(int *)(iVar1 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x98)" ( (binary_expression "iVar1 + 0x98" identifier + number_literal) )))) << number_literal) < number_literal) ))) )) (goto_statement "goto LAB_001c9380;" goto statement_identifier ;)) (expression_statement "*(Output_section **)(iVar1 + 0x40) = param_5;" (assignment_expression "*(Output_section **)(iVar1 + 0x40) = param_5" (pointer_expression "*(Output_section **)(iVar1 + 0x40)" * (cast_expression "(Output_section **)(iVar1 + 0x40)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x40)" ( (binary_expression "iVar1 + 0x40" identifier + number_literal) )))) = identifier) ;) (if_statement "if (((*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0)) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_50;\n      if (iVar7 == 0) {\n        return;\n      }\n      piVar5 = *(int **)(iVar7 + 0x34);\n      piVar11 = *(int **)(iVar7 + 0x38);\n      param_1 = (Versions *)(iVar7 + 0x30);\n      local_54 = 0;\n      local_58 = 0x6ffffffe;\n      local_5c = 0;\n      if (piVar5 == piVar11) {\n        local_60 = iVar1;\n        (**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);\n        piVar2 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n      }\n      else {\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }\n      local_58 = 0x6fffffff;\n      local_54 = 0xffffffff;\n      local_60 = local_50;\n      if (piVar2 != piVar11) {\n        *piVar2 = local_50;\n        piVar2[2] = 0x6fffffff;\n        piVar2[1] = local_5c;\n        piVar2[3] = -1;\n        *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        return;\n      }\n      goto LAB_001c9304;\n    }" if (parenthesized_expression "(((*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0)) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50)))))" ( (binary_expression "((*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0)) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50))))" (parenthesized_expression "((*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0))" ( (binary_expression "(*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0)" (parenthesized_expression "(*(int *)(iVar1 + 0x48) == 0)" ( (binary_expression "*(int *)(iVar1 + 0x48) == 0" (pointer_expression "*(int *)(iVar1 + 0x48)" * (cast_expression "(int *)(iVar1 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x48)" ( (binary_expression "iVar1 + 0x48" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(int *)(iVar1 + 0x4c) == 0)" ( (binary_expression "*(int *)(iVar1 + 0x4c) == 0" (pointer_expression "*(int *)(iVar1 + 0x4c)" * (cast_expression "(int *)(iVar1 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x4c)" ( (binary_expression "iVar1 + 0x4c" identifier + number_literal) )))) == number_literal) ))) )) && (parenthesized_expression "((*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50))))" ( (parenthesized_expression "(*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50)))" ( (binary_expression "*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50))" (binary_expression "*(int *)(iVar1 + 0x50) == 0" (pointer_expression "*(int *)(iVar1 + 0x50)" * (cast_expression "(int *)(iVar1 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) == number_literal) || (parenthesized_expression "(local_50 == *(int *)(iVar1 + 0x50))" ( (binary_expression "local_50 == *(int *)(iVar1 + 0x50)" identifier == (pointer_expression "*(int *)(iVar1 + 0x50)" * (cast_expression "(int *)(iVar1 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n      *(int *)(iVar1 + 0x50) = local_50;\n      if (iVar7 == 0) {\n        return;\n      }\n      piVar5 = *(int **)(iVar7 + 0x34);\n      piVar11 = *(int **)(iVar7 + 0x38);\n      param_1 = (Versions *)(iVar7 + 0x30);\n      local_54 = 0;\n      local_58 = 0x6ffffffe;\n      local_5c = 0;\n      if (piVar5 == piVar11) {\n        local_60 = iVar1;\n        (**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);\n        piVar2 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n      }\n      else {\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }\n      local_58 = 0x6fffffff;\n      local_54 = 0xffffffff;\n      local_60 = local_50;\n      if (piVar2 != piVar11) {\n        *piVar2 = local_50;\n        piVar2[2] = 0x6fffffff;\n        piVar2[1] = local_5c;\n        piVar2[3] = -1;\n        *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        return;\n      }\n      goto LAB_001c9304;\n    }" { (expression_statement "*(int *)(iVar1 + 0x50) = local_50;" (assignment_expression "*(int *)(iVar1 + 0x50) = local_50" (pointer_expression "*(int *)(iVar1 + 0x50)" * (cast_expression "(int *)(iVar1 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar7 == 0) {\n        return;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "piVar5 = *(int **)(iVar7 + 0x34);" (assignment_expression "piVar5 = *(int **)(iVar7 + 0x34)" identifier = (pointer_expression "*(int **)(iVar7 + 0x34)" * (cast_expression "(int **)(iVar7 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x34)" ( (binary_expression "iVar7 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "piVar11 = *(int **)(iVar7 + 0x38);" (assignment_expression "piVar11 = *(int **)(iVar7 + 0x38)" identifier = (pointer_expression "*(int **)(iVar7 + 0x38)" * (cast_expression "(int **)(iVar7 + 0x38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x38)" ( (binary_expression "iVar7 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "param_1 = (Versions *)(iVar7 + 0x30);" (assignment_expression "param_1 = (Versions *)(iVar7 + 0x30)" identifier = (cast_expression "(Versions *)(iVar7 + 0x30)" ( (type_descriptor "Versions *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x30)" ( (binary_expression "iVar7 + 0x30" identifier + number_literal) )))) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0x6ffffffe;" (assignment_expression "local_58 = 0x6ffffffe" identifier = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (if_statement "if (piVar5 == piVar11) {\n        local_60 = iVar1;\n        (**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);\n        piVar2 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n      }\n      else {\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }" if (parenthesized_expression "(piVar5 == piVar11)" ( (binary_expression "piVar5 == piVar11" identifier == identifier) )) (compound_statement "{\n        local_60 = iVar1;\n        (**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);\n        piVar2 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n      }" { (expression_statement "local_60 = iVar1;" (assignment_expression "local_60 = iVar1" identifier = identifier) ;) (expression_statement "(**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);" (call_expression "(**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9274))" ( (pointer_expression "**(code **)(in_t9 + 0x2f9274)" * (pointer_expression "*(code **)(in_t9 + 0x2f9274)" * (cast_expression "(code **)(in_t9 + 0x2f9274)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9274)" ( (binary_expression "in_t9 + 0x2f9274" identifier + number_literal) ))))) )) (argument_list "(param_1,piVar11,&local_60)" ( identifier , identifier , (pointer_expression "&local_60" & identifier) ))) ;) (expression_statement "piVar2 = *(int **)(iVar7 + 0x34);" (assignment_expression "piVar2 = *(int **)(iVar7 + 0x34)" identifier = (pointer_expression "*(int **)(iVar7 + 0x34)" * (cast_expression "(int **)(iVar7 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x34)" ( (binary_expression "iVar7 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "piVar11 = *(int **)(iVar7 + 0x38);" (assignment_expression "piVar11 = *(int **)(iVar7 + 0x38)" identifier = (pointer_expression "*(int **)(iVar7 + 0x38)" * (cast_expression "(int **)(iVar7 + 0x38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x38)" ( (binary_expression "iVar7 + 0x38" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }" else (compound_statement "{\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }" { (expression_statement "piVar2 = piVar5 + 4;" (assignment_expression "piVar2 = piVar5 + 4" identifier = (binary_expression "piVar5 + 4" identifier + number_literal)) ;) (expression_statement "*piVar5 = iVar1;" (assignment_expression "*piVar5 = iVar1" (pointer_expression "*piVar5" * identifier) = identifier) ;) (expression_statement "piVar5[1] = 0;" (assignment_expression "piVar5[1] = 0" (subscript_expression "piVar5[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[2] = 0x6ffffffe;" (assignment_expression "piVar5[2] = 0x6ffffffe" (subscript_expression "piVar5[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[3] = 0;" (assignment_expression "piVar5[3] = 0" (subscript_expression "piVar5[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int **)(iVar7 + 0x34) = piVar2;" (assignment_expression "*(int **)(iVar7 + 0x34) = piVar2" (pointer_expression "*(int **)(iVar7 + 0x34)" * (cast_expression "(int **)(iVar7 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x34)" ( (binary_expression "iVar7 + 0x34" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "local_58 = 0x6fffffff;" (assignment_expression "local_58 = 0x6fffffff" identifier = number_literal) ;) (expression_statement "local_54 = 0xffffffff;" (assignment_expression "local_54 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_60 = local_50;" (assignment_expression "local_60 = local_50" identifier = identifier) ;) (if_statement "if (piVar2 != piVar11) {\n        *piVar2 = local_50;\n        piVar2[2] = 0x6fffffff;\n        piVar2[1] = local_5c;\n        piVar2[3] = -1;\n        *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        return;\n      }" if (parenthesized_expression "(piVar2 != piVar11)" ( (binary_expression "piVar2 != piVar11" identifier != identifier) )) (compound_statement "{\n        *piVar2 = local_50;\n        piVar2[2] = 0x6fffffff;\n        piVar2[1] = local_5c;\n        piVar2[3] = -1;\n        *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        return;\n      }" { (expression_statement "*piVar2 = local_50;" (assignment_expression "*piVar2 = local_50" (pointer_expression "*piVar2" * identifier) = identifier) ;) (expression_statement "piVar2[2] = 0x6fffffff;" (assignment_expression "piVar2[2] = 0x6fffffff" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[1] = local_5c;" (assignment_expression "piVar2[1] = local_5c" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[3] = -1;" (assignment_expression "piVar2[3] = -1" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int **)(iVar7 + 0x34) = piVar2 + 4;" (assignment_expression "*(int **)(iVar7 + 0x34) = piVar2 + 4" (pointer_expression "*(int **)(iVar7 + 0x34)" * (cast_expression "(int **)(iVar7 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x34)" ( (binary_expression "iVar7 + 0x34" identifier + number_literal) )))) = (binary_expression "piVar2 + 4" identifier + number_literal)) ;) (return_statement "return;" return ;) })) (goto_statement "goto LAB_001c9304;" goto statement_identifier ;) })) (labeled_statement "LAB_001c92e8:\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);" statement_identifier : (expression_statement "iVar4 = *(int *)(in_t9 + 0x2f8d74);" (assignment_expression "iVar4 = *(int *)(in_t9 + 0x2f8d74)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n    uVar12 = 3;\n    uVar13 = 0;\n    piVar5 = (int *)0x0;\n    piVar11 = (int *)0x2;\n    iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0);\n    if (iVar1 == 0) goto LAB_001c90ac;\n    param_4 = (vector *)&local_44;\n    (**(code **)(in_t9 + 0x2f9818))(param_1,this + 0xa8,&local_3c,&local_40,param_4);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar4 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = local_40;\n    uVar8 = 0xffffffff;\n    *piVar2 = iVar4 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_3c;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar4 + 0x4120;\n    (*pcVar9)(iVar1,piVar2);\n    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;\n    *(Output_section **)(iVar1 + 0x40) = param_5;\n    if (*(int *)(iVar1 + 0x48) != 0) goto LAB_001c92e8;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    if ((*(int *)(iVar1 + 0x4c) == 0) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_44;\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }\n      goto LAB_001c90ac;\n    }\n  }" else (compound_statement "{\n    uVar12 = 3;\n    uVar13 = 0;\n    piVar5 = (int *)0x0;\n    piVar11 = (int *)0x2;\n    iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0);\n    if (iVar1 == 0) goto LAB_001c90ac;\n    param_4 = (vector *)&local_44;\n    (**(code **)(in_t9 + 0x2f9818))(param_1,this + 0xa8,&local_3c,&local_40,param_4);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar4 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = local_40;\n    uVar8 = 0xffffffff;\n    *piVar2 = iVar4 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_3c;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar4 + 0x4120;\n    (*pcVar9)(iVar1,piVar2);\n    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;\n    *(Output_section **)(iVar1 + 0x40) = param_5;\n    if (*(int *)(iVar1 + 0x48) != 0) goto LAB_001c92e8;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    if ((*(int *)(iVar1 + 0x4c) == 0) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_44;\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }\n      goto LAB_001c90ac;\n    }\n  }" { (expression_statement "uVar12 = 3;" (assignment_expression "uVar12 = 3" identifier = number_literal) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "piVar5 = (int *)0x0;" (assignment_expression "piVar5 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar11 = (int *)0x2;" (assignment_expression "piVar11 = (int *)0x2" identifier = (cast_expression "(int *)0x2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0);" (assignment_expression "iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0)" identifier = (call_expression "choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0)" identifier (argument_list "(this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0)" ( identifier , number_literal , (binary_expression "*(int *)(in_t9 + 0x2f8d74) + 0x4110" (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar1 == 0) goto LAB_001c90ac;" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001c90ac;" goto statement_identifier ;)) (expression_statement "param_4 = (vector *)&local_44;" (assignment_expression "param_4 = (vector *)&local_44" identifier = (cast_expression "(vector *)&local_44" ( (type_descriptor "vector *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_44" & identifier))) ;) (expression_statement "(**(code **)(in_t9 + 0x2f9818))(param_1,this + 0xa8,&local_3c,&local_40,param_4);" (call_expression "(**(code **)(in_t9 + 0x2f9818))(param_1,this + 0xa8,&local_3c,&local_40,param_4)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9818))" ( (pointer_expression "**(code **)(in_t9 + 0x2f9818)" * (pointer_expression "*(code **)(in_t9 + 0x2f9818)" * (cast_expression "(code **)(in_t9 + 0x2f9818)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9818)" ( (binary_expression "in_t9 + 0x2f9818" identifier + number_literal) ))))) )) (argument_list "(param_1,this + 0xa8,&local_3c,&local_40,param_4)" ( identifier , (binary_expression "this + 0xa8" identifier + number_literal) , (pointer_expression "&local_3c" & identifier) , (pointer_expression "&local_40" & identifier) , identifier ))) ;) (expression_statement "piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);" (assignment_expression "piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38)" identifier = (cast_expression "(int *)(**(code **)(in_t9 + 0x2f86cc))(0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x2f86cc))(0x38)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f86cc))" ( (pointer_expression "**(code **)(in_t9 + 0x2f86cc)" * (pointer_expression "*(code **)(in_t9 + 0x2f86cc)" * (cast_expression "(code **)(in_t9 + 0x2f86cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f86cc)" ( (binary_expression "in_t9 + 0x2f86cc" identifier + number_literal) ))))) )) (argument_list "(0x38)" ( number_literal ))))) ;) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;" (assignment_expression "*(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50" (pointer_expression "*(byte *)(piVar2 + 8)" * (cast_expression "(byte *)(piVar2 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 8)" ( (binary_expression "piVar2 + 8" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar2 + 8) & 7 | 0x50" (binary_expression "*(byte *)(piVar2 + 8) & 7" (pointer_expression "*(byte *)(piVar2 + 8)" * (cast_expression "(byte *)(piVar2 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 8)" ( (binary_expression "piVar2 + 8" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "iVar4 = *(int *)(in_t9 + 0x2f965c);" (assignment_expression "iVar4 = *(int *)(in_t9 + 0x2f965c)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f965c)" * (cast_expression "(int *)(in_t9 + 0x2f965c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f965c)" ( (binary_expression "in_t9 + 0x2f965c" identifier + number_literal) ))))) ;) (expression_statement "pcVar9 = *(code **)(in_t9 + 0x2f9428);" (assignment_expression "pcVar9 = *(code **)(in_t9 + 0x2f9428)" identifier = (pointer_expression "*(code **)(in_t9 + 0x2f9428)" * (cast_expression "(code **)(in_t9 + 0x2f9428)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9428)" ( (binary_expression "in_t9 + 0x2f9428" identifier + number_literal) ))))) ;) (expression_statement "piVar2[0xb] = 4;" (assignment_expression "piVar2[0xb] = 4" (subscript_expression "piVar2[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[5] = local_40;" (assignment_expression "piVar2[5] = local_40" (subscript_expression "piVar2[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar8 = 0xffffffff;" (assignment_expression "uVar8 = 0xffffffff" identifier = number_literal) ;) (expression_statement "*piVar2 = iVar4 + 8;" (assignment_expression "*piVar2 = iVar4 + 8" (pointer_expression "*piVar2" * identifier) = (binary_expression "iVar4 + 8" identifier + number_literal)) ;) (expression_statement "piVar2[9] = 0;" (assignment_expression "piVar2[9] = 0" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xc] = local_3c;" (assignment_expression "piVar2[0xc] = local_3c" (subscript_expression "piVar2[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar4 = *(int *)(in_t9 + 0x2f8d74);" (assignment_expression "iVar4 = *(int *)(in_t9 + 0x2f8d74)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) ))))) ;) (expression_statement "piVar2[7] = -1;" (assignment_expression "piVar2[7] = -1" (subscript_expression "piVar2[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[6] = -1;" (assignment_expression "piVar2[6] = -1" (subscript_expression "piVar2[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xd] = iVar4 + 0x4120;" (assignment_expression "piVar2[0xd] = iVar4 + 0x4120" (subscript_expression "piVar2[0xd]" identifier [ number_literal ]) = (binary_expression "iVar4 + 0x4120" identifier + number_literal)) ;) (expression_statement "(*pcVar9)(iVar1,piVar2);" (call_expression "(*pcVar9)(iVar1,piVar2)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(iVar1,piVar2)" ( identifier , identifier ))) ;) (if_statement "if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;" if (parenthesized_expression "(((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0))" ( (binary_expression "((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)" (parenthesized_expression "((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0))" ( (binary_expression "(*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)" (parenthesized_expression "(*(int *)(iVar1 + 0x44) != 0)" ( (binary_expression "*(int *)(iVar1 + 0x44) != 0" (pointer_expression "*(int *)(iVar1 + 0x44)" * (cast_expression "(int *)(iVar1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x44)" ( (binary_expression "iVar1 + 0x44" identifier + number_literal) )))) != number_literal) )) || (parenthesized_expression "(*(int *)(iVar1 + 0x98) << 2 < 0)" ( (binary_expression "*(int *)(iVar1 + 0x98) << 2 < 0" (binary_expression "*(int *)(iVar1 + 0x98) << 2" (pointer_expression "*(int *)(iVar1 + 0x98)" * (cast_expression "(int *)(iVar1 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x98)" ( (binary_expression "iVar1 + 0x98" identifier + number_literal) )))) << number_literal) < number_literal) ))) )) || (parenthesized_expression "(*(int *)(iVar1 + 0x98) << 3 < 0)" ( (binary_expression "*(int *)(iVar1 + 0x98) << 3 < 0" (binary_expression "*(int *)(iVar1 + 0x98) << 3" (pointer_expression "*(int *)(iVar1 + 0x98)" * (cast_expression "(int *)(iVar1 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x98)" ( (binary_expression "iVar1 + 0x98" identifier + number_literal) )))) << number_literal) < number_literal) ))) )) (goto_statement "goto LAB_001c9380;" goto statement_identifier ;)) (expression_statement "*(Output_section **)(iVar1 + 0x40) = param_5;" (assignment_expression "*(Output_section **)(iVar1 + 0x40) = param_5" (pointer_expression "*(Output_section **)(iVar1 + 0x40)" * (cast_expression "(Output_section **)(iVar1 + 0x40)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x40)" ( (binary_expression "iVar1 + 0x40" identifier + number_literal) )))) = identifier) ;) (if_statement "if (*(int *)(iVar1 + 0x48) != 0) goto LAB_001c92e8;" if (parenthesized_expression "(*(int *)(iVar1 + 0x48) != 0)" ( (binary_expression "*(int *)(iVar1 + 0x48) != 0" (pointer_expression "*(int *)(iVar1 + 0x48)" * (cast_expression "(int *)(iVar1 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x48)" ( (binary_expression "iVar1 + 0x48" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_001c92e8;" goto statement_identifier ;)) (expression_statement "iVar4 = *(int *)(in_t9 + 0x2f8d74);" (assignment_expression "iVar4 = *(int *)(in_t9 + 0x2f8d74)" identifier = (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" * (cast_expression "(int *)(in_t9 + 0x2f8d74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f8d74)" ( (binary_expression "in_t9 + 0x2f8d74" identifier + number_literal) ))))) ;) (if_statement "if ((*(int *)(iVar1 + 0x4c) == 0) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_44;\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }\n      goto LAB_001c90ac;\n    }" if (parenthesized_expression "((*(int *)(iVar1 + 0x4c) == 0) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50)))))" ( (binary_expression "(*(int *)(iVar1 + 0x4c) == 0) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))))" (parenthesized_expression "(*(int *)(iVar1 + 0x4c) == 0)" ( (binary_expression "*(int *)(iVar1 + 0x4c) == 0" (pointer_expression "*(int *)(iVar1 + 0x4c)" * (cast_expression "(int *)(iVar1 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x4c)" ( (binary_expression "iVar1 + 0x4c" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))))" ( (parenthesized_expression "(*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50)))" ( (binary_expression "*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))" (binary_expression "*(int *)(iVar1 + 0x50) == 0" (pointer_expression "*(int *)(iVar1 + 0x50)" * (cast_expression "(int *)(iVar1 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) == number_literal) || (parenthesized_expression "(local_44 == *(int *)(iVar1 + 0x50))" ( (binary_expression "local_44 == *(int *)(iVar1 + 0x50)" identifier == (pointer_expression "*(int *)(iVar1 + 0x50)" * (cast_expression "(int *)(iVar1 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n      *(int *)(iVar1 + 0x50) = local_44;\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }\n      goto LAB_001c90ac;\n    }" { (expression_statement "*(int *)(iVar1 + 0x50) = local_44;" (assignment_expression "*(int *)(iVar1 + 0x50) = local_44" (pointer_expression "*(int *)(iVar1 + 0x50)" * (cast_expression "(int *)(iVar1 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }" { (expression_statement "piVar5 = *(int **)(iVar7 + 0x34);" (assignment_expression "piVar5 = *(int **)(iVar7 + 0x34)" identifier = (pointer_expression "*(int **)(iVar7 + 0x34)" * (cast_expression "(int **)(iVar7 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x34)" ( (binary_expression "iVar7 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "piVar11 = *(int **)(iVar7 + 0x38);" (assignment_expression "piVar11 = *(int **)(iVar7 + 0x38)" identifier = (pointer_expression "*(int **)(iVar7 + 0x38)" * (cast_expression "(int **)(iVar7 + 0x38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x38)" ( (binary_expression "iVar7 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0x6ffffffc;" (assignment_expression "local_58 = 0x6ffffffc" identifier = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (if_statement "if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }" if (parenthesized_expression "(piVar5 == piVar11)" ( (binary_expression "piVar5 == piVar11" identifier == identifier) )) (compound_statement "{\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }" { (expression_statement "local_60 = iVar1;" (assignment_expression "local_60 = iVar1" identifier = identifier) ;) (expression_statement "(**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);" (call_expression "(**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9274))" ( (pointer_expression "**(code **)(in_t9 + 0x2f9274)" * (pointer_expression "*(code **)(in_t9 + 0x2f9274)" * (cast_expression "(code **)(in_t9 + 0x2f9274)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9274)" ( (binary_expression "in_t9 + 0x2f9274" identifier + number_literal) ))))) )) (argument_list "(iVar7 + 0x30,piVar11,&local_60)" ( (binary_expression "iVar7 + 0x30" identifier + number_literal) , identifier , (pointer_expression "&local_60" & identifier) ))) ;) (expression_statement "piVar2 = *(int **)(iVar7 + 0x34);" (assignment_expression "piVar2 = *(int **)(iVar7 + 0x34)" identifier = (pointer_expression "*(int **)(iVar7 + 0x34)" * (cast_expression "(int **)(iVar7 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x34)" ( (binary_expression "iVar7 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "piVar11 = *(int **)(iVar7 + 0x38);" (assignment_expression "piVar11 = *(int **)(iVar7 + 0x38)" identifier = (pointer_expression "*(int **)(iVar7 + 0x38)" * (cast_expression "(int **)(iVar7 + 0x38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x38)" ( (binary_expression "iVar7 + 0x38" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }" else (compound_statement "{\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }" { (expression_statement "piVar2 = piVar5 + 4;" (assignment_expression "piVar2 = piVar5 + 4" identifier = (binary_expression "piVar5 + 4" identifier + number_literal)) ;) (expression_statement "*piVar5 = iVar1;" (assignment_expression "*piVar5 = iVar1" (pointer_expression "*piVar5" * identifier) = identifier) ;) (expression_statement "piVar5[1] = 0;" (assignment_expression "piVar5[1] = 0" (subscript_expression "piVar5[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[2] = 0x6ffffffc;" (assignment_expression "piVar5[2] = 0x6ffffffc" (subscript_expression "piVar5[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[3] = 0;" (assignment_expression "piVar5[3] = 0" (subscript_expression "piVar5[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int **)(iVar7 + 0x34) = piVar2;" (assignment_expression "*(int **)(iVar7 + 0x34) = piVar2" (pointer_expression "*(int **)(iVar7 + 0x34)" * (cast_expression "(int **)(iVar7 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x34)" ( (binary_expression "iVar7 + 0x34" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "local_58 = 0x6ffffffd;" (assignment_expression "local_58 = 0x6ffffffd" identifier = number_literal) ;) (expression_statement "local_54 = 0xffffffff;" (assignment_expression "local_54 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_60 = local_44;" (assignment_expression "local_60 = local_44" identifier = identifier) ;) (if_statement "if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }" if (parenthesized_expression "(piVar11 == piVar2)" ( (binary_expression "piVar11 == piVar2" identifier == identifier) )) (compound_statement "{\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }" { (expression_statement "(**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);" (call_expression "(**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9274))" ( (pointer_expression "**(code **)(in_t9 + 0x2f9274)" * (pointer_expression "*(code **)(in_t9 + 0x2f9274)" * (cast_expression "(code **)(in_t9 + 0x2f9274)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9274)" ( (binary_expression "in_t9 + 0x2f9274" identifier + number_literal) ))))) )) (argument_list "(iVar7 + 0x30,piVar11,&local_60)" ( (binary_expression "iVar7 + 0x30" identifier + number_literal) , identifier , (pointer_expression "&local_60" & identifier) ))) ;) }) (else_clause "else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }" else (compound_statement "{\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }" { (expression_statement "*piVar2 = local_44;" (assignment_expression "*piVar2 = local_44" (pointer_expression "*piVar2" * identifier) = identifier) ;) (expression_statement "piVar2[2] = 0x6ffffffd;" (assignment_expression "piVar2[2] = 0x6ffffffd" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[1] = local_5c;" (assignment_expression "piVar2[1] = local_5c" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[3] = -1;" (assignment_expression "piVar2[3] = -1" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int **)(iVar7 + 0x34) = piVar2 + 4;" (assignment_expression "*(int **)(iVar7 + 0x34) = piVar2 + 4" (pointer_expression "*(int **)(iVar7 + 0x34)" * (cast_expression "(int **)(iVar7 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x34)" ( (binary_expression "iVar7 + 0x34" identifier + number_literal) )))) = (binary_expression "piVar2 + 4" identifier + number_literal)) ;) }))) })) (goto_statement "goto LAB_001c90ac;" goto statement_identifier ;) })) })))) (expression_statement "piVar2 = (int *)(**(code **)(in_t9 + 0x2f8d54))\n                            (*(int *)(in_t9 + 0x2f85a0) + 0x3574,0xd5e,iVar4 + 0x4430);" (assignment_expression "piVar2 = (int *)(**(code **)(in_t9 + 0x2f8d54))\n                            (*(int *)(in_t9 + 0x2f85a0) + 0x3574,0xd5e,iVar4 + 0x4430)" identifier = (cast_expression "(int *)(**(code **)(in_t9 + 0x2f8d54))\n                            (*(int *)(in_t9 + 0x2f85a0) + 0x3574,0xd5e,iVar4 + 0x4430)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x2f8d54))\n                            (*(int *)(in_t9 + 0x2f85a0) + 0x3574,0xd5e,iVar4 + 0x4430)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f8d54))" ( (pointer_expression "**(code **)(in_t9 + 0x2f8d54)" * (pointer_expression "*(code **)(in_t9 + 0x2f8d54)" * (cast_expression "(code **)(in_t9 + 0x2f8d54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f8d54)" ( (binary_expression "in_t9 + 0x2f8d54" identifier + number_literal) ))))) )) (argument_list "(*(int *)(in_t9 + 0x2f85a0) + 0x3574,0xd5e,iVar4 + 0x4430)" ( (binary_expression "*(int *)(in_t9 + 0x2f85a0) + 0x3574" (pointer_expression "*(int *)(in_t9 + 0x2f85a0)" * (cast_expression "(int *)(in_t9 + 0x2f85a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x2f85a0)" ( (binary_expression "in_t9 + 0x2f85a0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar4 + 0x4430" identifier + number_literal) ))))) ;) (labeled_statement "LAB_001c9304:\n  (**(code **)(in_t9 + 0x2f9274))(param_1,piVar2,&local_60);" statement_identifier : (expression_statement "(**(code **)(in_t9 + 0x2f9274))(param_1,piVar2,&local_60);" (call_expression "(**(code **)(in_t9 + 0x2f9274))(param_1,piVar2,&local_60)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9274))" ( (pointer_expression "**(code **)(in_t9 + 0x2f9274)" * (pointer_expression "*(code **)(in_t9 + 0x2f9274)" * (cast_expression "(code **)(in_t9 + 0x2f9274)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x2f9274)" ( (binary_expression "in_t9 + 0x2f9274" identifier + number_literal) ))))) )) (argument_list "(param_1,piVar2,&local_60)" ( identifier , identifier , (pointer_expression "&local_60" & identifier) ))) ;)) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit (declaration TYPE (ms_call_modifier __thiscall) (ERROR IDENT : : IDENT : :) IDENT (ERROR < LIT) , (ERROR (function_declarator IDENT (ERROR >) (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) { TYPE) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT , LIT , LIT , LIT , LIT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_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 ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) && (parenthesized_expression ( (binary_expression LIT < (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 (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( 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) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (labeled_statement 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) )))) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT , LIT , LIT , LIT , LIT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_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 ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) || (parenthesized_expression ( (binary_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 (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) || (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (return_statement return ;) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (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 = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT , LIT , LIT , LIT , LIT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_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 ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) || (parenthesized_expression ( (binary_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 (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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) )))) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) || (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) })) (goto_statement goto statement_identifier ;) })) })))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;)) (return_statement return ;) (ERROR }))
(declaration "void __thiscall\ngold::Layout::sized_create_version_sections<64,true>\n          (Layout *this,Versions *param_1,Symbol_table *param_2,uint param_3,vector *param_4,\n          Output_section *param_5)\n\n{\n  int iVar1;" (primitive_type "void") (ms_call_modifier "__thiscall" (__thiscall "__thiscall")) (ERROR "gold::Layout::" (identifier "gold") (: ":") (: ":") (identifier "Layout") (: ":") (: ":")) (identifier "sized_create_version_sections") (ERROR "<64" (< "<") (number_literal "64")) (, ",") (ERROR "true>\n          (Layout *this,Versions *param_1,Symbol_table *param_2,uint param_3,vector *param_4,\n          Output_section *param_5)\n\n{\n  int" (function_declarator "true>\n          (Layout *this,Versions *param_1,Symbol_table *param_2,uint param_3,vector *param_4,\n          Output_section *param_5)" (identifier "true") (ERROR ">" (> ">")) (parameter_list "(Layout *this,Versions *param_1,Symbol_table *param_2,uint param_3,vector *param_4,\n          Output_section *param_5)" (( "(") (parameter_declaration "Layout *this" (type_identifier "Layout") (pointer_declarator "*this" (* "*") (identifier "this"))) (, ",") (parameter_declaration "Versions *param_1" (type_identifier "Versions") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "Symbol_table *param_2" (type_identifier "Symbol_table") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "uint param_3" (type_identifier "uint") (identifier "param_3")) (, ",") (parameter_declaration "vector *param_4" (type_identifier "vector") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "Output_section *param_5" (type_identifier "Output_section") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) () ")"))) ({ "{") (primitive_type "int")) (identifier "iVar1") (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "int in_t9;" (primitive_type "int") (identifier "in_t9") (; ";")) (declaration "code *pcVar9;" (type_identifier "code") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "code *pcVar10;" (type_identifier "code") (pointer_declarator "*pcVar10" (* "*") (identifier "pcVar10")) (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "undefined4 uVar13;" (type_identifier "undefined4") (identifier "uVar13") (; ";")) (declaration "int local_60;" (primitive_type "int") (identifier "local_60") (; ";")) (declaration "int local_5c;" (primitive_type "int") (identifier "local_5c") (; ";")) (declaration "undefined4 local_58;" (type_identifier "undefined4") (identifier "local_58") (; ";")) (declaration "undefined4 local_54;" (type_identifier "undefined4") (identifier "local_54") (; ";")) (declaration "int local_50;" (primitive_type "int") (identifier "local_50") (; ";")) (declaration "int local_4c;" (primitive_type "int") (identifier "local_4c") (; ";")) (declaration "int local_48;" (primitive_type "int") (identifier "local_48") (; ";")) (declaration "int local_44;" (primitive_type "int") (identifier "local_44") (; ";")) (declaration "int local_40;" (primitive_type "int") (identifier "local_40") (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (declaration "int local_38 [2];" (primitive_type "int") (array_declarator "local_38 [2]" (identifier "local_38") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "int *local_30;" (primitive_type "int") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar12 = 3;" (assignment_expression "uVar12 = 3" (identifier "uVar12") (= "=") (number_literal "3")) (; ";")) (expression_statement "iVar1 = choose_output_section(this,0,*(int *)(in_t9 + 0x2f8d74) + 0x40f4,0x6fffffff,0,2,0,3,0,0,0)\n  ;" (assignment_expression "iVar1 = choose_output_section(this,0,*(int *)(in_t9 + 0x2f8d74) + 0x40f4,0x6fffffff,0,2,0,3,0,0,0)" (identifier "iVar1") (= "=") (call_expression "choose_output_section(this,0,*(int *)(in_t9 + 0x2f8d74) + 0x40f4,0x6fffffff,0,2,0,3,0,0,0)" (identifier "choose_output_section") (argument_list "(this,0,*(int *)(in_t9 + 0x2f8d74) + 0x40f4,0x6fffffff,0,2,0,3,0,0,0)" (( "(") (identifier "this") (, ",") (number_literal "0") (, ",") (binary_expression "*(int *)(in_t9 + 0x2f8d74) + 0x40f4" (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" (* "*") (cast_expression "(int *)(in_t9 + 0x2f8d74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_t9 + 0x2f8d74)" (( "(") (binary_expression "in_t9 + 0x2f8d74" (identifier "in_t9") (+ "+") (number_literal "0x2f8d74")) () ")")))) (+ "+") (number_literal "0x40f4")) (, ",") (number_literal "0x6fffffff") (, ",") (number_literal "0") (, ",") (number_literal "2") (, ",") (number_literal "0") (, ",") (number_literal "3") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar1 != 0) {\n    piVar5 = &local_60;\n    piVar11 = local_38;\n    local_30 = piVar5;\n    (**(code **)(in_t9 + 0x2f9814))(param_1,param_2,this + 0xa8,param_3,param_4,piVar11,piVar5);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[0xb] = 2;\n    piVar2[10] = 0;\n    piVar2[7] = -1;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar7 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[6] = -1;\n    piVar2[5] = local_60;\n    *piVar2 = iVar7 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_38[0];\n    piVar2[0xd] = *(int *)(in_t9 + 0x2f8d74) + 0x4104;\n    (*pcVar9)(iVar1,piVar2);\n    uVar8 = 2;\n    (**(code **)(in_t9 + 0x2f8d90))(iVar1);\n    if ((*(int *)(iVar1 + 0x44) == 0) && (-1 < *(int *)(iVar1 + 0x98) << 2)) {\n      iVar7 = *(int *)(in_t9 + 0x2f8d74);\n      if (*(int *)(iVar1 + 0x98) << 3 < 0) goto LAB_001c9384;\n      iVar7 = *(int *)(this + 0x198);\n      *(undefined4 *)(iVar1 + 0x40) = *(undefined4 *)(this + 0x188);\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = 0;\n        local_60 = iVar1;\n        if (piVar5 == *(int **)(iVar7 + 0x38)) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }\n        else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }\n      }\n      goto LAB_001c8ec4;\n    }\nLAB_001c9380:\n    iVar7 = *(int *)(in_t9 + 0x2f8d74);\nLAB_001c9384:\n    uVar6 = 0xd07;\n    pcVar9 = *(code **)(in_t9 + 0x2f8d54);\n    iVar7 = iVar7 + 0x4558;\n    iVar4 = *(int *)(in_t9 + 0x2f85a0) + 0x3574;\n    (*pcVar9)(iVar4,0xd07,iVar7);\n    iVar1 = *(int *)(iVar4 + 0x1ac);\n    if (iVar1 == 0) {\n      iVar1 = choose_output_section();\n      if (iVar1 == 0) {\n        return;\n      }\n      uVar3 = (**(code **)(pcVar9 + 0x2f800c))(0x138);\n      (**(code **)(pcVar9 + 0x2f9164))(uVar3,iVar1);\n      pcVar10 = *(code **)(pcVar9 + 0x2f8d68);\n      *(undefined4 *)(iVar4 + 0x1ac) = uVar3;\n      (*pcVar10)(iVar1,uVar3);\n      *(uint *)(iVar1 + 0x98) = *(uint *)(iVar1 + 0x98) & 0xf7ffffff | 0x8000000;\n      iVar1 = *(int *)(iVar4 + 0x1ac);\n    }\n                    \n                    \n    (**(code **)(pcVar9 + 0x2f9160))(iVar1,uVar6,iVar7,uVar8,param_4,piVar11,piVar5,uVar12,uVar13);\n    return;\n  }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    piVar5 = &local_60;\n    piVar11 = local_38;\n    local_30 = piVar5;\n    (**(code **)(in_t9 + 0x2f9814))(param_1,param_2,this + 0xa8,param_3,param_4,piVar11,piVar5);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[0xb] = 2;\n    piVar2[10] = 0;\n    piVar2[7] = -1;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar7 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[6] = -1;\n    piVar2[5] = local_60;\n    *piVar2 = iVar7 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_38[0];\n    piVar2[0xd] = *(int *)(in_t9 + 0x2f8d74) + 0x4104;\n    (*pcVar9)(iVar1,piVar2);\n    uVar8 = 2;\n    (**(code **)(in_t9 + 0x2f8d90))(iVar1);\n    if ((*(int *)(iVar1 + 0x44) == 0) && (-1 < *(int *)(iVar1 + 0x98) << 2)) {\n      iVar7 = *(int *)(in_t9 + 0x2f8d74);\n      if (*(int *)(iVar1 + 0x98) << 3 < 0) goto LAB_001c9384;\n      iVar7 = *(int *)(this + 0x198);\n      *(undefined4 *)(iVar1 + 0x40) = *(undefined4 *)(this + 0x188);\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = 0;\n        local_60 = iVar1;\n        if (piVar5 == *(int **)(iVar7 + 0x38)) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }\n        else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }\n      }\n      goto LAB_001c8ec4;\n    }\nLAB_001c9380:\n    iVar7 = *(int *)(in_t9 + 0x2f8d74);\nLAB_001c9384:\n    uVar6 = 0xd07;\n    pcVar9 = *(code **)(in_t9 + 0x2f8d54);\n    iVar7 = iVar7 + 0x4558;\n    iVar4 = *(int *)(in_t9 + 0x2f85a0) + 0x3574;\n    (*pcVar9)(iVar4,0xd07,iVar7);\n    iVar1 = *(int *)(iVar4 + 0x1ac);\n    if (iVar1 == 0) {\n      iVar1 = choose_output_section();\n      if (iVar1 == 0) {\n        return;\n      }\n      uVar3 = (**(code **)(pcVar9 + 0x2f800c))(0x138);\n      (**(code **)(pcVar9 + 0x2f9164))(uVar3,iVar1);\n      pcVar10 = *(code **)(pcVar9 + 0x2f8d68);\n      *(undefined4 *)(iVar4 + 0x1ac) = uVar3;\n      (*pcVar10)(iVar1,uVar3);\n      *(uint *)(iVar1 + 0x98) = *(uint *)(iVar1 + 0x98) & 0xf7ffffff | 0x8000000;\n      iVar1 = *(int *)(iVar4 + 0x1ac);\n    }\n                    \n                    \n    (**(code **)(pcVar9 + 0x2f9160))(iVar1,uVar6,iVar7,uVar8,param_4,piVar11,piVar5,uVar12,uVar13);\n    return;\n  }" ({ "{") (expression_statement "piVar5 = &local_60;" (assignment_expression "piVar5 = &local_60" (identifier "piVar5") (= "=") (pointer_expression "&local_60" (& "&") (identifier "local_60"))) (; ";")) (expression_statement "piVar11 = local_38;" (assignment_expression "piVar11 = local_38" (identifier "piVar11") (= "=") (identifier "local_38")) (; ";")) (expression_statement "local_30 = piVar5;" (assignment_expression "local_30 = piVar5" (identifier "local_30") (= "=") (identifier "piVar5")) (; ";")) (expression_statement "(**(code **)(in_t9 + 0x2f9814))(param_1,param_2,this + 0xa8,param_3,param_4,piVar11,piVar5);" (call_expression "(**(code **)(in_t9 + 0x2f9814))(param_1,param_2,this + 0xa8,param_3,param_4,piVar11,piVar5)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9814))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x2f9814)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x2f9814)" (* "*") (cast_expression "(code **)(in_t9 + 0x2f9814)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x2f9814)" (( "(") (binary_expression "in_t9 + 0x2f9814" (identifier "in_t9") (+ "+") (number_literal "0x2f9814")) () ")"))))) () ")")) (argument_list "(param_1,param_2,this + 0xa8,param_3,param_4,piVar11,piVar5)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (binary_expression "this + 0xa8" (identifier "this") (+ "+") (number_literal "0xa8")) (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (identifier "piVar11") (, ",") (identifier "piVar5") () ")"))) (; ";")) (expression_statement "piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);" (assignment_expression "piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38)" (identifier "piVar2") (= "=") (cast_expression "(int *)(**(code **)(in_t9 + 0x2f86cc))(0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(in_t9 + 0x2f86cc))(0x38)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f86cc))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x2f86cc)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x2f86cc)" (* "*") (cast_expression "(code **)(in_t9 + 0x2f86cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x2f86cc)" (( "(") (binary_expression "in_t9 + 0x2f86cc" (identifier "in_t9") (+ "+") (number_literal "0x2f86cc")) () ")"))))) () ")")) (argument_list "(0x38)" (( "(") (number_literal "0x38") () ")"))))) (; ";")) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" (identifier "piVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0xb] = 2;" (assignment_expression "piVar2[0xb] = 2" (subscript_expression "piVar2[0xb]" (identifier "piVar2") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "2")) (; ";")) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" (identifier "piVar2") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[7] = -1;" (assignment_expression "piVar2[7] = -1" (subscript_expression "piVar2[7]" (identifier "piVar2") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "*(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;" (assignment_expression "*(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50" (pointer_expression "*(byte *)(piVar2 + 8)" (* "*") (cast_expression "(byte *)(piVar2 + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 8)" (( "(") (binary_expression "piVar2 + 8" (identifier "piVar2") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(byte *)(piVar2 + 8) & 7 | 0x50" (binary_expression "*(byte *)(piVar2 + 8) & 7" (pointer_expression "*(byte *)(piVar2 + 8)" (* "*") (cast_expression "(byte *)(piVar2 + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 8)" (( "(") (binary_expression "piVar2 + 8" (identifier "piVar2") (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "7")) (| "|") (number_literal "0x50"))) (; ";")) (expression_statement "iVar7 = *(int *)(in_t9 + 0x2f965c);" (assignment_expression "iVar7 = *(int *)(in_t9 + 0x2f965c)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(in_t9 + 0x2f965c)" (* "*") (cast_expression "(int *)(in_t9 + 0x2f965c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_t9 + 0x2f965c)" (( "(") (binary_expression "in_t9 + 0x2f965c" (identifier "in_t9") (+ "+") (number_literal "0x2f965c")) () ")"))))) (; ";")) (expression_statement "pcVar9 = *(code **)(in_t9 + 0x2f9428);" (assignment_expression "pcVar9 = *(code **)(in_t9 + 0x2f9428)" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)(in_t9 + 0x2f9428)" (* "*") (cast_expression "(code **)(in_t9 + 0x2f9428)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x2f9428)" (( "(") (binary_expression "in_t9 + 0x2f9428" (identifier "in_t9") (+ "+") (number_literal "0x2f9428")) () ")"))))) (; ";")) (expression_statement "piVar2[6] = -1;" (assignment_expression "piVar2[6] = -1" (subscript_expression "piVar2[6]" (identifier "piVar2") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar2[5] = local_60;" (assignment_expression "piVar2[5] = local_60" (subscript_expression "piVar2[5]" (identifier "piVar2") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "local_60")) (; ";")) (expression_statement "*piVar2 = iVar7 + 8;" (assignment_expression "*piVar2 = iVar7 + 8" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "piVar2[9] = 0;" (assignment_expression "piVar2[9] = 0" (subscript_expression "piVar2[9]" (identifier "piVar2") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" (identifier "piVar2") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0xc] = local_38[0];" (assignment_expression "piVar2[0xc] = local_38[0]" (subscript_expression "piVar2[0xc]" (identifier "piVar2") ([ "[") (number_literal "0xc") (] "]")) (= "=") (subscript_expression "local_38[0]" (identifier "local_38") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "piVar2[0xd] = *(int *)(in_t9 + 0x2f8d74) + 0x4104;" (assignment_expression "piVar2[0xd] = *(int *)(in_t9 + 0x2f8d74) + 0x4104" (subscript_expression "piVar2[0xd]" (identifier "piVar2") ([ "[") (number_literal "0xd") (] "]")) (= "=") (binary_expression "*(int *)(in_t9 + 0x2f8d74) + 0x4104" (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" (* "*") (cast_expression "(int *)(in_t9 + 0x2f8d74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_t9 + 0x2f8d74)" (( "(") (binary_expression "in_t9 + 0x2f8d74" (identifier "in_t9") (+ "+") (number_literal "0x2f8d74")) () ")")))) (+ "+") (number_literal "0x4104"))) (; ";")) (expression_statement "(*pcVar9)(iVar1,piVar2);" (call_expression "(*pcVar9)(iVar1,piVar2)" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(iVar1,piVar2)" (( "(") (identifier "iVar1") (, ",") (identifier "piVar2") () ")"))) (; ";")) (expression_statement "uVar8 = 2;" (assignment_expression "uVar8 = 2" (identifier "uVar8") (= "=") (number_literal "2")) (; ";")) (expression_statement "(**(code **)(in_t9 + 0x2f8d90))(iVar1);" (call_expression "(**(code **)(in_t9 + 0x2f8d90))(iVar1)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f8d90))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x2f8d90)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x2f8d90)" (* "*") (cast_expression "(code **)(in_t9 + 0x2f8d90)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x2f8d90)" (( "(") (binary_expression "in_t9 + 0x2f8d90" (identifier "in_t9") (+ "+") (number_literal "0x2f8d90")) () ")"))))) () ")")) (argument_list "(iVar1)" (( "(") (identifier "iVar1") () ")"))) (; ";")) (if_statement "if ((*(int *)(iVar1 + 0x44) == 0) && (-1 < *(int *)(iVar1 + 0x98) << 2)) {\n      iVar7 = *(int *)(in_t9 + 0x2f8d74);\n      if (*(int *)(iVar1 + 0x98) << 3 < 0) goto LAB_001c9384;\n      iVar7 = *(int *)(this + 0x198);\n      *(undefined4 *)(iVar1 + 0x40) = *(undefined4 *)(this + 0x188);\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = 0;\n        local_60 = iVar1;\n        if (piVar5 == *(int **)(iVar7 + 0x38)) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }\n        else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }\n      }\n      goto LAB_001c8ec4;\n    }" (if "if") (parenthesized_expression "((*(int *)(iVar1 + 0x44) == 0) && (-1 < *(int *)(iVar1 + 0x98) << 2))" (( "(") (binary_expression "(*(int *)(iVar1 + 0x44) == 0) && (-1 < *(int *)(iVar1 + 0x98) << 2)" (parenthesized_expression "(*(int *)(iVar1 + 0x44) == 0)" (( "(") (binary_expression "*(int *)(iVar1 + 0x44) == 0" (pointer_expression "*(int *)(iVar1 + 0x44)" (* "*") (cast_expression "(int *)(iVar1 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x44)" (( "(") (binary_expression "iVar1 + 0x44" (identifier "iVar1") (+ "+") (number_literal "0x44")) () ")")))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(-1 < *(int *)(iVar1 + 0x98) << 2)" (( "(") (binary_expression "-1 < *(int *)(iVar1 + 0x98) << 2" (number_literal "-1") (< "<") (binary_expression "*(int *)(iVar1 + 0x98) << 2" (pointer_expression "*(int *)(iVar1 + 0x98)" (* "*") (cast_expression "(int *)(iVar1 + 0x98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x98)" (( "(") (binary_expression "iVar1 + 0x98" (identifier "iVar1") (+ "+") (number_literal "0x98")) () ")")))) (<< "<<") (number_literal "2"))) () ")"))) () ")")) (compound_statement "{\n      iVar7 = *(int *)(in_t9 + 0x2f8d74);\n      if (*(int *)(iVar1 + 0x98) << 3 < 0) goto LAB_001c9384;\n      iVar7 = *(int *)(this + 0x198);\n      *(undefined4 *)(iVar1 + 0x40) = *(undefined4 *)(this + 0x188);\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = 0;\n        local_60 = iVar1;\n        if (piVar5 == *(int **)(iVar7 + 0x38)) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }\n        else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }\n      }\n      goto LAB_001c8ec4;\n    }" ({ "{") (expression_statement "iVar7 = *(int *)(in_t9 + 0x2f8d74);" (assignment_expression "iVar7 = *(int *)(in_t9 + 0x2f8d74)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" (* "*") (cast_expression "(int *)(in_t9 + 0x2f8d74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_t9 + 0x2f8d74)" (( "(") (binary_expression "in_t9 + 0x2f8d74" (identifier "in_t9") (+ "+") (number_literal "0x2f8d74")) () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar1 + 0x98) << 3 < 0) goto LAB_001c9384;" (if "if") (parenthesized_expression "(*(int *)(iVar1 + 0x98) << 3 < 0)" (( "(") (binary_expression "*(int *)(iVar1 + 0x98) << 3 < 0" (binary_expression "*(int *)(iVar1 + 0x98) << 3" (pointer_expression "*(int *)(iVar1 + 0x98)" (* "*") (cast_expression "(int *)(iVar1 + 0x98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x98)" (( "(") (binary_expression "iVar1 + 0x98" (identifier "iVar1") (+ "+") (number_literal "0x98")) () ")")))) (<< "<<") (number_literal "3")) (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_001c9384;" (goto "goto") (statement_identifier "LAB_001c9384") (; ";"))) (expression_statement "iVar7 = *(int *)(this + 0x198);" (assignment_expression "iVar7 = *(int *)(this + 0x198)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(this + 0x198)" (* "*") (cast_expression "(int *)(this + 0x198)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x198)" (( "(") (binary_expression "this + 0x198" (identifier "this") (+ "+") (number_literal "0x198")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar1 + 0x40) = *(undefined4 *)(this + 0x188);" (assignment_expression "*(undefined4 *)(iVar1 + 0x40) = *(undefined4 *)(this + 0x188)" (pointer_expression "*(undefined4 *)(iVar1 + 0x40)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x40)" (( "(") (binary_expression "iVar1 + 0x40" (identifier "iVar1") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(this + 0x188)" (* "*") (cast_expression "(undefined4 *)(this + 0x188)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x188)" (( "(") (binary_expression "this + 0x188" (identifier "this") (+ "+") (number_literal "0x188")) () ")"))))) (; ";")) (if_statement "if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = 0;\n        local_60 = iVar1;\n        if (piVar5 == *(int **)(iVar7 + 0x38)) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }\n        else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }\n      }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        piVar5 = *(int **)(iVar7 + 0x34);\n        local_58 = 0x6ffffff0;\n        local_54 = 0;\n        local_5c = 0;\n        local_60 = iVar1;\n        if (piVar5 == *(int **)(iVar7 + 0x38)) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }\n        else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }\n      }" ({ "{") (expression_statement "piVar5 = *(int **)(iVar7 + 0x34);" (assignment_expression "piVar5 = *(int **)(iVar7 + 0x34)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(iVar7 + 0x34)" (* "*") (cast_expression "(int **)(iVar7 + 0x34)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x34)" (( "(") (binary_expression "iVar7 + 0x34" (identifier "iVar7") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "local_58 = 0x6ffffff0;" (assignment_expression "local_58 = 0x6ffffff0" (identifier "local_58") (= "=") (number_literal "0x6ffffff0")) (; ";")) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" (identifier "local_54") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" (identifier "local_5c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_60 = iVar1;" (assignment_expression "local_60 = iVar1" (identifier "local_60") (= "=") (identifier "iVar1")) (; ";")) (if_statement "if (piVar5 == *(int **)(iVar7 + 0x38)) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }\n        else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }" (if "if") (parenthesized_expression "(piVar5 == *(int **)(iVar7 + 0x38))" (( "(") (binary_expression "piVar5 == *(int **)(iVar7 + 0x38)" (identifier "piVar5") (== "==") (pointer_expression "*(int **)(iVar7 + 0x38)" (* "*") (cast_expression "(int **)(iVar7 + 0x38)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x38)" (( "(") (binary_expression "iVar7 + 0x38" (identifier "iVar7") (+ "+") (number_literal "0x38")) () ")"))))) () ")")) (compound_statement "{\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);\n        }" ({ "{") (expression_statement "(**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);" (call_expression "(**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9274))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x2f9274)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x2f9274)" (* "*") (cast_expression "(code **)(in_t9 + 0x2f9274)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x2f9274)" (( "(") (binary_expression "in_t9 + 0x2f9274" (identifier "in_t9") (+ "+") (number_literal "0x2f9274")) () ")"))))) () ")")) (argument_list "(iVar7 + 0x30,piVar5,local_30)" (( "(") (binary_expression "iVar7 + 0x30" (identifier "iVar7") (+ "+") (number_literal "0x30")) (, ",") (identifier "piVar5") (, ",") (identifier "local_30") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }" (else "else") (compound_statement "{\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffff0;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar5 + 4;\n        }" ({ "{") (expression_statement "*piVar5 = iVar1;" (assignment_expression "*piVar5 = iVar1" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "piVar5[1] = 0;" (assignment_expression "piVar5[1] = 0" (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar5[2] = 0x6ffffff0;" (assignment_expression "piVar5[2] = 0x6ffffff0" (subscript_expression "piVar5[2]" (identifier "piVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x6ffffff0")) (; ";")) (expression_statement "piVar5[3] = 0;" (assignment_expression "piVar5[3] = 0" (subscript_expression "piVar5[3]" (identifier "piVar5") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int **)(iVar7 + 0x34) = piVar5 + 4;" (assignment_expression "*(int **)(iVar7 + 0x34) = piVar5 + 4" (pointer_expression "*(int **)(iVar7 + 0x34)" (* "*") (cast_expression "(int **)(iVar7 + 0x34)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x34)" (( "(") (binary_expression "iVar7 + 0x34" (identifier "iVar7") (+ "+") (number_literal "0x34")) () ")")))) (= "=") (binary_expression "piVar5 + 4" (identifier "piVar5") (+ "+") (number_literal "4"))) (; ";")) (} "}")))) (} "}"))) (goto_statement "goto LAB_001c8ec4;" (goto "goto") (statement_identifier "LAB_001c8ec4") (; ";")) (} "}"))) (labeled_statement "LAB_001c9380:\n    iVar7 = *(int *)(in_t9 + 0x2f8d74);" (statement_identifier "LAB_001c9380") (: ":") (expression_statement "iVar7 = *(int *)(in_t9 + 0x2f8d74);" (assignment_expression "iVar7 = *(int *)(in_t9 + 0x2f8d74)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" (* "*") (cast_expression "(int *)(in_t9 + 0x2f8d74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_t9 + 0x2f8d74)" (( "(") (binary_expression "in_t9 + 0x2f8d74" (identifier "in_t9") (+ "+") (number_literal "0x2f8d74")) () ")"))))) (; ";"))) (labeled_statement "LAB_001c9384:\n    uVar6 = 0xd07;" (statement_identifier "LAB_001c9384") (: ":") (expression_statement "uVar6 = 0xd07;" (assignment_expression "uVar6 = 0xd07" (identifier "uVar6") (= "=") (number_literal "0xd07")) (; ";"))) (expression_statement "pcVar9 = *(code **)(in_t9 + 0x2f8d54);" (assignment_expression "pcVar9 = *(code **)(in_t9 + 0x2f8d54)" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)(in_t9 + 0x2f8d54)" (* "*") (cast_expression "(code **)(in_t9 + 0x2f8d54)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x2f8d54)" (( "(") (binary_expression "in_t9 + 0x2f8d54" (identifier "in_t9") (+ "+") (number_literal "0x2f8d54")) () ")"))))) (; ";")) (expression_statement "iVar7 = iVar7 + 0x4558;" (assignment_expression "iVar7 = iVar7 + 0x4558" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 0x4558" (identifier "iVar7") (+ "+") (number_literal "0x4558"))) (; ";")) (expression_statement "iVar4 = *(int *)(in_t9 + 0x2f85a0) + 0x3574;" (assignment_expression "iVar4 = *(int *)(in_t9 + 0x2f85a0) + 0x3574" (identifier "iVar4") (= "=") (binary_expression "*(int *)(in_t9 + 0x2f85a0) + 0x3574" (pointer_expression "*(int *)(in_t9 + 0x2f85a0)" (* "*") (cast_expression "(int *)(in_t9 + 0x2f85a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_t9 + 0x2f85a0)" (( "(") (binary_expression "in_t9 + 0x2f85a0" (identifier "in_t9") (+ "+") (number_literal "0x2f85a0")) () ")")))) (+ "+") (number_literal "0x3574"))) (; ";")) (expression_statement "(*pcVar9)(iVar4,0xd07,iVar7);" (call_expression "(*pcVar9)(iVar4,0xd07,iVar7)" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(iVar4,0xd07,iVar7)" (( "(") (identifier "iVar4") (, ",") (number_literal "0xd07") (, ",") (identifier "iVar7") () ")"))) (; ";")) (expression_statement "iVar1 = *(int *)(iVar4 + 0x1ac);" (assignment_expression "iVar1 = *(int *)(iVar4 + 0x1ac)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(iVar4 + 0x1ac)" (* "*") (cast_expression "(int *)(iVar4 + 0x1ac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1ac)" (( "(") (binary_expression "iVar4 + 0x1ac" (identifier "iVar4") (+ "+") (number_literal "0x1ac")) () ")"))))) (; ";")) (if_statement "if (iVar1 == 0) {\n      iVar1 = choose_output_section();\n      if (iVar1 == 0) {\n        return;\n      }\n      uVar3 = (**(code **)(pcVar9 + 0x2f800c))(0x138);\n      (**(code **)(pcVar9 + 0x2f9164))(uVar3,iVar1);\n      pcVar10 = *(code **)(pcVar9 + 0x2f8d68);\n      *(undefined4 *)(iVar4 + 0x1ac) = uVar3;\n      (*pcVar10)(iVar1,uVar3);\n      *(uint *)(iVar1 + 0x98) = *(uint *)(iVar1 + 0x98) & 0xf7ffffff | 0x8000000;\n      iVar1 = *(int *)(iVar4 + 0x1ac);\n    }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar1 = choose_output_section();\n      if (iVar1 == 0) {\n        return;\n      }\n      uVar3 = (**(code **)(pcVar9 + 0x2f800c))(0x138);\n      (**(code **)(pcVar9 + 0x2f9164))(uVar3,iVar1);\n      pcVar10 = *(code **)(pcVar9 + 0x2f8d68);\n      *(undefined4 *)(iVar4 + 0x1ac) = uVar3;\n      (*pcVar10)(iVar1,uVar3);\n      *(uint *)(iVar1 + 0x98) = *(uint *)(iVar1 + 0x98) & 0xf7ffffff | 0x8000000;\n      iVar1 = *(int *)(iVar4 + 0x1ac);\n    }" ({ "{") (expression_statement "iVar1 = choose_output_section();" (assignment_expression "iVar1 = choose_output_section()" (identifier "iVar1") (= "=") (call_expression "choose_output_section()" (identifier "choose_output_section") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n        return;\n      }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar3 = (**(code **)(pcVar9 + 0x2f800c))(0x138);" (assignment_expression "uVar3 = (**(code **)(pcVar9 + 0x2f800c))(0x138)" (identifier "uVar3") (= "=") (call_expression "(**(code **)(pcVar9 + 0x2f800c))(0x138)" (parenthesized_expression "(**(code **)(pcVar9 + 0x2f800c))" (( "(") (pointer_expression "**(code **)(pcVar9 + 0x2f800c)" (* "*") (pointer_expression "*(code **)(pcVar9 + 0x2f800c)" (* "*") (cast_expression "(code **)(pcVar9 + 0x2f800c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x2f800c)" (( "(") (binary_expression "pcVar9 + 0x2f800c" (identifier "pcVar9") (+ "+") (number_literal "0x2f800c")) () ")"))))) () ")")) (argument_list "(0x138)" (( "(") (number_literal "0x138") () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar9 + 0x2f9164))(uVar3,iVar1);" (call_expression "(**(code **)(pcVar9 + 0x2f9164))(uVar3,iVar1)" (parenthesized_expression "(**(code **)(pcVar9 + 0x2f9164))" (( "(") (pointer_expression "**(code **)(pcVar9 + 0x2f9164)" (* "*") (pointer_expression "*(code **)(pcVar9 + 0x2f9164)" (* "*") (cast_expression "(code **)(pcVar9 + 0x2f9164)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x2f9164)" (( "(") (binary_expression "pcVar9 + 0x2f9164" (identifier "pcVar9") (+ "+") (number_literal "0x2f9164")) () ")"))))) () ")")) (argument_list "(uVar3,iVar1)" (( "(") (identifier "uVar3") (, ",") (identifier "iVar1") () ")"))) (; ";")) (expression_statement "pcVar10 = *(code **)(pcVar9 + 0x2f8d68);" (assignment_expression "pcVar10 = *(code **)(pcVar9 + 0x2f8d68)" (identifier "pcVar10") (= "=") (pointer_expression "*(code **)(pcVar9 + 0x2f8d68)" (* "*") (cast_expression "(code **)(pcVar9 + 0x2f8d68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x2f8d68)" (( "(") (binary_expression "pcVar9 + 0x2f8d68" (identifier "pcVar9") (+ "+") (number_literal "0x2f8d68")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar4 + 0x1ac) = uVar3;" (assignment_expression "*(undefined4 *)(iVar4 + 0x1ac) = uVar3" (pointer_expression "*(undefined4 *)(iVar4 + 0x1ac)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x1ac)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1ac)" (( "(") (binary_expression "iVar4 + 0x1ac" (identifier "iVar4") (+ "+") (number_literal "0x1ac")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "(*pcVar10)(iVar1,uVar3);" (call_expression "(*pcVar10)(iVar1,uVar3)" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "(iVar1,uVar3)" (( "(") (identifier "iVar1") (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "*(uint *)(iVar1 + 0x98) = *(uint *)(iVar1 + 0x98) & 0xf7ffffff | 0x8000000;" (assignment_expression "*(uint *)(iVar1 + 0x98) = *(uint *)(iVar1 + 0x98) & 0xf7ffffff | 0x8000000" (pointer_expression "*(uint *)(iVar1 + 0x98)" (* "*") (cast_expression "(uint *)(iVar1 + 0x98)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x98)" (( "(") (binary_expression "iVar1 + 0x98" (identifier "iVar1") (+ "+") (number_literal "0x98")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar1 + 0x98) & 0xf7ffffff | 0x8000000" (binary_expression "*(uint *)(iVar1 + 0x98) & 0xf7ffffff" (pointer_expression "*(uint *)(iVar1 + 0x98)" (* "*") (cast_expression "(uint *)(iVar1 + 0x98)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x98)" (( "(") (binary_expression "iVar1 + 0x98" (identifier "iVar1") (+ "+") (number_literal "0x98")) () ")")))) (& "&") (number_literal "0xf7ffffff")) (| "|") (number_literal "0x8000000"))) (; ";")) (expression_statement "iVar1 = *(int *)(iVar4 + 0x1ac);" (assignment_expression "iVar1 = *(int *)(iVar4 + 0x1ac)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(iVar4 + 0x1ac)" (* "*") (cast_expression "(int *)(iVar4 + 0x1ac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1ac)" (( "(") (binary_expression "iVar4 + 0x1ac" (identifier "iVar4") (+ "+") (number_literal "0x1ac")) () ")"))))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar9 + 0x2f9160))(iVar1,uVar6,iVar7,uVar8,param_4,piVar11,piVar5,uVar12,uVar13);" (call_expression "(**(code **)(pcVar9 + 0x2f9160))(iVar1,uVar6,iVar7,uVar8,param_4,piVar11,piVar5,uVar12,uVar13)" (parenthesized_expression "(**(code **)(pcVar9 + 0x2f9160))" (( "(") (pointer_expression "**(code **)(pcVar9 + 0x2f9160)" (* "*") (pointer_expression "*(code **)(pcVar9 + 0x2f9160)" (* "*") (cast_expression "(code **)(pcVar9 + 0x2f9160)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x2f9160)" (( "(") (binary_expression "pcVar9 + 0x2f9160" (identifier "pcVar9") (+ "+") (number_literal "0x2f9160")) () ")"))))) () ")")) (argument_list "(iVar1,uVar6,iVar7,uVar8,param_4,piVar11,piVar5,uVar12,uVar13)" (( "(") (identifier "iVar1") (, ",") (identifier "uVar6") (, ",") (identifier "iVar7") (, ",") (identifier "uVar8") (, ",") (identifier "param_4") (, ",") (identifier "piVar11") (, ",") (identifier "piVar5") (, ",") (identifier "uVar12") (, ",") (identifier "uVar13") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar7 = *(int *)(this + 0x198);" (assignment_expression "iVar7 = *(int *)(this + 0x198)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(this + 0x198)" (* "*") (cast_expression "(int *)(this + 0x198)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x198)" (( "(") (binary_expression "this + 0x198" (identifier "this") (+ "+") (number_literal "0x198")) () ")"))))) (; ";")) (labeled_statement "LAB_001c8ec4:\n  if (*(int *)param_1 == *(int *)(param_1 + 4)) {\nLAB_001c90ac:\n    if (*(int *)(param_1 + 0xc) == *(int *)(param_1 + 0x10)) {\n      return;\n    }\n    uVar12 = 3;\n    uVar13 = 0;\n    piVar5 = (int *)0x0;\n    piVar11 = (int *)0x2;\n    iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4130,0x6ffffffe,0,2,0,3,0,0,0);\n    if (iVar1 == 0) {\n      return;\n    }\n    param_4 = (vector *)&local_50;\n    (**(code **)(in_t9 + 0x2f981c))(param_1,this + 0xa8,&local_48,&local_4c,param_4);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar4 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = local_4c;\n    uVar8 = 0xffffffff;\n    *piVar2 = iVar4 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_48;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar4 + 0x4140;\n    (*pcVar9)(iVar1,piVar2);\n    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;\n    *(Output_section **)(iVar1 + 0x40) = param_5;\n    if (((*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0)) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_50;\n      if (iVar7 == 0) {\n        return;\n      }\n      piVar5 = *(int **)(iVar7 + 0x34);\n      piVar11 = *(int **)(iVar7 + 0x38);\n      param_1 = (Versions *)(iVar7 + 0x30);\n      local_54 = 0;\n      local_58 = 0x6ffffffe;\n      local_5c = 0;\n      if (piVar5 == piVar11) {\n        local_60 = iVar1;\n        (**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);\n        piVar2 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n      }\n      else {\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }\n      local_58 = 0x6fffffff;\n      local_54 = 0xffffffff;\n      local_60 = local_50;\n      if (piVar2 != piVar11) {\n        *piVar2 = local_50;\n        piVar2[2] = 0x6fffffff;\n        piVar2[1] = local_5c;\n        piVar2[3] = -1;\n        *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        return;\n      }\n      goto LAB_001c9304;\n    }\nLAB_001c92e8:\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n  }\n  else {\n    uVar12 = 3;\n    uVar13 = 0;\n    piVar5 = (int *)0x0;\n    piVar11 = (int *)0x2;\n    iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0);\n    if (iVar1 == 0) goto LAB_001c90ac;\n    param_4 = (vector *)&local_44;\n    (**(code **)(in_t9 + 0x2f9818))(param_1,this + 0xa8,&local_3c,&local_40,param_4);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar4 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = local_40;\n    uVar8 = 0xffffffff;\n    *piVar2 = iVar4 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_3c;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar4 + 0x4120;\n    (*pcVar9)(iVar1,piVar2);\n    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;\n    *(Output_section **)(iVar1 + 0x40) = param_5;\n    if (*(int *)(iVar1 + 0x48) != 0) goto LAB_001c92e8;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    if ((*(int *)(iVar1 + 0x4c) == 0) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_44;\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }\n      goto LAB_001c90ac;\n    }\n  }" (statement_identifier "LAB_001c8ec4") (: ":") (if_statement "if (*(int *)param_1 == *(int *)(param_1 + 4)) {\nLAB_001c90ac:\n    if (*(int *)(param_1 + 0xc) == *(int *)(param_1 + 0x10)) {\n      return;\n    }\n    uVar12 = 3;\n    uVar13 = 0;\n    piVar5 = (int *)0x0;\n    piVar11 = (int *)0x2;\n    iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4130,0x6ffffffe,0,2,0,3,0,0,0);\n    if (iVar1 == 0) {\n      return;\n    }\n    param_4 = (vector *)&local_50;\n    (**(code **)(in_t9 + 0x2f981c))(param_1,this + 0xa8,&local_48,&local_4c,param_4);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar4 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = local_4c;\n    uVar8 = 0xffffffff;\n    *piVar2 = iVar4 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_48;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar4 + 0x4140;\n    (*pcVar9)(iVar1,piVar2);\n    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;\n    *(Output_section **)(iVar1 + 0x40) = param_5;\n    if (((*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0)) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_50;\n      if (iVar7 == 0) {\n        return;\n      }\n      piVar5 = *(int **)(iVar7 + 0x34);\n      piVar11 = *(int **)(iVar7 + 0x38);\n      param_1 = (Versions *)(iVar7 + 0x30);\n      local_54 = 0;\n      local_58 = 0x6ffffffe;\n      local_5c = 0;\n      if (piVar5 == piVar11) {\n        local_60 = iVar1;\n        (**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);\n        piVar2 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n      }\n      else {\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }\n      local_58 = 0x6fffffff;\n      local_54 = 0xffffffff;\n      local_60 = local_50;\n      if (piVar2 != piVar11) {\n        *piVar2 = local_50;\n        piVar2[2] = 0x6fffffff;\n        piVar2[1] = local_5c;\n        piVar2[3] = -1;\n        *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        return;\n      }\n      goto LAB_001c9304;\n    }\nLAB_001c92e8:\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n  }\n  else {\n    uVar12 = 3;\n    uVar13 = 0;\n    piVar5 = (int *)0x0;\n    piVar11 = (int *)0x2;\n    iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0);\n    if (iVar1 == 0) goto LAB_001c90ac;\n    param_4 = (vector *)&local_44;\n    (**(code **)(in_t9 + 0x2f9818))(param_1,this + 0xa8,&local_3c,&local_40,param_4);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar4 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = local_40;\n    uVar8 = 0xffffffff;\n    *piVar2 = iVar4 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_3c;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar4 + 0x4120;\n    (*pcVar9)(iVar1,piVar2);\n    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;\n    *(Output_section **)(iVar1 + 0x40) = param_5;\n    if (*(int *)(iVar1 + 0x48) != 0) goto LAB_001c92e8;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    if ((*(int *)(iVar1 + 0x4c) == 0) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_44;\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }\n      goto LAB_001c90ac;\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)param_1 == *(int *)(param_1 + 4))" (( "(") (binary_expression "*(int *)param_1 == *(int *)(param_1 + 4)" (pointer_expression "*(int *)param_1" (* "*") (cast_expression "(int *)param_1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_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")) () ")"))))) () ")")) (compound_statement "{\nLAB_001c90ac:\n    if (*(int *)(param_1 + 0xc) == *(int *)(param_1 + 0x10)) {\n      return;\n    }\n    uVar12 = 3;\n    uVar13 = 0;\n    piVar5 = (int *)0x0;\n    piVar11 = (int *)0x2;\n    iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4130,0x6ffffffe,0,2,0,3,0,0,0);\n    if (iVar1 == 0) {\n      return;\n    }\n    param_4 = (vector *)&local_50;\n    (**(code **)(in_t9 + 0x2f981c))(param_1,this + 0xa8,&local_48,&local_4c,param_4);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar4 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = local_4c;\n    uVar8 = 0xffffffff;\n    *piVar2 = iVar4 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_48;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar4 + 0x4140;\n    (*pcVar9)(iVar1,piVar2);\n    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;\n    *(Output_section **)(iVar1 + 0x40) = param_5;\n    if (((*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0)) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_50;\n      if (iVar7 == 0) {\n        return;\n      }\n      piVar5 = *(int **)(iVar7 + 0x34);\n      piVar11 = *(int **)(iVar7 + 0x38);\n      param_1 = (Versions *)(iVar7 + 0x30);\n      local_54 = 0;\n      local_58 = 0x6ffffffe;\n      local_5c = 0;\n      if (piVar5 == piVar11) {\n        local_60 = iVar1;\n        (**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);\n        piVar2 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n      }\n      else {\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }\n      local_58 = 0x6fffffff;\n      local_54 = 0xffffffff;\n      local_60 = local_50;\n      if (piVar2 != piVar11) {\n        *piVar2 = local_50;\n        piVar2[2] = 0x6fffffff;\n        piVar2[1] = local_5c;\n        piVar2[3] = -1;\n        *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        return;\n      }\n      goto LAB_001c9304;\n    }\nLAB_001c92e8:\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n  }" ({ "{") (labeled_statement "LAB_001c90ac:\n    if (*(int *)(param_1 + 0xc) == *(int *)(param_1 + 0x10)) {\n      return;\n    }" (statement_identifier "LAB_001c90ac") (: ":") (if_statement "if (*(int *)(param_1 + 0xc) == *(int *)(param_1 + 0x10)) {\n      return;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0xc) == *(int *)(param_1 + 0x10))" (( "(") (binary_expression "*(int *)(param_1 + 0xc) == *(int *)(param_1 + 0x10)" (pointer_expression "*(int *)(param_1 + 0xc)" (* "*") (cast_expression "(int *)(param_1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}")))) (expression_statement "uVar12 = 3;" (assignment_expression "uVar12 = 3" (identifier "uVar12") (= "=") (number_literal "3")) (; ";")) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar5 = (int *)0x0;" (assignment_expression "piVar5 = (int *)0x0" (identifier "piVar5") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "piVar11 = (int *)0x2;" (assignment_expression "piVar11 = (int *)0x2" (identifier "piVar11") (= "=") (cast_expression "(int *)0x2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) (; ";")) (expression_statement "iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4130,0x6ffffffe,0,2,0,3,0,0,0);" (assignment_expression "iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4130,0x6ffffffe,0,2,0,3,0,0,0)" (identifier "iVar1") (= "=") (call_expression "choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4130,0x6ffffffe,0,2,0,3,0,0,0)" (identifier "choose_output_section") (argument_list "(this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4130,0x6ffffffe,0,2,0,3,0,0,0)" (( "(") (identifier "this") (, ",") (number_literal "0") (, ",") (binary_expression "*(int *)(in_t9 + 0x2f8d74) + 0x4130" (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" (* "*") (cast_expression "(int *)(in_t9 + 0x2f8d74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_t9 + 0x2f8d74)" (( "(") (binary_expression "in_t9 + 0x2f8d74" (identifier "in_t9") (+ "+") (number_literal "0x2f8d74")) () ")")))) (+ "+") (number_literal "0x4130")) (, ",") (number_literal "0x6ffffffe") (, ",") (number_literal "0") (, ",") (number_literal "2") (, ",") (number_literal "0") (, ",") (number_literal "3") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n      return;\n    }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "param_4 = (vector *)&local_50;" (assignment_expression "param_4 = (vector *)&local_50" (identifier "param_4") (= "=") (cast_expression "(vector *)&local_50" (( "(") (type_descriptor "vector *" (type_identifier "vector") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_50" (& "&") (identifier "local_50")))) (; ";")) (expression_statement "(**(code **)(in_t9 + 0x2f981c))(param_1,this + 0xa8,&local_48,&local_4c,param_4);" (call_expression "(**(code **)(in_t9 + 0x2f981c))(param_1,this + 0xa8,&local_48,&local_4c,param_4)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f981c))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x2f981c)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x2f981c)" (* "*") (cast_expression "(code **)(in_t9 + 0x2f981c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x2f981c)" (( "(") (binary_expression "in_t9 + 0x2f981c" (identifier "in_t9") (+ "+") (number_literal "0x2f981c")) () ")"))))) () ")")) (argument_list "(param_1,this + 0xa8,&local_48,&local_4c,param_4)" (( "(") (identifier "param_1") (, ",") (binary_expression "this + 0xa8" (identifier "this") (+ "+") (number_literal "0xa8")) (, ",") (pointer_expression "&local_48" (& "&") (identifier "local_48")) (, ",") (pointer_expression "&local_4c" (& "&") (identifier "local_4c")) (, ",") (identifier "param_4") () ")"))) (; ";")) (expression_statement "piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);" (assignment_expression "piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38)" (identifier "piVar2") (= "=") (cast_expression "(int *)(**(code **)(in_t9 + 0x2f86cc))(0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(in_t9 + 0x2f86cc))(0x38)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f86cc))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x2f86cc)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x2f86cc)" (* "*") (cast_expression "(code **)(in_t9 + 0x2f86cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x2f86cc)" (( "(") (binary_expression "in_t9 + 0x2f86cc" (identifier "in_t9") (+ "+") (number_literal "0x2f86cc")) () ")"))))) () ")")) (argument_list "(0x38)" (( "(") (number_literal "0x38") () ")"))))) (; ";")) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" (identifier "piVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" (identifier "piVar2") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;" (assignment_expression "*(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50" (pointer_expression "*(byte *)(piVar2 + 8)" (* "*") (cast_expression "(byte *)(piVar2 + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 8)" (( "(") (binary_expression "piVar2 + 8" (identifier "piVar2") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(byte *)(piVar2 + 8) & 7 | 0x50" (binary_expression "*(byte *)(piVar2 + 8) & 7" (pointer_expression "*(byte *)(piVar2 + 8)" (* "*") (cast_expression "(byte *)(piVar2 + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 8)" (( "(") (binary_expression "piVar2 + 8" (identifier "piVar2") (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "7")) (| "|") (number_literal "0x50"))) (; ";")) (expression_statement "iVar4 = *(int *)(in_t9 + 0x2f965c);" (assignment_expression "iVar4 = *(int *)(in_t9 + 0x2f965c)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(in_t9 + 0x2f965c)" (* "*") (cast_expression "(int *)(in_t9 + 0x2f965c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_t9 + 0x2f965c)" (( "(") (binary_expression "in_t9 + 0x2f965c" (identifier "in_t9") (+ "+") (number_literal "0x2f965c")) () ")"))))) (; ";")) (expression_statement "pcVar9 = *(code **)(in_t9 + 0x2f9428);" (assignment_expression "pcVar9 = *(code **)(in_t9 + 0x2f9428)" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)(in_t9 + 0x2f9428)" (* "*") (cast_expression "(code **)(in_t9 + 0x2f9428)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x2f9428)" (( "(") (binary_expression "in_t9 + 0x2f9428" (identifier "in_t9") (+ "+") (number_literal "0x2f9428")) () ")"))))) (; ";")) (expression_statement "piVar2[0xb] = 4;" (assignment_expression "piVar2[0xb] = 4" (subscript_expression "piVar2[0xb]" (identifier "piVar2") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "4")) (; ";")) (expression_statement "piVar2[5] = local_4c;" (assignment_expression "piVar2[5] = local_4c" (subscript_expression "piVar2[5]" (identifier "piVar2") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "local_4c")) (; ";")) (expression_statement "uVar8 = 0xffffffff;" (assignment_expression "uVar8 = 0xffffffff" (identifier "uVar8") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "*piVar2 = iVar4 + 8;" (assignment_expression "*piVar2 = iVar4 + 8" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "piVar2[9] = 0;" (assignment_expression "piVar2[9] = 0" (subscript_expression "piVar2[9]" (identifier "piVar2") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" (identifier "piVar2") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0xc] = local_48;" (assignment_expression "piVar2[0xc] = local_48" (subscript_expression "piVar2[0xc]" (identifier "piVar2") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "local_48")) (; ";")) (expression_statement "iVar4 = *(int *)(in_t9 + 0x2f8d74);" (assignment_expression "iVar4 = *(int *)(in_t9 + 0x2f8d74)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" (* "*") (cast_expression "(int *)(in_t9 + 0x2f8d74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_t9 + 0x2f8d74)" (( "(") (binary_expression "in_t9 + 0x2f8d74" (identifier "in_t9") (+ "+") (number_literal "0x2f8d74")) () ")"))))) (; ";")) (expression_statement "piVar2[7] = -1;" (assignment_expression "piVar2[7] = -1" (subscript_expression "piVar2[7]" (identifier "piVar2") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar2[6] = -1;" (assignment_expression "piVar2[6] = -1" (subscript_expression "piVar2[6]" (identifier "piVar2") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar2[0xd] = iVar4 + 0x4140;" (assignment_expression "piVar2[0xd] = iVar4 + 0x4140" (subscript_expression "piVar2[0xd]" (identifier "piVar2") ([ "[") (number_literal "0xd") (] "]")) (= "=") (binary_expression "iVar4 + 0x4140" (identifier "iVar4") (+ "+") (number_literal "0x4140"))) (; ";")) (expression_statement "(*pcVar9)(iVar1,piVar2);" (call_expression "(*pcVar9)(iVar1,piVar2)" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(iVar1,piVar2)" (( "(") (identifier "iVar1") (, ",") (identifier "piVar2") () ")"))) (; ";")) (if_statement "if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;" (if "if") (parenthesized_expression "(((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0))" (( "(") (binary_expression "((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)" (parenthesized_expression "((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0))" (( "(") (binary_expression "(*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)" (parenthesized_expression "(*(int *)(iVar1 + 0x44) != 0)" (( "(") (binary_expression "*(int *)(iVar1 + 0x44) != 0" (pointer_expression "*(int *)(iVar1 + 0x44)" (* "*") (cast_expression "(int *)(iVar1 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x44)" (( "(") (binary_expression "iVar1 + 0x44" (identifier "iVar1") (+ "+") (number_literal "0x44")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(iVar1 + 0x98) << 2 < 0)" (( "(") (binary_expression "*(int *)(iVar1 + 0x98) << 2 < 0" (binary_expression "*(int *)(iVar1 + 0x98) << 2" (pointer_expression "*(int *)(iVar1 + 0x98)" (* "*") (cast_expression "(int *)(iVar1 + 0x98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x98)" (( "(") (binary_expression "iVar1 + 0x98" (identifier "iVar1") (+ "+") (number_literal "0x98")) () ")")))) (<< "<<") (number_literal "2")) (< "<") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(*(int *)(iVar1 + 0x98) << 3 < 0)" (( "(") (binary_expression "*(int *)(iVar1 + 0x98) << 3 < 0" (binary_expression "*(int *)(iVar1 + 0x98) << 3" (pointer_expression "*(int *)(iVar1 + 0x98)" (* "*") (cast_expression "(int *)(iVar1 + 0x98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x98)" (( "(") (binary_expression "iVar1 + 0x98" (identifier "iVar1") (+ "+") (number_literal "0x98")) () ")")))) (<< "<<") (number_literal "3")) (< "<") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_001c9380;" (goto "goto") (statement_identifier "LAB_001c9380") (; ";"))) (expression_statement "*(Output_section **)(iVar1 + 0x40) = param_5;" (assignment_expression "*(Output_section **)(iVar1 + 0x40) = param_5" (pointer_expression "*(Output_section **)(iVar1 + 0x40)" (* "*") (cast_expression "(Output_section **)(iVar1 + 0x40)" (( "(") (type_descriptor "Output_section **" (type_identifier "Output_section") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar1 + 0x40)" (( "(") (binary_expression "iVar1 + 0x40" (identifier "iVar1") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "param_5")) (; ";")) (if_statement "if (((*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0)) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_50;\n      if (iVar7 == 0) {\n        return;\n      }\n      piVar5 = *(int **)(iVar7 + 0x34);\n      piVar11 = *(int **)(iVar7 + 0x38);\n      param_1 = (Versions *)(iVar7 + 0x30);\n      local_54 = 0;\n      local_58 = 0x6ffffffe;\n      local_5c = 0;\n      if (piVar5 == piVar11) {\n        local_60 = iVar1;\n        (**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);\n        piVar2 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n      }\n      else {\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }\n      local_58 = 0x6fffffff;\n      local_54 = 0xffffffff;\n      local_60 = local_50;\n      if (piVar2 != piVar11) {\n        *piVar2 = local_50;\n        piVar2[2] = 0x6fffffff;\n        piVar2[1] = local_5c;\n        piVar2[3] = -1;\n        *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        return;\n      }\n      goto LAB_001c9304;\n    }" (if "if") (parenthesized_expression "(((*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0)) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50)))))" (( "(") (binary_expression "((*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0)) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50))))" (parenthesized_expression "((*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0))" (( "(") (binary_expression "(*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0)" (parenthesized_expression "(*(int *)(iVar1 + 0x48) == 0)" (( "(") (binary_expression "*(int *)(iVar1 + 0x48) == 0" (pointer_expression "*(int *)(iVar1 + 0x48)" (* "*") (cast_expression "(int *)(iVar1 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x48)" (( "(") (binary_expression "iVar1 + 0x48" (identifier "iVar1") (+ "+") (number_literal "0x48")) () ")")))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(iVar1 + 0x4c) == 0)" (( "(") (binary_expression "*(int *)(iVar1 + 0x4c) == 0" (pointer_expression "*(int *)(iVar1 + 0x4c)" (* "*") (cast_expression "(int *)(iVar1 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x4c)" (( "(") (binary_expression "iVar1 + 0x4c" (identifier "iVar1") (+ "+") (number_literal "0x4c")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50))))" (( "(") (parenthesized_expression "(*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50)))" (( "(") (binary_expression "*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50))" (binary_expression "*(int *)(iVar1 + 0x50) == 0" (pointer_expression "*(int *)(iVar1 + 0x50)" (* "*") (cast_expression "(int *)(iVar1 + 0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")")))) (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "(local_50 == *(int *)(iVar1 + 0x50))" (( "(") (binary_expression "local_50 == *(int *)(iVar1 + 0x50)" (identifier "local_50") (== "==") (pointer_expression "*(int *)(iVar1 + 0x50)" (* "*") (cast_expression "(int *)(iVar1 + 0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")"))))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      *(int *)(iVar1 + 0x50) = local_50;\n      if (iVar7 == 0) {\n        return;\n      }\n      piVar5 = *(int **)(iVar7 + 0x34);\n      piVar11 = *(int **)(iVar7 + 0x38);\n      param_1 = (Versions *)(iVar7 + 0x30);\n      local_54 = 0;\n      local_58 = 0x6ffffffe;\n      local_5c = 0;\n      if (piVar5 == piVar11) {\n        local_60 = iVar1;\n        (**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);\n        piVar2 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n      }\n      else {\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }\n      local_58 = 0x6fffffff;\n      local_54 = 0xffffffff;\n      local_60 = local_50;\n      if (piVar2 != piVar11) {\n        *piVar2 = local_50;\n        piVar2[2] = 0x6fffffff;\n        piVar2[1] = local_5c;\n        piVar2[3] = -1;\n        *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        return;\n      }\n      goto LAB_001c9304;\n    }" ({ "{") (expression_statement "*(int *)(iVar1 + 0x50) = local_50;" (assignment_expression "*(int *)(iVar1 + 0x50) = local_50" (pointer_expression "*(int *)(iVar1 + 0x50)" (* "*") (cast_expression "(int *)(iVar1 + 0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (identifier "local_50")) (; ";")) (if_statement "if (iVar7 == 0) {\n        return;\n      }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "piVar5 = *(int **)(iVar7 + 0x34);" (assignment_expression "piVar5 = *(int **)(iVar7 + 0x34)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(iVar7 + 0x34)" (* "*") (cast_expression "(int **)(iVar7 + 0x34)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x34)" (( "(") (binary_expression "iVar7 + 0x34" (identifier "iVar7") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "piVar11 = *(int **)(iVar7 + 0x38);" (assignment_expression "piVar11 = *(int **)(iVar7 + 0x38)" (identifier "piVar11") (= "=") (pointer_expression "*(int **)(iVar7 + 0x38)" (* "*") (cast_expression "(int **)(iVar7 + 0x38)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x38)" (( "(") (binary_expression "iVar7 + 0x38" (identifier "iVar7") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "param_1 = (Versions *)(iVar7 + 0x30);" (assignment_expression "param_1 = (Versions *)(iVar7 + 0x30)" (identifier "param_1") (= "=") (cast_expression "(Versions *)(iVar7 + 0x30)" (( "(") (type_descriptor "Versions *" (type_identifier "Versions") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x30)" (( "(") (binary_expression "iVar7 + 0x30" (identifier "iVar7") (+ "+") (number_literal "0x30")) () ")")))) (; ";")) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" (identifier "local_54") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_58 = 0x6ffffffe;" (assignment_expression "local_58 = 0x6ffffffe" (identifier "local_58") (= "=") (number_literal "0x6ffffffe")) (; ";")) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" (identifier "local_5c") (= "=") (number_literal "0")) (; ";")) (if_statement "if (piVar5 == piVar11) {\n        local_60 = iVar1;\n        (**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);\n        piVar2 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n      }\n      else {\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }" (if "if") (parenthesized_expression "(piVar5 == piVar11)" (( "(") (binary_expression "piVar5 == piVar11" (identifier "piVar5") (== "==") (identifier "piVar11")) () ")")) (compound_statement "{\n        local_60 = iVar1;\n        (**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);\n        piVar2 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n      }" ({ "{") (expression_statement "local_60 = iVar1;" (assignment_expression "local_60 = iVar1" (identifier "local_60") (= "=") (identifier "iVar1")) (; ";")) (expression_statement "(**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);" (call_expression "(**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9274))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x2f9274)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x2f9274)" (* "*") (cast_expression "(code **)(in_t9 + 0x2f9274)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x2f9274)" (( "(") (binary_expression "in_t9 + 0x2f9274" (identifier "in_t9") (+ "+") (number_literal "0x2f9274")) () ")"))))) () ")")) (argument_list "(param_1,piVar11,&local_60)" (( "(") (identifier "param_1") (, ",") (identifier "piVar11") (, ",") (pointer_expression "&local_60" (& "&") (identifier "local_60")) () ")"))) (; ";")) (expression_statement "piVar2 = *(int **)(iVar7 + 0x34);" (assignment_expression "piVar2 = *(int **)(iVar7 + 0x34)" (identifier "piVar2") (= "=") (pointer_expression "*(int **)(iVar7 + 0x34)" (* "*") (cast_expression "(int **)(iVar7 + 0x34)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x34)" (( "(") (binary_expression "iVar7 + 0x34" (identifier "iVar7") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "piVar11 = *(int **)(iVar7 + 0x38);" (assignment_expression "piVar11 = *(int **)(iVar7 + 0x38)" (identifier "piVar11") (= "=") (pointer_expression "*(int **)(iVar7 + 0x38)" (* "*") (cast_expression "(int **)(iVar7 + 0x38)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x38)" (( "(") (binary_expression "iVar7 + 0x38" (identifier "iVar7") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }" (else "else") (compound_statement "{\n        piVar2 = piVar5 + 4;\n        *piVar5 = iVar1;\n        piVar5[1] = 0;\n        piVar5[2] = 0x6ffffffe;\n        piVar5[3] = 0;\n        *(int **)(iVar7 + 0x34) = piVar2;\n      }" ({ "{") (expression_statement "piVar2 = piVar5 + 4;" (assignment_expression "piVar2 = piVar5 + 4" (identifier "piVar2") (= "=") (binary_expression "piVar5 + 4" (identifier "piVar5") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*piVar5 = iVar1;" (assignment_expression "*piVar5 = iVar1" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "piVar5[1] = 0;" (assignment_expression "piVar5[1] = 0" (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar5[2] = 0x6ffffffe;" (assignment_expression "piVar5[2] = 0x6ffffffe" (subscript_expression "piVar5[2]" (identifier "piVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x6ffffffe")) (; ";")) (expression_statement "piVar5[3] = 0;" (assignment_expression "piVar5[3] = 0" (subscript_expression "piVar5[3]" (identifier "piVar5") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int **)(iVar7 + 0x34) = piVar2;" (assignment_expression "*(int **)(iVar7 + 0x34) = piVar2" (pointer_expression "*(int **)(iVar7 + 0x34)" (* "*") (cast_expression "(int **)(iVar7 + 0x34)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x34)" (( "(") (binary_expression "iVar7 + 0x34" (identifier "iVar7") (+ "+") (number_literal "0x34")) () ")")))) (= "=") (identifier "piVar2")) (; ";")) (} "}")))) (expression_statement "local_58 = 0x6fffffff;" (assignment_expression "local_58 = 0x6fffffff" (identifier "local_58") (= "=") (number_literal "0x6fffffff")) (; ";")) (expression_statement "local_54 = 0xffffffff;" (assignment_expression "local_54 = 0xffffffff" (identifier "local_54") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "local_60 = local_50;" (assignment_expression "local_60 = local_50" (identifier "local_60") (= "=") (identifier "local_50")) (; ";")) (if_statement "if (piVar2 != piVar11) {\n        *piVar2 = local_50;\n        piVar2[2] = 0x6fffffff;\n        piVar2[1] = local_5c;\n        piVar2[3] = -1;\n        *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        return;\n      }" (if "if") (parenthesized_expression "(piVar2 != piVar11)" (( "(") (binary_expression "piVar2 != piVar11" (identifier "piVar2") (!= "!=") (identifier "piVar11")) () ")")) (compound_statement "{\n        *piVar2 = local_50;\n        piVar2[2] = 0x6fffffff;\n        piVar2[1] = local_5c;\n        piVar2[3] = -1;\n        *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        return;\n      }" ({ "{") (expression_statement "*piVar2 = local_50;" (assignment_expression "*piVar2 = local_50" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (identifier "local_50")) (; ";")) (expression_statement "piVar2[2] = 0x6fffffff;" (assignment_expression "piVar2[2] = 0x6fffffff" (subscript_expression "piVar2[2]" (identifier "piVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x6fffffff")) (; ";")) (expression_statement "piVar2[1] = local_5c;" (assignment_expression "piVar2[1] = local_5c" (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_5c")) (; ";")) (expression_statement "piVar2[3] = -1;" (assignment_expression "piVar2[3] = -1" (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "*(int **)(iVar7 + 0x34) = piVar2 + 4;" (assignment_expression "*(int **)(iVar7 + 0x34) = piVar2 + 4" (pointer_expression "*(int **)(iVar7 + 0x34)" (* "*") (cast_expression "(int **)(iVar7 + 0x34)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x34)" (( "(") (binary_expression "iVar7 + 0x34" (identifier "iVar7") (+ "+") (number_literal "0x34")) () ")")))) (= "=") (binary_expression "piVar2 + 4" (identifier "piVar2") (+ "+") (number_literal "4"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (goto_statement "goto LAB_001c9304;" (goto "goto") (statement_identifier "LAB_001c9304") (; ";")) (} "}"))) (labeled_statement "LAB_001c92e8:\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);" (statement_identifier "LAB_001c92e8") (: ":") (expression_statement "iVar4 = *(int *)(in_t9 + 0x2f8d74);" (assignment_expression "iVar4 = *(int *)(in_t9 + 0x2f8d74)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" (* "*") (cast_expression "(int *)(in_t9 + 0x2f8d74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_t9 + 0x2f8d74)" (( "(") (binary_expression "in_t9 + 0x2f8d74" (identifier "in_t9") (+ "+") (number_literal "0x2f8d74")) () ")"))))) (; ";"))) (} "}")) (else_clause "else {\n    uVar12 = 3;\n    uVar13 = 0;\n    piVar5 = (int *)0x0;\n    piVar11 = (int *)0x2;\n    iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0);\n    if (iVar1 == 0) goto LAB_001c90ac;\n    param_4 = (vector *)&local_44;\n    (**(code **)(in_t9 + 0x2f9818))(param_1,this + 0xa8,&local_3c,&local_40,param_4);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar4 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = local_40;\n    uVar8 = 0xffffffff;\n    *piVar2 = iVar4 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_3c;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar4 + 0x4120;\n    (*pcVar9)(iVar1,piVar2);\n    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;\n    *(Output_section **)(iVar1 + 0x40) = param_5;\n    if (*(int *)(iVar1 + 0x48) != 0) goto LAB_001c92e8;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    if ((*(int *)(iVar1 + 0x4c) == 0) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_44;\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }\n      goto LAB_001c90ac;\n    }\n  }" (else "else") (compound_statement "{\n    uVar12 = 3;\n    uVar13 = 0;\n    piVar5 = (int *)0x0;\n    piVar11 = (int *)0x2;\n    iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0);\n    if (iVar1 == 0) goto LAB_001c90ac;\n    param_4 = (vector *)&local_44;\n    (**(code **)(in_t9 + 0x2f9818))(param_1,this + 0xa8,&local_3c,&local_40,param_4);\n    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);\n    piVar2[2] = 0;\n    piVar2[3] = 0;\n    piVar2[10] = 0;\n    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;\n    iVar4 = *(int *)(in_t9 + 0x2f965c);\n    pcVar9 = *(code **)(in_t9 + 0x2f9428);\n    piVar2[0xb] = 4;\n    piVar2[5] = local_40;\n    uVar8 = 0xffffffff;\n    *piVar2 = iVar4 + 8;\n    piVar2[9] = 0;\n    piVar2[4] = 0;\n    piVar2[0xc] = local_3c;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    piVar2[7] = -1;\n    piVar2[6] = -1;\n    piVar2[0xd] = iVar4 + 0x4120;\n    (*pcVar9)(iVar1,piVar2);\n    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;\n    *(Output_section **)(iVar1 + 0x40) = param_5;\n    if (*(int *)(iVar1 + 0x48) != 0) goto LAB_001c92e8;\n    iVar4 = *(int *)(in_t9 + 0x2f8d74);\n    if ((*(int *)(iVar1 + 0x4c) == 0) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_44;\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }\n      goto LAB_001c90ac;\n    }\n  }" ({ "{") (expression_statement "uVar12 = 3;" (assignment_expression "uVar12 = 3" (identifier "uVar12") (= "=") (number_literal "3")) (; ";")) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar5 = (int *)0x0;" (assignment_expression "piVar5 = (int *)0x0" (identifier "piVar5") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "piVar11 = (int *)0x2;" (assignment_expression "piVar11 = (int *)0x2" (identifier "piVar11") (= "=") (cast_expression "(int *)0x2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) (; ";")) (expression_statement "iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0);" (assignment_expression "iVar1 = choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0)" (identifier "iVar1") (= "=") (call_expression "choose_output_section\n                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0)" (identifier "choose_output_section") (argument_list "(this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0)" (( "(") (identifier "this") (, ",") (number_literal "0") (, ",") (binary_expression "*(int *)(in_t9 + 0x2f8d74) + 0x4110" (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" (* "*") (cast_expression "(int *)(in_t9 + 0x2f8d74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_t9 + 0x2f8d74)" (( "(") (binary_expression "in_t9 + 0x2f8d74" (identifier "in_t9") (+ "+") (number_literal "0x2f8d74")) () ")")))) (+ "+") (number_literal "0x4110")) (, ",") (number_literal "0x6ffffffd") (, ",") (number_literal "0") (, ",") (number_literal "2") (, ",") (number_literal "0") (, ",") (number_literal "3") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) goto LAB_001c90ac;" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001c90ac;" (goto "goto") (statement_identifier "LAB_001c90ac") (; ";"))) (expression_statement "param_4 = (vector *)&local_44;" (assignment_expression "param_4 = (vector *)&local_44" (identifier "param_4") (= "=") (cast_expression "(vector *)&local_44" (( "(") (type_descriptor "vector *" (type_identifier "vector") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_44" (& "&") (identifier "local_44")))) (; ";")) (expression_statement "(**(code **)(in_t9 + 0x2f9818))(param_1,this + 0xa8,&local_3c,&local_40,param_4);" (call_expression "(**(code **)(in_t9 + 0x2f9818))(param_1,this + 0xa8,&local_3c,&local_40,param_4)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9818))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x2f9818)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x2f9818)" (* "*") (cast_expression "(code **)(in_t9 + 0x2f9818)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x2f9818)" (( "(") (binary_expression "in_t9 + 0x2f9818" (identifier "in_t9") (+ "+") (number_literal "0x2f9818")) () ")"))))) () ")")) (argument_list "(param_1,this + 0xa8,&local_3c,&local_40,param_4)" (( "(") (identifier "param_1") (, ",") (binary_expression "this + 0xa8" (identifier "this") (+ "+") (number_literal "0xa8")) (, ",") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) (, ",") (pointer_expression "&local_40" (& "&") (identifier "local_40")) (, ",") (identifier "param_4") () ")"))) (; ";")) (expression_statement "piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);" (assignment_expression "piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38)" (identifier "piVar2") (= "=") (cast_expression "(int *)(**(code **)(in_t9 + 0x2f86cc))(0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(in_t9 + 0x2f86cc))(0x38)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f86cc))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x2f86cc)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x2f86cc)" (* "*") (cast_expression "(code **)(in_t9 + 0x2f86cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x2f86cc)" (( "(") (binary_expression "in_t9 + 0x2f86cc" (identifier "in_t9") (+ "+") (number_literal "0x2f86cc")) () ")"))))) () ")")) (argument_list "(0x38)" (( "(") (number_literal "0x38") () ")"))))) (; ";")) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" (identifier "piVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" (identifier "piVar2") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;" (assignment_expression "*(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50" (pointer_expression "*(byte *)(piVar2 + 8)" (* "*") (cast_expression "(byte *)(piVar2 + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 8)" (( "(") (binary_expression "piVar2 + 8" (identifier "piVar2") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(byte *)(piVar2 + 8) & 7 | 0x50" (binary_expression "*(byte *)(piVar2 + 8) & 7" (pointer_expression "*(byte *)(piVar2 + 8)" (* "*") (cast_expression "(byte *)(piVar2 + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 8)" (( "(") (binary_expression "piVar2 + 8" (identifier "piVar2") (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "7")) (| "|") (number_literal "0x50"))) (; ";")) (expression_statement "iVar4 = *(int *)(in_t9 + 0x2f965c);" (assignment_expression "iVar4 = *(int *)(in_t9 + 0x2f965c)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(in_t9 + 0x2f965c)" (* "*") (cast_expression "(int *)(in_t9 + 0x2f965c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_t9 + 0x2f965c)" (( "(") (binary_expression "in_t9 + 0x2f965c" (identifier "in_t9") (+ "+") (number_literal "0x2f965c")) () ")"))))) (; ";")) (expression_statement "pcVar9 = *(code **)(in_t9 + 0x2f9428);" (assignment_expression "pcVar9 = *(code **)(in_t9 + 0x2f9428)" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)(in_t9 + 0x2f9428)" (* "*") (cast_expression "(code **)(in_t9 + 0x2f9428)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x2f9428)" (( "(") (binary_expression "in_t9 + 0x2f9428" (identifier "in_t9") (+ "+") (number_literal "0x2f9428")) () ")"))))) (; ";")) (expression_statement "piVar2[0xb] = 4;" (assignment_expression "piVar2[0xb] = 4" (subscript_expression "piVar2[0xb]" (identifier "piVar2") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "4")) (; ";")) (expression_statement "piVar2[5] = local_40;" (assignment_expression "piVar2[5] = local_40" (subscript_expression "piVar2[5]" (identifier "piVar2") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "local_40")) (; ";")) (expression_statement "uVar8 = 0xffffffff;" (assignment_expression "uVar8 = 0xffffffff" (identifier "uVar8") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "*piVar2 = iVar4 + 8;" (assignment_expression "*piVar2 = iVar4 + 8" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "piVar2[9] = 0;" (assignment_expression "piVar2[9] = 0" (subscript_expression "piVar2[9]" (identifier "piVar2") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" (identifier "piVar2") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0xc] = local_3c;" (assignment_expression "piVar2[0xc] = local_3c" (subscript_expression "piVar2[0xc]" (identifier "piVar2") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "local_3c")) (; ";")) (expression_statement "iVar4 = *(int *)(in_t9 + 0x2f8d74);" (assignment_expression "iVar4 = *(int *)(in_t9 + 0x2f8d74)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" (* "*") (cast_expression "(int *)(in_t9 + 0x2f8d74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_t9 + 0x2f8d74)" (( "(") (binary_expression "in_t9 + 0x2f8d74" (identifier "in_t9") (+ "+") (number_literal "0x2f8d74")) () ")"))))) (; ";")) (expression_statement "piVar2[7] = -1;" (assignment_expression "piVar2[7] = -1" (subscript_expression "piVar2[7]" (identifier "piVar2") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar2[6] = -1;" (assignment_expression "piVar2[6] = -1" (subscript_expression "piVar2[6]" (identifier "piVar2") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar2[0xd] = iVar4 + 0x4120;" (assignment_expression "piVar2[0xd] = iVar4 + 0x4120" (subscript_expression "piVar2[0xd]" (identifier "piVar2") ([ "[") (number_literal "0xd") (] "]")) (= "=") (binary_expression "iVar4 + 0x4120" (identifier "iVar4") (+ "+") (number_literal "0x4120"))) (; ";")) (expression_statement "(*pcVar9)(iVar1,piVar2);" (call_expression "(*pcVar9)(iVar1,piVar2)" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(iVar1,piVar2)" (( "(") (identifier "iVar1") (, ",") (identifier "piVar2") () ")"))) (; ";")) (if_statement "if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;" (if "if") (parenthesized_expression "(((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0))" (( "(") (binary_expression "((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||\n       (*(int *)(iVar1 + 0x98) << 3 < 0)" (parenthesized_expression "((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0))" (( "(") (binary_expression "(*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)" (parenthesized_expression "(*(int *)(iVar1 + 0x44) != 0)" (( "(") (binary_expression "*(int *)(iVar1 + 0x44) != 0" (pointer_expression "*(int *)(iVar1 + 0x44)" (* "*") (cast_expression "(int *)(iVar1 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x44)" (( "(") (binary_expression "iVar1 + 0x44" (identifier "iVar1") (+ "+") (number_literal "0x44")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(iVar1 + 0x98) << 2 < 0)" (( "(") (binary_expression "*(int *)(iVar1 + 0x98) << 2 < 0" (binary_expression "*(int *)(iVar1 + 0x98) << 2" (pointer_expression "*(int *)(iVar1 + 0x98)" (* "*") (cast_expression "(int *)(iVar1 + 0x98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x98)" (( "(") (binary_expression "iVar1 + 0x98" (identifier "iVar1") (+ "+") (number_literal "0x98")) () ")")))) (<< "<<") (number_literal "2")) (< "<") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(*(int *)(iVar1 + 0x98) << 3 < 0)" (( "(") (binary_expression "*(int *)(iVar1 + 0x98) << 3 < 0" (binary_expression "*(int *)(iVar1 + 0x98) << 3" (pointer_expression "*(int *)(iVar1 + 0x98)" (* "*") (cast_expression "(int *)(iVar1 + 0x98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x98)" (( "(") (binary_expression "iVar1 + 0x98" (identifier "iVar1") (+ "+") (number_literal "0x98")) () ")")))) (<< "<<") (number_literal "3")) (< "<") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_001c9380;" (goto "goto") (statement_identifier "LAB_001c9380") (; ";"))) (expression_statement "*(Output_section **)(iVar1 + 0x40) = param_5;" (assignment_expression "*(Output_section **)(iVar1 + 0x40) = param_5" (pointer_expression "*(Output_section **)(iVar1 + 0x40)" (* "*") (cast_expression "(Output_section **)(iVar1 + 0x40)" (( "(") (type_descriptor "Output_section **" (type_identifier "Output_section") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar1 + 0x40)" (( "(") (binary_expression "iVar1 + 0x40" (identifier "iVar1") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "param_5")) (; ";")) (if_statement "if (*(int *)(iVar1 + 0x48) != 0) goto LAB_001c92e8;" (if "if") (parenthesized_expression "(*(int *)(iVar1 + 0x48) != 0)" (( "(") (binary_expression "*(int *)(iVar1 + 0x48) != 0" (pointer_expression "*(int *)(iVar1 + 0x48)" (* "*") (cast_expression "(int *)(iVar1 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x48)" (( "(") (binary_expression "iVar1 + 0x48" (identifier "iVar1") (+ "+") (number_literal "0x48")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001c92e8;" (goto "goto") (statement_identifier "LAB_001c92e8") (; ";"))) (expression_statement "iVar4 = *(int *)(in_t9 + 0x2f8d74);" (assignment_expression "iVar4 = *(int *)(in_t9 + 0x2f8d74)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(in_t9 + 0x2f8d74)" (* "*") (cast_expression "(int *)(in_t9 + 0x2f8d74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_t9 + 0x2f8d74)" (( "(") (binary_expression "in_t9 + 0x2f8d74" (identifier "in_t9") (+ "+") (number_literal "0x2f8d74")) () ")"))))) (; ";")) (if_statement "if ((*(int *)(iVar1 + 0x4c) == 0) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))))) {\n      *(int *)(iVar1 + 0x50) = local_44;\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }\n      goto LAB_001c90ac;\n    }" (if "if") (parenthesized_expression "((*(int *)(iVar1 + 0x4c) == 0) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50)))))" (( "(") (binary_expression "(*(int *)(iVar1 + 0x4c) == 0) &&\n       ((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))))" (parenthesized_expression "(*(int *)(iVar1 + 0x4c) == 0)" (( "(") (binary_expression "*(int *)(iVar1 + 0x4c) == 0" (pointer_expression "*(int *)(iVar1 + 0x4c)" (* "*") (cast_expression "(int *)(iVar1 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x4c)" (( "(") (binary_expression "iVar1 + 0x4c" (identifier "iVar1") (+ "+") (number_literal "0x4c")) () ")")))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))))" (( "(") (parenthesized_expression "(*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50)))" (( "(") (binary_expression "*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))" (binary_expression "*(int *)(iVar1 + 0x50) == 0" (pointer_expression "*(int *)(iVar1 + 0x50)" (* "*") (cast_expression "(int *)(iVar1 + 0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")")))) (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "(local_44 == *(int *)(iVar1 + 0x50))" (( "(") (binary_expression "local_44 == *(int *)(iVar1 + 0x50)" (identifier "local_44") (== "==") (pointer_expression "*(int *)(iVar1 + 0x50)" (* "*") (cast_expression "(int *)(iVar1 + 0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")"))))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      *(int *)(iVar1 + 0x50) = local_44;\n      if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }\n      goto LAB_001c90ac;\n    }" ({ "{") (expression_statement "*(int *)(iVar1 + 0x50) = local_44;" (assignment_expression "*(int *)(iVar1 + 0x50) = local_44" (pointer_expression "*(int *)(iVar1 + 0x50)" (* "*") (cast_expression "(int *)(iVar1 + 0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (identifier "local_44")) (; ";")) (if_statement "if (iVar7 != 0) {\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        piVar5 = *(int **)(iVar7 + 0x34);\n        piVar11 = *(int **)(iVar7 + 0x38);\n        local_54 = 0;\n        local_58 = 0x6ffffffc;\n        local_5c = 0;\n        if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }\n        local_58 = 0x6ffffffd;\n        local_54 = 0xffffffff;\n        local_60 = local_44;\n        if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }\n      }" ({ "{") (expression_statement "piVar5 = *(int **)(iVar7 + 0x34);" (assignment_expression "piVar5 = *(int **)(iVar7 + 0x34)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(iVar7 + 0x34)" (* "*") (cast_expression "(int **)(iVar7 + 0x34)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x34)" (( "(") (binary_expression "iVar7 + 0x34" (identifier "iVar7") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "piVar11 = *(int **)(iVar7 + 0x38);" (assignment_expression "piVar11 = *(int **)(iVar7 + 0x38)" (identifier "piVar11") (= "=") (pointer_expression "*(int **)(iVar7 + 0x38)" (* "*") (cast_expression "(int **)(iVar7 + 0x38)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x38)" (( "(") (binary_expression "iVar7 + 0x38" (identifier "iVar7") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" (identifier "local_54") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_58 = 0x6ffffffc;" (assignment_expression "local_58 = 0x6ffffffc" (identifier "local_58") (= "=") (number_literal "0x6ffffffc")) (; ";")) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" (identifier "local_5c") (= "=") (number_literal "0")) (; ";")) (if_statement "if (piVar5 == piVar11) {\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }\n        else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }" (if "if") (parenthesized_expression "(piVar5 == piVar11)" (( "(") (binary_expression "piVar5 == piVar11" (identifier "piVar5") (== "==") (identifier "piVar11")) () ")")) (compound_statement "{\n          local_60 = iVar1;\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n          piVar2 = *(int **)(iVar7 + 0x34);\n          piVar11 = *(int **)(iVar7 + 0x38);\n        }" ({ "{") (expression_statement "local_60 = iVar1;" (assignment_expression "local_60 = iVar1" (identifier "local_60") (= "=") (identifier "iVar1")) (; ";")) (expression_statement "(**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);" (call_expression "(**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9274))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x2f9274)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x2f9274)" (* "*") (cast_expression "(code **)(in_t9 + 0x2f9274)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x2f9274)" (( "(") (binary_expression "in_t9 + 0x2f9274" (identifier "in_t9") (+ "+") (number_literal "0x2f9274")) () ")"))))) () ")")) (argument_list "(iVar7 + 0x30,piVar11,&local_60)" (( "(") (binary_expression "iVar7 + 0x30" (identifier "iVar7") (+ "+") (number_literal "0x30")) (, ",") (identifier "piVar11") (, ",") (pointer_expression "&local_60" (& "&") (identifier "local_60")) () ")"))) (; ";")) (expression_statement "piVar2 = *(int **)(iVar7 + 0x34);" (assignment_expression "piVar2 = *(int **)(iVar7 + 0x34)" (identifier "piVar2") (= "=") (pointer_expression "*(int **)(iVar7 + 0x34)" (* "*") (cast_expression "(int **)(iVar7 + 0x34)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x34)" (( "(") (binary_expression "iVar7 + 0x34" (identifier "iVar7") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "piVar11 = *(int **)(iVar7 + 0x38);" (assignment_expression "piVar11 = *(int **)(iVar7 + 0x38)" (identifier "piVar11") (= "=") (pointer_expression "*(int **)(iVar7 + 0x38)" (* "*") (cast_expression "(int **)(iVar7 + 0x38)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x38)" (( "(") (binary_expression "iVar7 + 0x38" (identifier "iVar7") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }" (else "else") (compound_statement "{\n          piVar2 = piVar5 + 4;\n          *piVar5 = iVar1;\n          piVar5[1] = 0;\n          piVar5[2] = 0x6ffffffc;\n          piVar5[3] = 0;\n          *(int **)(iVar7 + 0x34) = piVar2;\n        }" ({ "{") (expression_statement "piVar2 = piVar5 + 4;" (assignment_expression "piVar2 = piVar5 + 4" (identifier "piVar2") (= "=") (binary_expression "piVar5 + 4" (identifier "piVar5") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*piVar5 = iVar1;" (assignment_expression "*piVar5 = iVar1" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "piVar5[1] = 0;" (assignment_expression "piVar5[1] = 0" (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar5[2] = 0x6ffffffc;" (assignment_expression "piVar5[2] = 0x6ffffffc" (subscript_expression "piVar5[2]" (identifier "piVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x6ffffffc")) (; ";")) (expression_statement "piVar5[3] = 0;" (assignment_expression "piVar5[3] = 0" (subscript_expression "piVar5[3]" (identifier "piVar5") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int **)(iVar7 + 0x34) = piVar2;" (assignment_expression "*(int **)(iVar7 + 0x34) = piVar2" (pointer_expression "*(int **)(iVar7 + 0x34)" (* "*") (cast_expression "(int **)(iVar7 + 0x34)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x34)" (( "(") (binary_expression "iVar7 + 0x34" (identifier "iVar7") (+ "+") (number_literal "0x34")) () ")")))) (= "=") (identifier "piVar2")) (; ";")) (} "}")))) (expression_statement "local_58 = 0x6ffffffd;" (assignment_expression "local_58 = 0x6ffffffd" (identifier "local_58") (= "=") (number_literal "0x6ffffffd")) (; ";")) (expression_statement "local_54 = 0xffffffff;" (assignment_expression "local_54 = 0xffffffff" (identifier "local_54") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "local_60 = local_44;" (assignment_expression "local_60 = local_44" (identifier "local_60") (= "=") (identifier "local_44")) (; ";")) (if_statement "if (piVar11 == piVar2) {\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }\n        else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }" (if "if") (parenthesized_expression "(piVar11 == piVar2)" (( "(") (binary_expression "piVar11 == piVar2" (identifier "piVar11") (== "==") (identifier "piVar2")) () ")")) (compound_statement "{\n          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);\n        }" ({ "{") (expression_statement "(**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);" (call_expression "(**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9274))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x2f9274)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x2f9274)" (* "*") (cast_expression "(code **)(in_t9 + 0x2f9274)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x2f9274)" (( "(") (binary_expression "in_t9 + 0x2f9274" (identifier "in_t9") (+ "+") (number_literal "0x2f9274")) () ")"))))) () ")")) (argument_list "(iVar7 + 0x30,piVar11,&local_60)" (( "(") (binary_expression "iVar7 + 0x30" (identifier "iVar7") (+ "+") (number_literal "0x30")) (, ",") (identifier "piVar11") (, ",") (pointer_expression "&local_60" (& "&") (identifier "local_60")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }" (else "else") (compound_statement "{\n          *piVar2 = local_44;\n          piVar2[2] = 0x6ffffffd;\n          piVar2[1] = local_5c;\n          piVar2[3] = -1;\n          *(int **)(iVar7 + 0x34) = piVar2 + 4;\n        }" ({ "{") (expression_statement "*piVar2 = local_44;" (assignment_expression "*piVar2 = local_44" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (identifier "local_44")) (; ";")) (expression_statement "piVar2[2] = 0x6ffffffd;" (assignment_expression "piVar2[2] = 0x6ffffffd" (subscript_expression "piVar2[2]" (identifier "piVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x6ffffffd")) (; ";")) (expression_statement "piVar2[1] = local_5c;" (assignment_expression "piVar2[1] = local_5c" (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_5c")) (; ";")) (expression_statement "piVar2[3] = -1;" (assignment_expression "piVar2[3] = -1" (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "*(int **)(iVar7 + 0x34) = piVar2 + 4;" (assignment_expression "*(int **)(iVar7 + 0x34) = piVar2 + 4" (pointer_expression "*(int **)(iVar7 + 0x34)" (* "*") (cast_expression "(int **)(iVar7 + 0x34)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x34)" (( "(") (binary_expression "iVar7 + 0x34" (identifier "iVar7") (+ "+") (number_literal "0x34")) () ")")))) (= "=") (binary_expression "piVar2 + 4" (identifier "piVar2") (+ "+") (number_literal "4"))) (; ";")) (} "}")))) (} "}"))) (goto_statement "goto LAB_001c90ac;" (goto "goto") (statement_identifier "LAB_001c90ac") (; ";")) (} "}"))) (} "}"))))) (expression_statement "piVar2 = (int *)(**(code **)(in_t9 + 0x2f8d54))\n                            (*(int *)(in_t9 + 0x2f85a0) + 0x3574,0xd5e,iVar4 + 0x4430);" (assignment_expression "piVar2 = (int *)(**(code **)(in_t9 + 0x2f8d54))\n                            (*(int *)(in_t9 + 0x2f85a0) + 0x3574,0xd5e,iVar4 + 0x4430)" (identifier "piVar2") (= "=") (cast_expression "(int *)(**(code **)(in_t9 + 0x2f8d54))\n                            (*(int *)(in_t9 + 0x2f85a0) + 0x3574,0xd5e,iVar4 + 0x4430)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(in_t9 + 0x2f8d54))\n                            (*(int *)(in_t9 + 0x2f85a0) + 0x3574,0xd5e,iVar4 + 0x4430)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f8d54))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x2f8d54)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x2f8d54)" (* "*") (cast_expression "(code **)(in_t9 + 0x2f8d54)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x2f8d54)" (( "(") (binary_expression "in_t9 + 0x2f8d54" (identifier "in_t9") (+ "+") (number_literal "0x2f8d54")) () ")"))))) () ")")) (argument_list "(*(int *)(in_t9 + 0x2f85a0) + 0x3574,0xd5e,iVar4 + 0x4430)" (( "(") (binary_expression "*(int *)(in_t9 + 0x2f85a0) + 0x3574" (pointer_expression "*(int *)(in_t9 + 0x2f85a0)" (* "*") (cast_expression "(int *)(in_t9 + 0x2f85a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_t9 + 0x2f85a0)" (( "(") (binary_expression "in_t9 + 0x2f85a0" (identifier "in_t9") (+ "+") (number_literal "0x2f85a0")) () ")")))) (+ "+") (number_literal "0x3574")) (, ",") (number_literal "0xd5e") (, ",") (binary_expression "iVar4 + 0x4430" (identifier "iVar4") (+ "+") (number_literal "0x4430")) () ")"))))) (; ";")) (labeled_statement "LAB_001c9304:\n  (**(code **)(in_t9 + 0x2f9274))(param_1,piVar2,&local_60);" (statement_identifier "LAB_001c9304") (: ":") (expression_statement "(**(code **)(in_t9 + 0x2f9274))(param_1,piVar2,&local_60);" (call_expression "(**(code **)(in_t9 + 0x2f9274))(param_1,piVar2,&local_60)" (parenthesized_expression "(**(code **)(in_t9 + 0x2f9274))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x2f9274)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x2f9274)" (* "*") (cast_expression "(code **)(in_t9 + 0x2f9274)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x2f9274)" (( "(") (binary_expression "in_t9 + 0x2f9274" (identifier "in_t9") (+ "+") (number_literal "0x2f9274")) () ")"))))) () ")")) (argument_list "(param_1,piVar2,&local_60)" (( "(") (identifier "param_1") (, ",") (identifier "piVar2") (, ",") (pointer_expression "&local_60" (& "&") (identifier "local_60")) () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (ERROR "}" (} "}"))

/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* DWARF original name: sized_create_version_sections<64, true>
   DWARF original prototype: void sized_create_version_sections<64,_true>(Layout * this, Versions *
   versions, Symbol_table * symtab, uint local_symcount,
   vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> * dynamic_symbols, Output_section * dynstr)
    */

void __thiscall
var_12::type_3::sized_create_version_sections<64,_true>
          (type_3 *this,type_13 *versions,Symbol_table *symtab,type_8 param_3,
          vector<var_12::var_14*,var_13::allocator<var_12::var_14*>var_8> *dynamic_symbols,
          type_11 *dynstr)

{
  type_11 *var_3;
  int *var_4;
  type_1 var_17;
  type_2 *var_10;
  type_3 *this_00;
  type_1 var_9;
  type_1 var_16;
  type_4 uVar7;
  int var_5;
  type_4 uVar9;
  type_5 *var_6;
  int var_2;
  type_6 *var_11;
  type_6 *pcVar12;
  type_7 **ppuVar13;
  type_8 *puVar14;
  type_4 uVar15;
  type_4 uVar16;
  type_8 vsize;
  type_9 *local_5c;
  type_4 local_58;
  type_4 local_54;
  type_8 var_15;
  type_8 vnsize;
  type_7 *vnbuf;
  type_8 var_18;
  type_8 vdsize;
  type_7 *vdbuf;
  type_7 *vbuf;
  type_8 *local_30;
  
  uVar16 = 0;
  uVar15 = 3;
  var_3 = var_1
                     (this,(type_10 *)0x0,(char *)(*(int *)(var_2 + 0x2f8d74) + 0x40f4),0x6fffffff,2,
                      false,ORDER_DYNAMIC_LINKER,false,false,false);
  if (var_3 != (type_11 *)0x0) {
    puVar14 = &vsize;
    ppuVar13 = &vbuf;
    local_30 = puVar14;
    (**(type_6 **)(var_2 + 0x2f9814))
              (versions,symtab,&this->dynpool_,param_3,dynamic_symbols,ppuVar13,puVar14);
    var_4 = (int *)(**(type_6 **)(var_2 + 0x2f86cc))(0x38);
    var_4[2] = 0;
    var_4[3] = 0;
    var_4[0xb] = 2;
    var_4[10] = 0;
    var_4[7] = -1;
    *(type_12 *)(var_4 + 8) = *(type_12 *)(var_4 + 8) & 7 | 0x50;
    var_5 = *(int *)(var_2 + 0x2f965c);
    var_11 = *(type_6 **)(var_2 + 0x2f9428);
    var_4[6] = -1;
    var_4[5] = vsize;
    *var_4 = var_5 + 8;
    var_4[9] = 0;
    var_4[4] = 0;
    var_4[0xc] = (int)vbuf;
    var_4[0xd] = *(int *)(var_2 + 0x2f8d74) + 0x4104;
    (*var_11)(var_3,var_4);
    uVar9 = 2;
    (**(type_6 **)(var_2 + 0x2f8d90))(var_3);
    if ((var_3->link_ == 0) && (-1 < *(int *)&var_3->field_0x98 << 2)) {
      var_5 = *(int *)(var_2 + 0x2f8d74);
      if (*(int *)&var_3->field_0x98 << 3 < 0) goto LAB_001c9384;
      var_6 = this->dynamic_data_;
      var_3->link_section_ = &this->dynsym_section_->super_Output_data;
      if (var_6 != (type_5 *)0x0) {
        var_9 = (var_6->entries_).
                 super__Vector_base<var_12::Output_data_dynamic::var_7,var_13::allocator<var_12::Output_data_dynamic::var_7>var_8>
                 ._M_impl._M_finish;
        local_58 = 0x6ffffff0;
        local_54 = 0;
        local_5c = (type_9 *)0x0;
        vsize = (type_8)var_3;
        if (var_9 == (var_6->entries_).
                      super__Vector_base<var_12::type_5::var_7,var_13::allocator<var_12::type_5::var_7>var_8>
                      ._M_impl._M_end_of_storage) {
          (**(type_6 **)(var_2 + 0x2f9274))(&var_6->entries_,var_9,local_30);
        }
        else {
          (var_9->u_).val = (type_8)var_3;
          var_9->od2 = (type_9 *)0x0;
          var_9->tag_ = DT_VERSYM;
          var_9->offset_ = 0;
          (var_6->entries_).
          super__Vector_base<var_12::Output_data_dynamic::var_7,var_13::allocator<var_12::Output_data_dynamic::var_7>var_8>
          ._M_impl._M_finish = var_9 + 1;
        }
      }
      goto LAB_001c8ec4;
    }
LAB_001c9380:
    var_5 = *(int *)(var_2 + 0x2f8d74);
LAB_001c9384:
    uVar7 = 0xd07;
    var_11 = *(type_6 **)(var_2 + 0x2f8d54);
    var_5 = var_5 + 0x4558;
    this_00 = (type_3 *)(*(int *)(var_2 + 0x2f85a0) + 0x3574);
    (*var_11)(this_00,0xd07,var_5);
    var_10 = this_00->gdb_index_data_;
    if (var_10 == (type_2 *)0x0) {
      var_3 = var_1
                         (this_00,(type_10 *)0x0,(char *)(*(int *)(var_11 + 0x2f86b4) + 0x40e8),1,0,
                          false,ORDER_INVALID,false,false,false);
      if (var_3 == (type_11 *)0x0) {
        return;
      }
      var_10 = (type_2 *)(**(type_6 **)(var_11 + 0x2f800c))(0x138);
      (**(type_6 **)(var_11 + 0x2f9164))(var_10,var_3);
      pcVar12 = *(type_6 **)(var_11 + 0x2f8d68);
      this_00->gdb_index_data_ = var_10;
      (*pcVar12)(var_3,var_10);
      *(type_8 *)&var_3->field_0x98 = *(type_8 *)&var_3->field_0x98 & 0xf7ffffff | 0x8000000;
      var_10 = this_00->gdb_index_data_;
    }
                    /* WARNING: Could not recover jumptable at 0x001c9450. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(type_6 **)(var_11 + 0x2f9160))
              (var_10,uVar7,var_5,uVar9,dynamic_symbols,ppuVar13,puVar14,uVar15,uVar16);
    return;
  }
  var_6 = this->dynamic_data_;
LAB_001c8ec4:
  if ((versions->defs_).super__Vector_base<var_12::Verdef*,var_13::allocator<var_12::Verdef*>var_8>._M_impl.
      _M_start ==
      (versions->defs_).super__Vector_base<var_12::Verdef*,var_13::allocator<var_12::Verdef*>var_8>._M_impl.
      _M_finish) {
LAB_001c90ac:
    if ((versions->needs_).super__Vector_base<var_12::Verneed*,var_13::allocator<var_12::Verneed*>var_8>.
        _M_impl._M_start ==
        (versions->needs_).super__Vector_base<var_12::Verneed*,var_13::allocator<var_12::Verneed*>var_8>.
        _M_impl._M_finish) {
      return;
    }
    uVar15 = 3;
    uVar16 = 0;
    puVar14 = (type_8 *)0x0;
    ppuVar13 = (type_7 **)0x2;
    var_3 = var_1
                       (this,(type_10 *)0x0,(char *)(*(int *)(var_2 + 0x2f8d74) + 0x4130),0x6ffffffe,
                        2,false,ORDER_DYNAMIC_LINKER,false,false,false);
    if (var_3 == (type_11 *)0x0) {
      return;
    }
    dynamic_symbols = (vector<var_12::var_14*,var_13::allocator<var_12::var_14*>var_8> *)&var_15;
    (**(type_6 **)(var_2 + 0x2f981c))(versions,&this->dynpool_,&vnbuf,&vnsize,dynamic_symbols);
    var_4 = (int *)(**(type_6 **)(var_2 + 0x2f86cc))(0x38);
    var_4[2] = 0;
    var_4[3] = 0;
    var_4[10] = 0;
    *(type_12 *)(var_4 + 8) = *(type_12 *)(var_4 + 8) & 7 | 0x50;
    var_5 = *(int *)(var_2 + 0x2f965c);
    var_11 = *(type_6 **)(var_2 + 0x2f9428);
    var_4[0xb] = 4;
    var_4[5] = vnsize;
    uVar9 = 0xffffffff;
    *var_4 = var_5 + 8;
    var_4[9] = 0;
    var_4[4] = 0;
    var_4[0xc] = (int)vnbuf;
    var_5 = *(int *)(var_2 + 0x2f8d74);
    var_4[7] = -1;
    var_4[6] = -1;
    var_4[0xd] = var_5 + 0x4140;
    (*var_11)(var_3,var_4);
    if (((var_3->link_ != 0) || (*(int *)&var_3->field_0x98 << 2 < 0)) ||
       (*(int *)&var_3->field_0x98 << 3 < 0)) goto LAB_001c9380;
    var_3->link_section_ = &dynstr->super_Output_data;
    if (((var_3->info_section_ == (type_11 *)0x0) && (var_3->info_symndx_ == (var_14 *)0x0)
        ) && ((var_3->info_ == 0 || (var_15 == var_3->info_)))) {
      var_3->info_ = var_15;
      if (var_6 == (type_5 *)0x0) {
        return;
      }
      var_9 = (var_6->entries_).
               super__Vector_base<var_12::Output_data_dynamic::var_7,var_13::allocator<var_12::Output_data_dynamic::var_7>var_8>
               ._M_impl._M_finish;
      var_16 = (var_6->entries_).
               super__Vector_base<var_12::Output_data_dynamic::var_7,var_13::allocator<var_12::Output_data_dynamic::var_7>var_8>
               ._M_impl._M_end_of_storage;
      versions = (type_13 *)&var_6->entries_;
      local_54 = 0;
      local_58 = 0x6ffffffe;
      local_5c = (type_9 *)0x0;
      if (var_9 == var_16) {
        vsize = (type_8)var_3;
        (**(type_6 **)(var_2 + 0x2f9274))(versions,var_16,&vsize);
        var_17 = (var_6->entries_).
                 super__Vector_base<var_12::Output_data_dynamic::var_7,var_13::allocator<var_12::Output_data_dynamic::var_7>var_8>
                 ._M_impl._M_finish;
        var_16 = (var_6->entries_).
                 super__Vector_base<var_12::Output_data_dynamic::var_7,var_13::allocator<var_12::Output_data_dynamic::var_7>var_8>
                 ._M_impl._M_end_of_storage;
      }
      else {
        var_17 = var_9 + 1;
        (var_9->u_).val = (type_8)var_3;
        var_9->od2 = (type_9 *)0x0;
        var_9->tag_ = DT_VERNEED;
        var_9->offset_ = 0;
        (var_6->entries_).
        super__Vector_base<var_12::Output_data_dynamic::var_7,var_13::allocator<var_12::Output_data_dynamic::var_7>var_8>
        ._M_impl._M_finish = var_17;
      }
      local_58 = 0x6fffffff;
      local_54 = 0xffffffff;
      vsize = var_15;
      if (var_17 != var_16) {
        (var_17->u_).val = var_15;
        var_17->tag_ = DT_VERNEEDNUM;
        var_17->od2 = local_5c;
        var_17->offset_ = 0xffffffff;
        (var_6->entries_).
        super__Vector_base<var_12::Output_data_dynamic::var_7,var_13::allocator<var_12::Output_data_dynamic::var_7>var_8>
        ._M_impl._M_finish = var_17 + 1;
        return;
      }
      goto LAB_001c9304;
    }
LAB_001c92e8:
    var_5 = *(int *)(var_2 + 0x2f8d74);
  }
  else {
    uVar15 = 3;
    uVar16 = 0;
    puVar14 = (type_8 *)0x0;
    ppuVar13 = (type_7 **)0x2;
    var_3 = var_1
                       (this,(type_10 *)0x0,(char *)(*(int *)(var_2 + 0x2f8d74) + 0x4110),0x6ffffffd,
                        2,false,ORDER_DYNAMIC_LINKER,false,false,false);
    if (var_3 == (type_11 *)0x0) goto LAB_001c90ac;
    dynamic_symbols = (vector<var_12::var_14*,var_13::allocator<var_12::var_14*>var_8> *)&var_18;
    (**(type_6 **)(var_2 + 0x2f9818))(versions,&this->dynpool_,&vdbuf,&vdsize,dynamic_symbols);
    var_4 = (int *)(**(type_6 **)(var_2 + 0x2f86cc))(0x38);
    var_4[2] = 0;
    var_4[3] = 0;
    var_4[10] = 0;
    *(type_12 *)(var_4 + 8) = *(type_12 *)(var_4 + 8) & 7 | 0x50;
    var_5 = *(int *)(var_2 + 0x2f965c);
    var_11 = *(type_6 **)(var_2 + 0x2f9428);
    var_4[0xb] = 4;
    var_4[5] = vdsize;
    uVar9 = 0xffffffff;
    *var_4 = var_5 + 8;
    var_4[9] = 0;
    var_4[4] = 0;
    var_4[0xc] = (int)vdbuf;
    var_5 = *(int *)(var_2 + 0x2f8d74);
    var_4[7] = -1;
    var_4[6] = -1;
    var_4[0xd] = var_5 + 0x4120;
    (*var_11)(var_3,var_4);
    if (((var_3->link_ != 0) || (*(int *)&var_3->field_0x98 << 2 < 0)) ||
       (*(int *)&var_3->field_0x98 << 3 < 0)) goto LAB_001c9380;
    var_3->link_section_ = &dynstr->super_Output_data;
    if (var_3->info_section_ != (type_11 *)0x0) goto LAB_001c92e8;
    var_5 = *(int *)(var_2 + 0x2f8d74);
    if ((var_3->info_symndx_ == (var_14 *)0x0) &&
       ((var_3->info_ == 0 || (var_18 == var_3->info_)))) {
      var_3->info_ = var_18;
      if (var_6 != (type_5 *)0x0) {
        var_9 = (var_6->entries_).
                 super__Vector_base<var_12::Output_data_dynamic::var_7,var_13::allocator<var_12::Output_data_dynamic::var_7>var_8>
                 ._M_impl._M_finish;
        var_16 = (var_6->entries_).
                 super__Vector_base<var_12::Output_data_dynamic::var_7,var_13::allocator<var_12::Output_data_dynamic::var_7>var_8>
                 ._M_impl._M_end_of_storage;
        local_54 = 0;
        local_58 = 0x6ffffffc;
        local_5c = (type_9 *)0x0;
        if (var_9 == var_16) {
          vsize = (type_8)var_3;
          (**(type_6 **)(var_2 + 0x2f9274))(&var_6->entries_,var_16,&vsize);
          var_17 = (var_6->entries_).
                   super__Vector_base<var_12::Output_data_dynamic::var_7,var_13::allocator<var_12::Output_data_dynamic::var_7>var_8>
                   ._M_impl._M_finish;
          var_16 = (var_6->entries_).
                   super__Vector_base<var_12::Output_data_dynamic::var_7,var_13::allocator<var_12::Output_data_dynamic::var_7>var_8>
                   ._M_impl._M_end_of_storage;
        }
        else {
          var_17 = var_9 + 1;
          (var_9->u_).val = (type_8)var_3;
          var_9->od2 = (type_9 *)0x0;
          var_9->tag_ = DT_VERDEF;
          var_9->offset_ = 0;
          (var_6->entries_).
          super__Vector_base<var_12::Output_data_dynamic::var_7,var_13::allocator<var_12::Output_data_dynamic::var_7>var_8>
          ._M_impl._M_finish = var_17;
        }
        local_58 = 0x6ffffffd;
        local_54 = 0xffffffff;
        vsize = var_18;
        if (var_16 == var_17) {
          (**(type_6 **)(var_2 + 0x2f9274))(&var_6->entries_,var_16,&vsize);
        }
        else {
          (var_17->u_).val = var_18;
          var_17->tag_ = DT_VERDEFNUM;
          var_17->od2 = local_5c;
          var_17->offset_ = 0xffffffff;
          (var_6->entries_).
          super__Vector_base<var_12::Output_data_dynamic::var_7,var_13::allocator<var_12::Output_data_dynamic::var_7>var_8>
          ._M_impl._M_finish = var_17 + 1;
        }
      }
      goto LAB_001c90ac;
    }
  }
  var_17 = (type_1)(**(type_6 **)(var_2 + 0x2f8d54))
                              (*(int *)(var_2 + 0x2f85a0) + 0x3574,0xd5e,var_5 + 0x4430);
LAB_001c9304:
  (**(type_6 **)(var_2 + 0x2f9274))(versions,var_17,&vsize);
  return;
}


(translation_unit (declaration type: (primitive_type) declarator: (ms_call_modifier) (ERROR (identifier) (identifier)) declarator: (identifier) (ERROR (number_literal)) (ERROR (function_declarator declarator: (identifier) (ERROR) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) (primitive_type)) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (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)) (number_literal) (number_literal) (number_literal) (number_literal) (number_literal) (number_literal) (number_literal) (number_literal))))) (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (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)))))) 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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_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))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (number_literal))))))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (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: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier)))) (return_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))))))) (labeled_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: (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))))))) consequence: (compound_statement (labeled_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: (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))))))) consequence: (compound_statement (return_statement)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (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)) (number_literal) (number_literal) (number_literal) (number_literal) (number_literal) (number_literal) (number_literal) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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))))) 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: (identifier) right: (number_literal))))) right: (number_literal)) right: (parenthesized_expression (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)))))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator 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: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (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)))))))) alternative: (else_clause (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: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (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: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (number_literal)))) (return_statement))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (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)) (number_literal) (number_literal) (number_literal) (number_literal) (number_literal) (number_literal) (number_literal) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (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 (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: (identifier) right: (number_literal))))) right: (number_literal)) right: (parenthesized_expression (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)))))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (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)))))))) alternative: (else_clause (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: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (pointer_expression argument: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (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: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (number_literal))))))))) (goto_statement label: (statement_identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (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)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier)))))) (return_statement) (ERROR))

/* void gold::Layout::sized_create_version_sections<64, true>(gold::Versions const*,
   gold::Symbol_table const*, unsigned int, std::vector<gold::Symbol*, std::allocator<gold::Symbol*>
   > const&, gold::Output_section const*) */

void __thiscall
gold::Layout::MASKED
          (Layout *this,Versions *param_1,Symbol_table *param_2,uint param_3,vector *param_4,
          Output_section *param_5)

{
  int iVar1;
  int *piVar2;
  undefined4 uVar3;
  int iVar4;
  int *piVar5;
  undefined4 uVar6;
  int iVar7;
  undefined4 uVar8;
  int in_t9;
  code *pcVar9;
  code *pcVar10;
  int *piVar11;
  undefined4 uVar12;
  undefined4 uVar13;
  int local_60;
  int local_5c;
  undefined4 local_58;
  undefined4 local_54;
  int local_50;
  int local_4c;
  int local_48;
  int local_44;
  int local_40;
  int local_3c;
  int local_38 [2];
  int *local_30;
  
  uVar13 = 0;
  uVar12 = 3;
  iVar1 = choose_output_section(this,0,*(int *)(in_t9 + 0x2f8d74) + 0x40f4,0x6fffffff,0,2,0,3,0,0,0)
  ;
  if (iVar1 != 0) {
    piVar5 = &local_60;
    piVar11 = local_38;
    local_30 = piVar5;
    (**(code **)(in_t9 + 0x2f9814))(param_1,param_2,this + 0xa8,param_3,param_4,piVar11,piVar5);
    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);
    piVar2[2] = 0;
    piVar2[3] = 0;
    piVar2[0xb] = 2;
    piVar2[10] = 0;
    piVar2[7] = -1;
    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;
    iVar7 = *(int *)(in_t9 + 0x2f965c);
    pcVar9 = *(code **)(in_t9 + 0x2f9428);
    piVar2[6] = -1;
    piVar2[5] = local_60;
    *piVar2 = iVar7 + 8;
    piVar2[9] = 0;
    piVar2[4] = 0;
    piVar2[0xc] = local_38[0];
    piVar2[0xd] = *(int *)(in_t9 + 0x2f8d74) + 0x4104;
    (*pcVar9)(iVar1,piVar2);
    uVar8 = 2;
    (**(code **)(in_t9 + 0x2f8d90))(iVar1);
    if ((*(int *)(iVar1 + 0x44) == 0) && (-1 < *(int *)(iVar1 + 0x98) << 2)) {
      iVar7 = *(int *)(in_t9 + 0x2f8d74);
      if (*(int *)(iVar1 + 0x98) << 3 < 0) goto LAB_001c9384;
      iVar7 = *(int *)(this + 0x198);
      *(undefined4 *)(iVar1 + 0x40) = *(undefined4 *)(this + 0x188);
      if (iVar7 != 0) {
        piVar5 = *(int **)(iVar7 + 0x34);
        local_58 = 0x6ffffff0;
        local_54 = 0;
        local_5c = 0;
        local_60 = iVar1;
        if (piVar5 == *(int **)(iVar7 + 0x38)) {
          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar5,local_30);
        }
        else {
          *piVar5 = iVar1;
          piVar5[1] = 0;
          piVar5[2] = 0x6ffffff0;
          piVar5[3] = 0;
          *(int **)(iVar7 + 0x34) = piVar5 + 4;
        }
      }
      goto LAB_001c8ec4;
    }
LAB_001c9380:
    iVar7 = *(int *)(in_t9 + 0x2f8d74);
LAB_001c9384:
    uVar6 = 0xd07;
    pcVar9 = *(code **)(in_t9 + 0x2f8d54);
    iVar7 = iVar7 + 0x4558;
    iVar4 = *(int *)(in_t9 + 0x2f85a0) + 0x3574;
    (*pcVar9)(iVar4,0xd07,iVar7);
    iVar1 = *(int *)(iVar4 + 0x1ac);
    if (iVar1 == 0) {
      iVar1 = choose_output_section();
      if (iVar1 == 0) {
        return;
      }
      uVar3 = (**(code **)(pcVar9 + 0x2f800c))(0x138);
      (**(code **)(pcVar9 + 0x2f9164))(uVar3,iVar1);
      pcVar10 = *(code **)(pcVar9 + 0x2f8d68);
      *(undefined4 *)(iVar4 + 0x1ac) = uVar3;
      (*pcVar10)(iVar1,uVar3);
      *(uint *)(iVar1 + 0x98) = *(uint *)(iVar1 + 0x98) & 0xf7ffffff | 0x8000000;
      iVar1 = *(int *)(iVar4 + 0x1ac);
    }
                    /* WARNING: Could not recover jumptable at 0x001c9450. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(pcVar9 + 0x2f9160))(iVar1,uVar6,iVar7,uVar8,param_4,piVar11,piVar5,uVar12,uVar13);
    return;
  }
  iVar7 = *(int *)(this + 0x198);
LAB_001c8ec4:
  if (*(int *)param_1 == *(int *)(param_1 + 4)) {
LAB_001c90ac:
    if (*(int *)(param_1 + 0xc) == *(int *)(param_1 + 0x10)) {
      return;
    }
    uVar12 = 3;
    uVar13 = 0;
    piVar5 = (int *)0x0;
    piVar11 = (int *)0x2;
    iVar1 = choose_output_section
                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4130,0x6ffffffe,0,2,0,3,0,0,0);
    if (iVar1 == 0) {
      return;
    }
    param_4 = (vector *)&local_50;
    (**(code **)(in_t9 + 0x2f981c))(param_1,this + 0xa8,&local_48,&local_4c,param_4);
    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);
    piVar2[2] = 0;
    piVar2[3] = 0;
    piVar2[10] = 0;
    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;
    iVar4 = *(int *)(in_t9 + 0x2f965c);
    pcVar9 = *(code **)(in_t9 + 0x2f9428);
    piVar2[0xb] = 4;
    piVar2[5] = local_4c;
    uVar8 = 0xffffffff;
    *piVar2 = iVar4 + 8;
    piVar2[9] = 0;
    piVar2[4] = 0;
    piVar2[0xc] = local_48;
    iVar4 = *(int *)(in_t9 + 0x2f8d74);
    piVar2[7] = -1;
    piVar2[6] = -1;
    piVar2[0xd] = iVar4 + 0x4140;
    (*pcVar9)(iVar1,piVar2);
    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||
       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;
    *(Output_section **)(iVar1 + 0x40) = param_5;
    if (((*(int *)(iVar1 + 0x48) == 0) && (*(int *)(iVar1 + 0x4c) == 0)) &&
       ((*(int *)(iVar1 + 0x50) == 0 || (local_50 == *(int *)(iVar1 + 0x50))))) {
      *(int *)(iVar1 + 0x50) = local_50;
      if (iVar7 == 0) {
        return;
      }
      piVar5 = *(int **)(iVar7 + 0x34);
      piVar11 = *(int **)(iVar7 + 0x38);
      param_1 = (Versions *)(iVar7 + 0x30);
      local_54 = 0;
      local_58 = 0x6ffffffe;
      local_5c = 0;
      if (piVar5 == piVar11) {
        local_60 = iVar1;
        (**(code **)(in_t9 + 0x2f9274))(param_1,piVar11,&local_60);
        piVar2 = *(int **)(iVar7 + 0x34);
        piVar11 = *(int **)(iVar7 + 0x38);
      }
      else {
        piVar2 = piVar5 + 4;
        *piVar5 = iVar1;
        piVar5[1] = 0;
        piVar5[2] = 0x6ffffffe;
        piVar5[3] = 0;
        *(int **)(iVar7 + 0x34) = piVar2;
      }
      local_58 = 0x6fffffff;
      local_54 = 0xffffffff;
      local_60 = local_50;
      if (piVar2 != piVar11) {
        *piVar2 = local_50;
        piVar2[2] = 0x6fffffff;
        piVar2[1] = local_5c;
        piVar2[3] = -1;
        *(int **)(iVar7 + 0x34) = piVar2 + 4;
        return;
      }
      goto LAB_001c9304;
    }
LAB_001c92e8:
    iVar4 = *(int *)(in_t9 + 0x2f8d74);
  }
  else {
    uVar12 = 3;
    uVar13 = 0;
    piVar5 = (int *)0x0;
    piVar11 = (int *)0x2;
    iVar1 = choose_output_section
                      (this,0,*(int *)(in_t9 + 0x2f8d74) + 0x4110,0x6ffffffd,0,2,0,3,0,0,0);
    if (iVar1 == 0) goto LAB_001c90ac;
    param_4 = (vector *)&local_44;
    (**(code **)(in_t9 + 0x2f9818))(param_1,this + 0xa8,&local_3c,&local_40,param_4);
    piVar2 = (int *)(**(code **)(in_t9 + 0x2f86cc))(0x38);
    piVar2[2] = 0;
    piVar2[3] = 0;
    piVar2[10] = 0;
    *(byte *)(piVar2 + 8) = *(byte *)(piVar2 + 8) & 7 | 0x50;
    iVar4 = *(int *)(in_t9 + 0x2f965c);
    pcVar9 = *(code **)(in_t9 + 0x2f9428);
    piVar2[0xb] = 4;
    piVar2[5] = local_40;
    uVar8 = 0xffffffff;
    *piVar2 = iVar4 + 8;
    piVar2[9] = 0;
    piVar2[4] = 0;
    piVar2[0xc] = local_3c;
    iVar4 = *(int *)(in_t9 + 0x2f8d74);
    piVar2[7] = -1;
    piVar2[6] = -1;
    piVar2[0xd] = iVar4 + 0x4120;
    (*pcVar9)(iVar1,piVar2);
    if (((*(int *)(iVar1 + 0x44) != 0) || (*(int *)(iVar1 + 0x98) << 2 < 0)) ||
       (*(int *)(iVar1 + 0x98) << 3 < 0)) goto LAB_001c9380;
    *(Output_section **)(iVar1 + 0x40) = param_5;
    if (*(int *)(iVar1 + 0x48) != 0) goto LAB_001c92e8;
    iVar4 = *(int *)(in_t9 + 0x2f8d74);
    if ((*(int *)(iVar1 + 0x4c) == 0) &&
       ((*(int *)(iVar1 + 0x50) == 0 || (local_44 == *(int *)(iVar1 + 0x50))))) {
      *(int *)(iVar1 + 0x50) = local_44;
      if (iVar7 != 0) {
        piVar5 = *(int **)(iVar7 + 0x34);
        piVar11 = *(int **)(iVar7 + 0x38);
        local_54 = 0;
        local_58 = 0x6ffffffc;
        local_5c = 0;
        if (piVar5 == piVar11) {
          local_60 = iVar1;
          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);
          piVar2 = *(int **)(iVar7 + 0x34);
          piVar11 = *(int **)(iVar7 + 0x38);
        }
        else {
          piVar2 = piVar5 + 4;
          *piVar5 = iVar1;
          piVar5[1] = 0;
          piVar5[2] = 0x6ffffffc;
          piVar5[3] = 0;
          *(int **)(iVar7 + 0x34) = piVar2;
        }
        local_58 = 0x6ffffffd;
        local_54 = 0xffffffff;
        local_60 = local_44;
        if (piVar11 == piVar2) {
          (**(code **)(in_t9 + 0x2f9274))(iVar7 + 0x30,piVar11,&local_60);
        }
        else {
          *piVar2 = local_44;
          piVar2[2] = 0x6ffffffd;
          piVar2[1] = local_5c;
          piVar2[3] = -1;
          *(int **)(iVar7 + 0x34) = piVar2 + 4;
        }
      }
      goto LAB_001c90ac;
    }
  }
  piVar2 = (int *)(**(code **)(in_t9 + 0x2f8d54))
                            (*(int *)(in_t9 + 0x2f85a0) + 0x3574,0xd5e,iVar4 + 0x4430);
LAB_001c9304:
  (**(code **)(in_t9 + 0x2f9274))(param_1,piVar2,&local_60);
  return;
}

