
/* DWARF original prototype: void define_base_version(Versions * this, Stringpool * dynpool) */

void __thiscall gold::Versions::define_base_version(Versions *this,Stringpool *dynpool)

{
  code *pcVar1;
  int *piVar2;
  int iVar3;
  char *pcVar4;
  uint uVar5;
  pointer pbVar6;
  int iVar7;
  undefined1 *puVar8;
  iterator __position;
  undefined *puVar9;
  int *piVar10;
  int *piVar11;
  Verdef *unaff_s1;
  pointer pbVar12;
  int *local_30;
  int *local_2c;
  undefined4 local_28;
  Verdef *vdbase;
  
  if ((this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.
      _M_finish ==
      (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.
      _M_start) {
    iVar7 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);
    puVar9 = PTR_s__0043226c;
    if (iVar7 != 0) {
      iVar3 = *(int *)(iVar7 + 0x1aa8);
      if (iVar3 == 0) {
        iVar3 = *(int *)(iVar7 + 0x27b0);
      }
      pcVar4 = (char *)(*(code *)PTR_add_00432e80)(dynpool,iVar3,0,0);
      puVar8 = &DAT_0000001c;
      local_30 = (int *)0x0;
      local_2c = (int *)0x0;
                    /* try { // try from 00261070 to 00261077 has its CatchHandler @ 002612fc */
      local_28 = 0;
      unaff_s1 = (Verdef *)(*(code *)PTR_operator_new_0043233c)(0x1c);
      unaff_s1->name_ = pcVar4;
      (unaff_s1->deps_).
      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
      ._M_impl._M_start = (pointer)0x0;
      puVar9 = PTR_vtable_004357b0;
      pbVar12 = (pointer)((int)local_2c - (int)local_30);
      (unaff_s1->super_Version_base).index_ = 0xffffffff;
      (unaff_s1->deps_).
      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
      ._M_impl._M_finish = (pointer)0x0;
      (unaff_s1->deps_).
      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
      ._M_impl._M_end_of_storage = (pointer)0x0;
      (unaff_s1->super_Version_base)._vptr_Version_base = (_func_int_varargs **)(puVar9 + 8);
      uVar5 = ((int)pbVar12 >> 3) * -0x55555555;
      vdbase = unaff_s1;
      if (uVar5 == 0) {
        pbVar6 = (pointer)0x0;
        (unaff_s1->deps_).
        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
        ._M_impl._M_start = (pointer)0x0;
        (unaff_s1->deps_).
        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
        ._M_impl._M_finish = (pointer)0x0;
        (unaff_s1->deps_).
        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
        ._M_impl._M_end_of_storage = pbVar12;
        piVar10 = local_30;
        pcVar1 = (code *)PTR__M_construct<char*>_0043248c;
        piVar11 = local_2c;
        if (local_2c == local_30) {
LAB_00261210:
          unaff_s1->is_base_ = true;
          unaff_s1->is_weak_ = false;
          unaff_s1->is_info_ = false;
          unaff_s1->is_symbol_created_ = true;
          piVar11 = local_30;
          goto LAB_00261194;
        }
      }
      else {
        if (0xaaaaaaa < uVar5) goto LAB_00261294;
                    /* try { // try from 002610d8 to 002610df has its CatchHandler @ 002612a0 */
        pbVar6 = (pointer)(*(code *)PTR_operator_new_0043233c)(pbVar12);
        (unaff_s1->deps_).
        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
        ._M_impl._M_start = pbVar6;
        (unaff_s1->deps_).
        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
        ._M_impl._M_finish = pbVar6;
        (unaff_s1->deps_).
        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
        ._M_impl._M_end_of_storage = (pointer)((int)pbVar6 + (int)pbVar12);
        piVar10 = local_30;
        pcVar1 = (code *)PTR__M_construct<char*>_0043248c;
        piVar11 = local_2c;
        if (local_2c == local_30) goto LAB_00261210;
      }
      do {
        (pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;
                    /* try { // try from 00261130 to 00261137 has its CatchHandler @ 002612d8 */
        (*pcVar1)(pbVar6,*piVar10,*piVar10 + piVar10[1],0);
        piVar2 = local_2c;
        piVar10 = piVar10 + 6;
        pbVar6 = pbVar6 + 1;
      } while (piVar11 != piVar10);
      (unaff_s1->deps_).
      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
      ._M_impl._M_finish = pbVar6;
      unaff_s1->is_base_ = true;
      unaff_s1->is_weak_ = false;
      unaff_s1->is_info_ = false;
      unaff_s1->is_symbol_created_ = true;
      piVar11 = local_2c;
      for (piVar10 = local_30; piVar2 != piVar10; piVar10 = piVar10 + 6) {
        if ((int *)*piVar10 != piVar10 + 2) {
          (*(code *)PTR_operator_delete_0043228c)();
        }
        piVar11 = local_30;
      }
LAB_00261194:
      if (piVar11 != (int *)0x0) {
        (*(code *)PTR_operator_delete_0043228c)(piVar11);
      }
      __position._M_current =
           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.
           _M_finish;
      if (__position._M_current !=
          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.
          _M_end_of_storage) {
        *__position._M_current = vdbase;
        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.
        _M_finish = __position._M_current + 1;
        this->needs_base_version_ = false;
        return;
      }
      std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::
      _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vdbase);
      this->needs_base_version_ = false;
      return;
    }
  }
  else {
    puVar9 = PTR_s__0043226c + 0x1aa8;
    (*(code *)PTR_do_gold_unreachable_004323c4)(PTR_s__0043226c + 0x13e0,0x5d5,puVar9);
  }
  puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;
  (*(code *)PTR_do_gold_unreachable_004323c4)(puVar8,0x5c,puVar9 + 0x1ba8);
LAB_00261294:
                    /* try { // try from 00261298 to 0026129f has its CatchHandler @ 002612a0 */
  (*(code *)PTR___throw_bad_alloc_00432404)();
                    /* catch(type#1 @ 00000000) { ... } // from try @ 002610d8 with catch @ 002612a0
                       catch(type#1 @ 00000000) { ... } // from try @ 00261298 with catch @ 002612a0
                        */
  (*(code *)PTR_operator_delete_004323c0)(unaff_s1,0x1c);
  (*(code *)PTR__vector_00432ca4)(&local_30);
  (*(code *)PTR__Unwind_Resume_00432258)(puVar8);
  return;
}



/* gold::Versions::define_base_version(gold::Stringpool_template<char>*) */

void __thiscall gold::Versions::define_base_version(Versions *this,Stringpool_template *param_1)

{
  code *pcVar1;
  undefined *puVar2;
  int *piVar3;
  int iVar4;
  undefined4 uVar5;
  undefined4 *puVar6;
  uint uVar7;
  int *piVar8;
  int iVar9;
  undefined4 uVar10;
  int *piVar11;
  int *piVar12;
  int *local_30;
  int *local_2c;
  undefined4 local_28;
  undefined4 *local_24;
  
  if (*(int *)(this + 4) != *(int *)this) {
    (*(code *)PTR_do_gold_unreachable_004323c4)
              (PTR_DAT_0043226c + 0x13e0,0x5d5,PTR_DAT_0043226c + 0x1aa8);
    return;
  }
  iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);
  if (iVar9 == 0) {
    (*(code *)PTR_do_gold_unreachable_004323c4)
              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + 0x1ba8);
    return;
  }
  iVar4 = *(int *)(iVar9 + 0x1aa8);
  if (iVar4 == 0) {
    iVar4 = *(int *)(iVar9 + 0x27b0);
  }
  uVar5 = (*(code *)PTR_add_00432e80)(param_1,iVar4,0,0);
  uVar10 = 0x1c;
  local_30 = (int *)0x0;
  local_2c = (int *)0x0;
                    /* try { // try from 00261070 to 00261077 has its CatchHandler @ 002612fc */
  local_28 = 0;
  puVar6 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0x1c);
  puVar6[2] = uVar5;
  puVar6[3] = 0;
  puVar2 = PTR_vtable_004357b0;
  iVar9 = (int)local_2c - (int)local_30;
  puVar6[1] = 0xffffffff;
  puVar6[4] = 0;
  puVar6[5] = 0;
  *puVar6 = puVar2 + 8;
  uVar7 = (iVar9 >> 3) * -0x55555555;
  local_24 = puVar6;
  if (uVar7 == 0) {
    piVar8 = (int *)0x0;
    puVar6[3] = 0;
    puVar6[4] = 0;
    puVar6[5] = iVar9;
    piVar11 = local_30;
    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;
    piVar12 = local_2c;
    if (local_2c == local_30) goto LAB_00261210;
  }
  else {
    if (0xaaaaaaa < uVar7) {
                    /* try { // try from 00261298 to 0026129f has its CatchHandler @ 002612a0 */
      (*(code *)PTR___throw_bad_alloc_00432404)();
                    /* catch(type#1 @ 00000000) { ... } // from try @ 002610d8 with catch @ 002612a0
                       catch(type#1 @ 00000000) { ... } // from try @ 00261298 with catch @ 002612a0
                        */
      (*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);
      (*(code *)PTR__vector_00432ca4)(&local_30);
      (*(code *)PTR_FUN_00432258)(uVar10);
      return;
    }
                    /* try { // try from 002610d8 to 002610df has its CatchHandler @ 002612a0 */
    piVar8 = (int *)(*(code *)PTR_operator_new_0043233c)(iVar9);
    puVar6[3] = piVar8;
    puVar6[4] = piVar8;
    puVar6[5] = (int)piVar8 + iVar9;
    piVar11 = local_30;
    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;
    piVar12 = local_2c;
    if (local_2c == local_30) {
LAB_00261210:
      puVar6[6] = 0x1000001;
      piVar12 = local_30;
      goto LAB_00261194;
    }
  }
  do {
    *piVar8 = (int)(piVar8 + 2);
                    /* try { // try from 00261130 to 00261137 has its CatchHandler @ 002612d8 */
    (*pcVar1)(piVar8,*piVar11,*piVar11 + piVar11[1],0);
    piVar3 = local_2c;
    piVar11 = piVar11 + 6;
    piVar8 = piVar8 + 6;
  } while (piVar12 != piVar11);
  puVar6[4] = piVar8;
  puVar6[6] = 0x1000001;
  piVar12 = local_2c;
  for (piVar11 = local_30; piVar3 != piVar11; piVar11 = piVar11 + 6) {
    if ((int *)*piVar11 != piVar11 + 2) {
      (*(code *)PTR_operator_delete_0043228c)();
    }
    piVar12 = local_30;
  }
LAB_00261194:
  if (piVar12 != (int *)0x0) {
    (*(code *)PTR_operator_delete_0043228c)(piVar12);
  }
  puVar6 = *(undefined4 **)(this + 4);
  if (puVar6 != *(undefined4 **)(this + 8)) {
    *puVar6 = local_24;
    *(undefined4 **)(this + 4) = puVar6 + 1;
    this[0x3c] = (Versions)0x0;
    return;
  }
  std::vector<gold::Verdef*,std::allocator<gold::Verdef*>>::_M_realloc_insert<gold::Verdef*const&>
            ((vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this,puVar6,&local_24);
  this[0x3c] = (Versions)0x0;
  return;
}


lui gp,0x1e
addiu gp,gp,-0x6e10
addu gp,gp,t9
addiu sp,sp,-0x48
lw v1,0x4(a0)
lw v0,0x0(a0)
sw gp,0x10(sp)
sw ra,0x44(sp)
sw s6,0x40(sp)
sw s5,0x3c(sp)
sw s4,0x38(sp)
sw s3,0x34(sp)
sw s2,0x30(sp)
sw s1,0x2c(sp)
bne v1,v0,0x00261260
_sw s0,0x28(sp)
lw v0,-0x75f0(gp)
lw v0,0x0(v0)
lw v1,0x8(v0)
beq v1,zero,0x0026127c
_lw a2,-0x7f64(gp)
lw v0,0x1aa8(v1)
beq v0,zero,0x002611f0
_or s2,a0,zero
lw t9,-0x7350(gp)
or a3,zero,zero
or a2,zero,zero
or a0,a1,zero
jalr t9
_or a1,v0,zero
li a0,0x1c
lw gp,0x10(sp)
or s3,v0,zero
sw zero,0x18(sp)
sw zero,0x1c(sp)
lw t9,-0x7e94(gp)
jalr t9
_sw zero,0x20(sp)
lw gp,0x10(sp)
or s1,v0,zero
lw s0,0x18(sp)
lw s4,0x1c(sp)
sw s3,0x8(v0)
sw zero,0xc(v0)
li v0,-0x1
lw v1,-0x4a20(gp)
subu s3,s4,s0
sw v0,0x4(s1)
sra v0,s3,0x3
sw zero,0x10(s1)
addiu v1,v1,0x8
sw zero,0x14(s1)
sw v1,0x0(s1)
lui v1,0xaaaa
ori v1,v1,0xaaab
mul v0,v0,v1
beq v0,zero,0x002611f8
_lui v1,0xaaa
ori v1,v1,0xaaab
sltu v0,v0,v1
beq v0,zero,0x00261294
_lw t9,-0x7e94(gp)
jalr t9
_or a0,s3,zero
or s5,v0,zero
lw s0,0x18(sp)
lw s4,0x1c(sp)
addu s3,s5,s3
lw gp,0x10(sp)
sw s5,0xc(s1)
sw s5,0x10(s1)
beq s4,s0,0x00261210
_sw s3,0x14(s1)
lw s6,-0x7d44(gp)
or s3,s5,zero
addiu v0,s3,0x8
or a3,zero,zero
sw v0,0x0(s3)
or a0,s3,zero
lw v0,0x0(s0)
sll a3,a3,0x18
lw a2,0x4(s0)
or t9,s6,zero
or a1,v0,zero
jalr t9
_addu a2,v0,a2
addiu s0,s0,0x18
lw gp,0x10(sp)
bne s4,s0,0x0026110c
_addiu s3,s3,0x18
lui v0,0x100
lw s4,0x18(sp)
lw s0,0x1c(sp)
addiu v0,v0,0x1
sw s3,0x10(s1)
sw s1,0x24(sp)
beq s0,s4,0x00261194
_sw v0,0x18(s1)
lw a0,0x0(s4)
addiu v0,s4,0x8
beq a0,v0,0x00261184
_lw t9,-0x7f44(gp)
jalr t9
_nop
lw gp,0x10(sp)
addiu s4,s4,0x18
bne s0,s4,0x00261168
_nop
lw s0,0x18(sp)
beq s0,zero,0x002611a8
_lw t9,-0x7f44(gp)
jalr t9
_or a0,s0,zero
lw gp,0x10(sp)
lw a1,0x4(s2)
lw v0,0x8(s2)
beq a1,v0,0x00261224
_lw v1,0x24(sp)
addiu v0,a1,0x4
lw ra,0x44(sp)
lw s6,0x40(sp)
lw s5,0x3c(sp)
lw s4,0x38(sp)
lw s3,0x34(sp)
lw s1,0x2c(sp)
lw s0,0x28(sp)
sw v1,0x0(a1)
sw v0,0x4(s2)
sb zero,0x3c(s2)
lw s2,0x30(sp)
jr ra
_addiu sp,sp,0x48
b 0x00261040
_lw v0,0x27b0(v1)
or s5,zero,zero
addu s3,s5,s3
sw s5,0xc(s1)
sw s5,0x10(s1)
bne s4,s0,0x00261104
_sw s3,0x14(s1)
lui v0,0x100
sw s1,0x24(sp)
addiu v0,v0,0x1
b 0x00261194
_sw v0,0x18(s1)
lw t9,-0x4a1c(gp)
addiu a2,sp,0x24
bal 0x00266cf0
_or a0,s2,zero
lw ra,0x44(sp)
lw s6,0x40(sp)
lw s5,0x3c(sp)
lw s4,0x38(sp)
lw s3,0x34(sp)
lw s1,0x2c(sp)
lw s0,0x28(sp)
sb zero,0x3c(s2)
lw s2,0x30(sp)
jr ra
_addiu sp,sp,0x48
lw a2,-0x7f64(gp)
li a1,0x5d5
lw a0,-0x7f64(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,0x1aa8
jalr t9
_addiu a0,a0,0x13e0
li a1,0x5c
lw a0,-0x7e1c(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,0x1ba8
jalr t9
_addiu a0,a0,-0x5cec
lw t9,-0x7dcc(gp)
jalr t9
_nop
lw gp,0x10(sp)
or s0,a0,zero
lw t9,-0x7e10(gp)
li a1,0x1c
jalr t9
_or a0,s1,zero
lw gp,0x10(sp)
lw t9,-0x752c(gp)
jalr t9
_addiu a0,sp,0x18
lw gp,0x10(sp)
lw t9,-0x7f78(gp)
jalr t9
_or a0,s0,zero
(translation_unit "/* gold::Versions::define_base_version(gold::Stringpool_template<char>*) */\n\nvoid __thiscall gold::Versions::define_base_version(Versions *this,Stringpool_template *param_1)\n\n{\n  code *pcVar1;\n  undefined *puVar2;\n  int *piVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int *piVar8;\n  int iVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  int *piVar12;\n  int *local_30;\n  int *local_2c;\n  undefined4 local_28;\n  undefined4 *local_24;\n  \n  if (*(int *)(this + 4) != *(int *)this) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x5d5,PTR_DAT_0043226c + 0x1aa8);\n    return;\n  }\n  iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n  if (iVar9 == 0) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + 0x1ba8);\n    return;\n  }\n  iVar4 = *(int *)(iVar9 + 0x1aa8);\n  if (iVar4 == 0) {\n    iVar4 = *(int *)(iVar9 + 0x27b0);\n  }\n  uVar5 = (*(code *)PTR_add_00432e80)(param_1,iVar4,0,0);\n  uVar10 = 0x1c;\n  local_30 = (int *)0x0;\n  local_2c = (int *)0x0;\n                    /* try { // try from 00261070 to 00261077 has its CatchHandler @ 002612fc */\n  local_28 = 0;\n  puVar6 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0x1c);\n  puVar6[2] = uVar5;\n  puVar6[3] = 0;\n  puVar2 = PTR_vtable_004357b0;\n  iVar9 = (int)local_2c - (int)local_30;\n  puVar6[1] = 0xffffffff;\n  puVar6[4] = 0;\n  puVar6[5] = 0;\n  *puVar6 = puVar2 + 8;\n  uVar7 = (iVar9 >> 3) * -0x55555555;\n  local_24 = puVar6;\n  if (uVar7 == 0) {\n    piVar8 = (int *)0x0;\n    puVar6[3] = 0;\n    puVar6[4] = 0;\n    puVar6[5] = iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) goto LAB_00261210;\n  }\n  else {\n    if (0xaaaaaaa < uVar7) {\n                    /* try { // try from 00261298 to 0026129f has its CatchHandler @ 002612a0 */\n      (*(code *)PTR___throw_bad_alloc_00432404)();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 002610d8 with catch @ 002612a0\n                       catch(type#1 @ 00000000) { ... } // from try @ 00261298 with catch @ 002612a0\n                        */\n      (*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);\n      (*(code *)PTR__vector_00432ca4)(&local_30);\n      (*(code *)PTR_FUN_00432258)(uVar10);\n      return;\n    }\n                    /* try { // try from 002610d8 to 002610df has its CatchHandler @ 002612a0 */\n    piVar8 = (int *)(*(code *)PTR_operator_new_0043233c)(iVar9);\n    puVar6[3] = piVar8;\n    puVar6[4] = piVar8;\n    puVar6[5] = (int)piVar8 + iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) {\nLAB_00261210:\n      puVar6[6] = 0x1000001;\n      piVar12 = local_30;\n      goto LAB_00261194;\n    }\n  }\n  do {\n    *piVar8 = (int)(piVar8 + 2);\n                    /* try { // try from 00261130 to 00261137 has its CatchHandler @ 002612d8 */\n    (*pcVar1)(piVar8,*piVar11,*piVar11 + piVar11[1],0);\n    piVar3 = local_2c;\n    piVar11 = piVar11 + 6;\n    piVar8 = piVar8 + 6;\n  } while (piVar12 != piVar11);\n  puVar6[4] = piVar8;\n  puVar6[6] = 0x1000001;\n  piVar12 = local_2c;\n  for (piVar11 = local_30; piVar3 != piVar11; piVar11 = piVar11 + 6) {\n    if ((int *)*piVar11 != piVar11 + 2) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    piVar12 = local_30;\n  }\nLAB_00261194:\n  if (piVar12 != (int *)0x0) {\n    (*(code *)PTR_operator_delete_0043228c)(piVar12);\n  }\n  puVar6 = *(undefined4 **)(this + 4);\n  if (puVar6 != *(undefined4 **)(this + 8)) {\n    *puVar6 = local_24;\n    *(undefined4 **)(this + 4) = puVar6 + 1;\n    this[0x3c] = (Versions)0x0;\n    return;\n  }\n  std::vector<gold::Verdef*,std::allocator<gold::Verdef*>>::_M_realloc_insert<gold::Verdef*const&>\n            ((vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this,puVar6,&local_24);\n  this[0x3c] = (Versions)0x0;\n  return;\n}\n\n" comment (function_definition "void __thiscall gold::Versions::define_base_version(Versions *this,Stringpool_template *param_1)\n\n{\n  code *pcVar1;\n  undefined *puVar2;\n  int *piVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int *piVar8;\n  int iVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  int *piVar12;\n  int *local_30;\n  int *local_2c;\n  undefined4 local_28;\n  undefined4 *local_24;\n  \n  if (*(int *)(this + 4) != *(int *)this) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x5d5,PTR_DAT_0043226c + 0x1aa8);\n    return;\n  }\n  iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n  if (iVar9 == 0) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + 0x1ba8);\n    return;\n  }\n  iVar4 = *(int *)(iVar9 + 0x1aa8);\n  if (iVar4 == 0) {\n    iVar4 = *(int *)(iVar9 + 0x27b0);\n  }\n  uVar5 = (*(code *)PTR_add_00432e80)(param_1,iVar4,0,0);\n  uVar10 = 0x1c;\n  local_30 = (int *)0x0;\n  local_2c = (int *)0x0;\n                    /* try { // try from 00261070 to 00261077 has its CatchHandler @ 002612fc */\n  local_28 = 0;\n  puVar6 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0x1c);\n  puVar6[2] = uVar5;\n  puVar6[3] = 0;\n  puVar2 = PTR_vtable_004357b0;\n  iVar9 = (int)local_2c - (int)local_30;\n  puVar6[1] = 0xffffffff;\n  puVar6[4] = 0;\n  puVar6[5] = 0;\n  *puVar6 = puVar2 + 8;\n  uVar7 = (iVar9 >> 3) * -0x55555555;\n  local_24 = puVar6;\n  if (uVar7 == 0) {\n    piVar8 = (int *)0x0;\n    puVar6[3] = 0;\n    puVar6[4] = 0;\n    puVar6[5] = iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) goto LAB_00261210;\n  }\n  else {\n    if (0xaaaaaaa < uVar7) {\n                    /* try { // try from 00261298 to 0026129f has its CatchHandler @ 002612a0 */\n      (*(code *)PTR___throw_bad_alloc_00432404)();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 002610d8 with catch @ 002612a0\n                       catch(type#1 @ 00000000) { ... } // from try @ 00261298 with catch @ 002612a0\n                        */\n      (*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);\n      (*(code *)PTR__vector_00432ca4)(&local_30);\n      (*(code *)PTR_FUN_00432258)(uVar10);\n      return;\n    }\n                    /* try { // try from 002610d8 to 002610df has its CatchHandler @ 002612a0 */\n    piVar8 = (int *)(*(code *)PTR_operator_new_0043233c)(iVar9);\n    puVar6[3] = piVar8;\n    puVar6[4] = piVar8;\n    puVar6[5] = (int)piVar8 + iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) {\nLAB_00261210:\n      puVar6[6] = 0x1000001;\n      piVar12 = local_30;\n      goto LAB_00261194;\n    }\n  }\n  do {\n    *piVar8 = (int)(piVar8 + 2);\n                    /* try { // try from 00261130 to 00261137 has its CatchHandler @ 002612d8 */\n    (*pcVar1)(piVar8,*piVar11,*piVar11 + piVar11[1],0);\n    piVar3 = local_2c;\n    piVar11 = piVar11 + 6;\n    piVar8 = piVar8 + 6;\n  } while (piVar12 != piVar11);\n  puVar6[4] = piVar8;\n  puVar6[6] = 0x1000001;\n  piVar12 = local_2c;\n  for (piVar11 = local_30; piVar3 != piVar11; piVar11 = piVar11 + 6) {\n    if ((int *)*piVar11 != piVar11 + 2) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    piVar12 = local_30;\n  }\nLAB_00261194:\n  if (piVar12 != (int *)0x0) {\n    (*(code *)PTR_operator_delete_0043228c)(piVar12);\n  }\n  puVar6 = *(undefined4 **)(this + 4);\n  if (puVar6 != *(undefined4 **)(this + 8)) {\n    *puVar6 = local_24;\n    *(undefined4 **)(this + 4) = puVar6 + 1;\n    this[0x3c] = (Versions)0x0;\n    return;\n  }\n  std::vector<gold::Verdef*,std::allocator<gold::Verdef*>>::_M_realloc_insert<gold::Verdef*const&>\n            ((vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this,puVar6,&local_24);\n  this[0x3c] = (Versions)0x0;\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Versions::" identifier : : identifier : :) (function_declarator "define_base_version(Versions *this,Stringpool_template *param_1)" identifier (parameter_list "(Versions *this,Stringpool_template *param_1)" ( (parameter_declaration "Versions *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Stringpool_template *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  code *pcVar1;\n  undefined *puVar2;\n  int *piVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int *piVar8;\n  int iVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  int *piVar12;\n  int *local_30;\n  int *local_2c;\n  undefined4 local_28;\n  undefined4 *local_24;\n  \n  if (*(int *)(this + 4) != *(int *)this) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x5d5,PTR_DAT_0043226c + 0x1aa8);\n    return;\n  }\n  iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n  if (iVar9 == 0) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + 0x1ba8);\n    return;\n  }\n  iVar4 = *(int *)(iVar9 + 0x1aa8);\n  if (iVar4 == 0) {\n    iVar4 = *(int *)(iVar9 + 0x27b0);\n  }\n  uVar5 = (*(code *)PTR_add_00432e80)(param_1,iVar4,0,0);\n  uVar10 = 0x1c;\n  local_30 = (int *)0x0;\n  local_2c = (int *)0x0;\n                    /* try { // try from 00261070 to 00261077 has its CatchHandler @ 002612fc */\n  local_28 = 0;\n  puVar6 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0x1c);\n  puVar6[2] = uVar5;\n  puVar6[3] = 0;\n  puVar2 = PTR_vtable_004357b0;\n  iVar9 = (int)local_2c - (int)local_30;\n  puVar6[1] = 0xffffffff;\n  puVar6[4] = 0;\n  puVar6[5] = 0;\n  *puVar6 = puVar2 + 8;\n  uVar7 = (iVar9 >> 3) * -0x55555555;\n  local_24 = puVar6;\n  if (uVar7 == 0) {\n    piVar8 = (int *)0x0;\n    puVar6[3] = 0;\n    puVar6[4] = 0;\n    puVar6[5] = iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) goto LAB_00261210;\n  }\n  else {\n    if (0xaaaaaaa < uVar7) {\n                    /* try { // try from 00261298 to 0026129f has its CatchHandler @ 002612a0 */\n      (*(code *)PTR___throw_bad_alloc_00432404)();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 002610d8 with catch @ 002612a0\n                       catch(type#1 @ 00000000) { ... } // from try @ 00261298 with catch @ 002612a0\n                        */\n      (*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);\n      (*(code *)PTR__vector_00432ca4)(&local_30);\n      (*(code *)PTR_FUN_00432258)(uVar10);\n      return;\n    }\n                    /* try { // try from 002610d8 to 002610df has its CatchHandler @ 002612a0 */\n    piVar8 = (int *)(*(code *)PTR_operator_new_0043233c)(iVar9);\n    puVar6[3] = piVar8;\n    puVar6[4] = piVar8;\n    puVar6[5] = (int)piVar8 + iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) {\nLAB_00261210:\n      puVar6[6] = 0x1000001;\n      piVar12 = local_30;\n      goto LAB_00261194;\n    }\n  }\n  do {\n    *piVar8 = (int)(piVar8 + 2);\n                    /* try { // try from 00261130 to 00261137 has its CatchHandler @ 002612d8 */\n    (*pcVar1)(piVar8,*piVar11,*piVar11 + piVar11[1],0);\n    piVar3 = local_2c;\n    piVar11 = piVar11 + 6;\n    piVar8 = piVar8 + 6;\n  } while (piVar12 != piVar11);\n  puVar6[4] = piVar8;\n  puVar6[6] = 0x1000001;\n  piVar12 = local_2c;\n  for (piVar11 = local_30; piVar3 != piVar11; piVar11 = piVar11 + 6) {\n    if ((int *)*piVar11 != piVar11 + 2) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    piVar12 = local_30;\n  }\nLAB_00261194:\n  if (piVar12 != (int *)0x0) {\n    (*(code *)PTR_operator_delete_0043228c)(piVar12);\n  }\n  puVar6 = *(undefined4 **)(this + 4);\n  if (puVar6 != *(undefined4 **)(this + 8)) {\n    *puVar6 = local_24;\n    *(undefined4 **)(this + 4) = puVar6 + 1;\n    this[0x3c] = (Versions)0x0;\n    return;\n  }\n  std::vector<gold::Verdef*,std::allocator<gold::Verdef*>>::_M_realloc_insert<gold::Verdef*const&>\n            ((vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this,puVar6,&local_24);\n  this[0x3c] = (Versions)0x0;\n  return;\n}" { (declaration "code *pcVar1;" type_identifier (pointer_declarator "*pcVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "int *local_30;" primitive_type (pointer_declarator "*local_30" * identifier) ;) (declaration "int *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined4 *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (if_statement "if (*(int *)(this + 4) != *(int *)this) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x5d5,PTR_DAT_0043226c + 0x1aa8);\n    return;\n  }" if (parenthesized_expression "(*(int *)(this + 4) != *(int *)this)" ( (binary_expression "*(int *)(this + 4) != *(int *)this" (pointer_expression "*(int *)(this + 4)" * (cast_expression "(int *)(this + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) != (pointer_expression "*(int *)this" * (cast_expression "(int *)this" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x5d5,PTR_DAT_0043226c + 0x1aa8);\n    return;\n  }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x5d5,PTR_DAT_0043226c + 0x1aa8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x5d5,PTR_DAT_0043226c + 0x1aa8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0043226c + 0x13e0,0x5d5,PTR_DAT_0043226c + 0x1aa8)" ( (binary_expression "PTR_DAT_0043226c + 0x13e0" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_0043226c + 0x1aa8" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);" (assignment_expression "iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 8)" identifier = (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 8)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 8" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (if_statement "if (iVar9 == 0) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + 0x1ba8);\n    return;\n  }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + 0x1ba8);\n    return;\n  }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + 0x1ba8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + 0x1ba8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + 0x1ba8)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5cec" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_0043226c + 0x1ba8" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar4 = *(int *)(iVar9 + 0x1aa8);" (assignment_expression "iVar4 = *(int *)(iVar9 + 0x1aa8)" identifier = (pointer_expression "*(int *)(iVar9 + 0x1aa8)" * (cast_expression "(int *)(iVar9 + 0x1aa8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1aa8)" ( (binary_expression "iVar9 + 0x1aa8" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 == 0) {\n    iVar4 = *(int *)(iVar9 + 0x27b0);\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar4 = *(int *)(iVar9 + 0x27b0);\n  }" { (expression_statement "iVar4 = *(int *)(iVar9 + 0x27b0);" (assignment_expression "iVar4 = *(int *)(iVar9 + 0x27b0)" identifier = (pointer_expression "*(int *)(iVar9 + 0x27b0)" * (cast_expression "(int *)(iVar9 + 0x27b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x27b0)" ( (binary_expression "iVar9 + 0x27b0" identifier + number_literal) ))))) ;) })) (expression_statement "uVar5 = (*(code *)PTR_add_00432e80)(param_1,iVar4,0,0);" (assignment_expression "uVar5 = (*(code *)PTR_add_00432e80)(param_1,iVar4,0,0)" identifier = (call_expression "(*(code *)PTR_add_00432e80)(param_1,iVar4,0,0)" (parenthesized_expression "(*(code *)PTR_add_00432e80)" ( (pointer_expression "*(code *)PTR_add_00432e80" * (cast_expression "(code *)PTR_add_00432e80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,iVar4,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "uVar10 = 0x1c;" (assignment_expression "uVar10 = 0x1c" identifier = number_literal) ;) (expression_statement "local_30 = (int *)0x0;" (assignment_expression "local_30 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_2c = (int *)0x0;" (assignment_expression "local_2c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) comment (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0x1c);" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0x1c)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_operator_new_0043233c)(0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new_0043233c)(0x1c)" (parenthesized_expression "(*(code *)PTR_operator_new_0043233c)" ( (pointer_expression "*(code *)PTR_operator_new_0043233c" * (cast_expression "(code *)PTR_operator_new_0043233c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x1c)" ( number_literal ))))) ;) (expression_statement "puVar6[2] = uVar5;" (assignment_expression "puVar6[2] = uVar5" (subscript_expression "puVar6[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[3] = 0;" (assignment_expression "puVar6[3] = 0" (subscript_expression "puVar6[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2 = PTR_vtable_004357b0;" (assignment_expression "puVar2 = PTR_vtable_004357b0" identifier = identifier) ;) (expression_statement "iVar9 = (int)local_2c - (int)local_30;" (assignment_expression "iVar9 = (int)local_2c - (int)local_30" identifier = (binary_expression "(int)local_2c - (int)local_30" (cast_expression "(int)local_2c" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar6[1] = 0xffffffff;" (assignment_expression "puVar6[1] = 0xffffffff" (subscript_expression "puVar6[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[4] = 0;" (assignment_expression "puVar6[4] = 0" (subscript_expression "puVar6[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[5] = 0;" (assignment_expression "puVar6[5] = 0" (subscript_expression "puVar6[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar6 = puVar2 + 8;" (assignment_expression "*puVar6 = puVar2 + 8" (pointer_expression "*puVar6" * identifier) = (binary_expression "puVar2 + 8" identifier + number_literal)) ;) (expression_statement "uVar7 = (iVar9 >> 3) * -0x55555555;" (assignment_expression "uVar7 = (iVar9 >> 3) * -0x55555555" identifier = (binary_expression "(iVar9 >> 3) * -0x55555555" (parenthesized_expression "(iVar9 >> 3)" ( (binary_expression "iVar9 >> 3" identifier >> number_literal) )) * number_literal)) ;) (expression_statement "local_24 = puVar6;" (assignment_expression "local_24 = puVar6" identifier = identifier) ;) (if_statement "if (uVar7 == 0) {\n    piVar8 = (int *)0x0;\n    puVar6[3] = 0;\n    puVar6[4] = 0;\n    puVar6[5] = iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) goto LAB_00261210;\n  }\n  else {\n    if (0xaaaaaaa < uVar7) {\n                    /* try { // try from 00261298 to 0026129f has its CatchHandler @ 002612a0 */\n      (*(code *)PTR___throw_bad_alloc_00432404)();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 002610d8 with catch @ 002612a0\n                       catch(type#1 @ 00000000) { ... } // from try @ 00261298 with catch @ 002612a0\n                        */\n      (*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);\n      (*(code *)PTR__vector_00432ca4)(&local_30);\n      (*(code *)PTR_FUN_00432258)(uVar10);\n      return;\n    }\n                    /* try { // try from 002610d8 to 002610df has its CatchHandler @ 002612a0 */\n    piVar8 = (int *)(*(code *)PTR_operator_new_0043233c)(iVar9);\n    puVar6[3] = piVar8;\n    puVar6[4] = piVar8;\n    puVar6[5] = (int)piVar8 + iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) {\nLAB_00261210:\n      puVar6[6] = 0x1000001;\n      piVar12 = local_30;\n      goto LAB_00261194;\n    }\n  }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    piVar8 = (int *)0x0;\n    puVar6[3] = 0;\n    puVar6[4] = 0;\n    puVar6[5] = iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) goto LAB_00261210;\n  }" { (expression_statement "piVar8 = (int *)0x0;" (assignment_expression "piVar8 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar6[3] = 0;" (assignment_expression "puVar6[3] = 0" (subscript_expression "puVar6[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[4] = 0;" (assignment_expression "puVar6[4] = 0" (subscript_expression "puVar6[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[5] = iVar9;" (assignment_expression "puVar6[5] = iVar9" (subscript_expression "puVar6[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar11 = local_30;" (assignment_expression "piVar11 = local_30" identifier = identifier) ;) (expression_statement "pcVar1 = (code *)PTR__M_construct<char*>_0043248c;" (assignment_expression "pcVar1 = (code *)PTR__M_construct<char*>_0043248c" identifier = (binary_expression "(code *)PTR__M_construct<char*>_0043248c" (binary_expression "(code *)PTR__M_construct<char" (cast_expression "(code *)PTR__M_construct" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < identifier) (ERROR "*" *) > identifier)) ;) (expression_statement "piVar12 = local_2c;" (assignment_expression "piVar12 = local_2c" identifier = identifier) ;) (if_statement "if (local_2c == local_30) goto LAB_00261210;" if (parenthesized_expression "(local_2c == local_30)" ( (binary_expression "local_2c == local_30" identifier == identifier) )) (goto_statement "goto LAB_00261210;" goto statement_identifier ;)) }) (else_clause "else {\n    if (0xaaaaaaa < uVar7) {\n                    /* try { // try from 00261298 to 0026129f has its CatchHandler @ 002612a0 */\n      (*(code *)PTR___throw_bad_alloc_00432404)();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 002610d8 with catch @ 002612a0\n                       catch(type#1 @ 00000000) { ... } // from try @ 00261298 with catch @ 002612a0\n                        */\n      (*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);\n      (*(code *)PTR__vector_00432ca4)(&local_30);\n      (*(code *)PTR_FUN_00432258)(uVar10);\n      return;\n    }\n                    /* try { // try from 002610d8 to 002610df has its CatchHandler @ 002612a0 */\n    piVar8 = (int *)(*(code *)PTR_operator_new_0043233c)(iVar9);\n    puVar6[3] = piVar8;\n    puVar6[4] = piVar8;\n    puVar6[5] = (int)piVar8 + iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) {\nLAB_00261210:\n      puVar6[6] = 0x1000001;\n      piVar12 = local_30;\n      goto LAB_00261194;\n    }\n  }" else (compound_statement "{\n    if (0xaaaaaaa < uVar7) {\n                    /* try { // try from 00261298 to 0026129f has its CatchHandler @ 002612a0 */\n      (*(code *)PTR___throw_bad_alloc_00432404)();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 002610d8 with catch @ 002612a0\n                       catch(type#1 @ 00000000) { ... } // from try @ 00261298 with catch @ 002612a0\n                        */\n      (*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);\n      (*(code *)PTR__vector_00432ca4)(&local_30);\n      (*(code *)PTR_FUN_00432258)(uVar10);\n      return;\n    }\n                    /* try { // try from 002610d8 to 002610df has its CatchHandler @ 002612a0 */\n    piVar8 = (int *)(*(code *)PTR_operator_new_0043233c)(iVar9);\n    puVar6[3] = piVar8;\n    puVar6[4] = piVar8;\n    puVar6[5] = (int)piVar8 + iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) {\nLAB_00261210:\n      puVar6[6] = 0x1000001;\n      piVar12 = local_30;\n      goto LAB_00261194;\n    }\n  }" { (if_statement "if (0xaaaaaaa < uVar7) {\n                    /* try { // try from 00261298 to 0026129f has its CatchHandler @ 002612a0 */\n      (*(code *)PTR___throw_bad_alloc_00432404)();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 002610d8 with catch @ 002612a0\n                       catch(type#1 @ 00000000) { ... } // from try @ 00261298 with catch @ 002612a0\n                        */\n      (*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);\n      (*(code *)PTR__vector_00432ca4)(&local_30);\n      (*(code *)PTR_FUN_00432258)(uVar10);\n      return;\n    }" if (parenthesized_expression "(0xaaaaaaa < uVar7)" ( (binary_expression "0xaaaaaaa < uVar7" number_literal < identifier) )) (compound_statement "{\n                    /* try { // try from 00261298 to 0026129f has its CatchHandler @ 002612a0 */\n      (*(code *)PTR___throw_bad_alloc_00432404)();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 002610d8 with catch @ 002612a0\n                       catch(type#1 @ 00000000) { ... } // from try @ 00261298 with catch @ 002612a0\n                        */\n      (*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);\n      (*(code *)PTR__vector_00432ca4)(&local_30);\n      (*(code *)PTR_FUN_00432258)(uVar10);\n      return;\n    }" { comment (expression_statement "(*(code *)PTR___throw_bad_alloc_00432404)();" (call_expression "(*(code *)PTR___throw_bad_alloc_00432404)()" (parenthesized_expression "(*(code *)PTR___throw_bad_alloc_00432404)" ( (pointer_expression "*(code *)PTR___throw_bad_alloc_00432404" * (cast_expression "(code *)PTR___throw_bad_alloc_00432404" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) comment (expression_statement "(*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);" (call_expression "(*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c)" (parenthesized_expression "(*(code *)PTR_operator_delete_004323c0)" ( (pointer_expression "*(code *)PTR_operator_delete_004323c0" * (cast_expression "(code *)PTR_operator_delete_004323c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,0x1c)" ( identifier , number_literal ))) ;) (expression_statement "(*(code *)PTR__vector_00432ca4)(&local_30);" (call_expression "(*(code *)PTR__vector_00432ca4)(&local_30)" (parenthesized_expression "(*(code *)PTR__vector_00432ca4)" ( (pointer_expression "*(code *)PTR__vector_00432ca4" * (cast_expression "(code *)PTR__vector_00432ca4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_30)" ( (pointer_expression "&local_30" & identifier) ))) ;) (expression_statement "(*(code *)PTR_FUN_00432258)(uVar10);" (call_expression "(*(code *)PTR_FUN_00432258)(uVar10)" (parenthesized_expression "(*(code *)PTR_FUN_00432258)" ( (pointer_expression "*(code *)PTR_FUN_00432258" * (cast_expression "(code *)PTR_FUN_00432258" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10)" ( identifier ))) ;) (return_statement "return;" return ;) })) comment (expression_statement "piVar8 = (int *)(*(code *)PTR_operator_new_0043233c)(iVar9);" (assignment_expression "piVar8 = (int *)(*(code *)PTR_operator_new_0043233c)(iVar9)" identifier = (cast_expression "(int *)(*(code *)PTR_operator_new_0043233c)(iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new_0043233c)(iVar9)" (parenthesized_expression "(*(code *)PTR_operator_new_0043233c)" ( (pointer_expression "*(code *)PTR_operator_new_0043233c" * (cast_expression "(code *)PTR_operator_new_0043233c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9)" ( identifier ))))) ;) (expression_statement "puVar6[3] = piVar8;" (assignment_expression "puVar6[3] = piVar8" (subscript_expression "puVar6[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[4] = piVar8;" (assignment_expression "puVar6[4] = piVar8" (subscript_expression "puVar6[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[5] = (int)piVar8 + iVar9;" (assignment_expression "puVar6[5] = (int)piVar8 + iVar9" (subscript_expression "puVar6[5]" identifier [ number_literal ]) = (binary_expression "(int)piVar8 + iVar9" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "piVar11 = local_30;" (assignment_expression "piVar11 = local_30" identifier = identifier) ;) (expression_statement "pcVar1 = (code *)PTR__M_construct<char*>_0043248c;" (assignment_expression "pcVar1 = (code *)PTR__M_construct<char*>_0043248c" identifier = (binary_expression "(code *)PTR__M_construct<char*>_0043248c" (binary_expression "(code *)PTR__M_construct<char" (cast_expression "(code *)PTR__M_construct" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < identifier) (ERROR "*" *) > identifier)) ;) (expression_statement "piVar12 = local_2c;" (assignment_expression "piVar12 = local_2c" identifier = identifier) ;) (if_statement "if (local_2c == local_30) {\nLAB_00261210:\n      puVar6[6] = 0x1000001;\n      piVar12 = local_30;\n      goto LAB_00261194;\n    }" if (parenthesized_expression "(local_2c == local_30)" ( (binary_expression "local_2c == local_30" identifier == identifier) )) (compound_statement "{\nLAB_00261210:\n      puVar6[6] = 0x1000001;\n      piVar12 = local_30;\n      goto LAB_00261194;\n    }" { (labeled_statement "LAB_00261210:\n      puVar6[6] = 0x1000001;" statement_identifier : (expression_statement "puVar6[6] = 0x1000001;" (assignment_expression "puVar6[6] = 0x1000001" (subscript_expression "puVar6[6]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "piVar12 = local_30;" (assignment_expression "piVar12 = local_30" identifier = identifier) ;) (goto_statement "goto LAB_00261194;" goto statement_identifier ;) })) }))) (do_statement "do {\n    *piVar8 = (int)(piVar8 + 2);\n                    /* try { // try from 00261130 to 00261137 has its CatchHandler @ 002612d8 */\n    (*pcVar1)(piVar8,*piVar11,*piVar11 + piVar11[1],0);\n    piVar3 = local_2c;\n    piVar11 = piVar11 + 6;\n    piVar8 = piVar8 + 6;\n  } while (piVar12 != piVar11);" do (compound_statement "{\n    *piVar8 = (int)(piVar8 + 2);\n                    /* try { // try from 00261130 to 00261137 has its CatchHandler @ 002612d8 */\n    (*pcVar1)(piVar8,*piVar11,*piVar11 + piVar11[1],0);\n    piVar3 = local_2c;\n    piVar11 = piVar11 + 6;\n    piVar8 = piVar8 + 6;\n  }" { (expression_statement "*piVar8 = (int)(piVar8 + 2);" (assignment_expression "*piVar8 = (int)(piVar8 + 2)" (pointer_expression "*piVar8" * identifier) = (cast_expression "(int)(piVar8 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar8 + 2)" ( (binary_expression "piVar8 + 2" identifier + number_literal) )))) ;) comment (expression_statement "(*pcVar1)(piVar8,*piVar11,*piVar11 + piVar11[1],0);" (call_expression "(*pcVar1)(piVar8,*piVar11,*piVar11 + piVar11[1],0)" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "(piVar8,*piVar11,*piVar11 + piVar11[1],0)" ( identifier , (pointer_expression "*piVar11" * identifier) , (binary_expression "*piVar11 + piVar11[1]" (pointer_expression "*piVar11" * identifier) + (subscript_expression "piVar11[1]" identifier [ number_literal ])) , number_literal ))) ;) (expression_statement "piVar3 = local_2c;" (assignment_expression "piVar3 = local_2c" identifier = identifier) ;) (expression_statement "piVar11 = piVar11 + 6;" (assignment_expression "piVar11 = piVar11 + 6" identifier = (binary_expression "piVar11 + 6" identifier + number_literal)) ;) (expression_statement "piVar8 = piVar8 + 6;" (assignment_expression "piVar8 = piVar8 + 6" identifier = (binary_expression "piVar8 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar12 != piVar11)" ( (binary_expression "piVar12 != piVar11" identifier != identifier) )) ;) (expression_statement "puVar6[4] = piVar8;" (assignment_expression "puVar6[4] = piVar8" (subscript_expression "puVar6[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[6] = 0x1000001;" (assignment_expression "puVar6[6] = 0x1000001" (subscript_expression "puVar6[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar12 = local_2c;" (assignment_expression "piVar12 = local_2c" identifier = identifier) ;) (for_statement "for (piVar11 = local_30; piVar3 != piVar11; piVar11 = piVar11 + 6) {\n    if ((int *)*piVar11 != piVar11 + 2) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    piVar12 = local_30;\n  }" for ( (assignment_expression "piVar11 = local_30" identifier = identifier) ; (binary_expression "piVar3 != piVar11" identifier != identifier) ; (assignment_expression "piVar11 = piVar11 + 6" identifier = (binary_expression "piVar11 + 6" identifier + number_literal)) ) (compound_statement "{\n    if ((int *)*piVar11 != piVar11 + 2) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    piVar12 = local_30;\n  }" { (if_statement "if ((int *)*piVar11 != piVar11 + 2) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }" if (parenthesized_expression "((int *)*piVar11 != piVar11 + 2)" ( (binary_expression "(int *)*piVar11 != piVar11 + 2" (cast_expression "(int *)*piVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier)) != (binary_expression "piVar11 + 2" identifier + number_literal)) )) (compound_statement "{\n      (*(code *)PTR_operator_delete_0043228c)();\n    }" { (expression_statement "(*(code *)PTR_operator_delete_0043228c)();" (call_expression "(*(code *)PTR_operator_delete_0043228c)()" (parenthesized_expression "(*(code *)PTR_operator_delete_0043228c)" ( (pointer_expression "*(code *)PTR_operator_delete_0043228c" * (cast_expression "(code *)PTR_operator_delete_0043228c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "piVar12 = local_30;" (assignment_expression "piVar12 = local_30" identifier = identifier) ;) })) (labeled_statement "LAB_00261194:\n  if (piVar12 != (int *)0x0) {\n    (*(code *)PTR_operator_delete_0043228c)(piVar12);\n  }" statement_identifier : (if_statement "if (piVar12 != (int *)0x0) {\n    (*(code *)PTR_operator_delete_0043228c)(piVar12);\n  }" if (parenthesized_expression "(piVar12 != (int *)0x0)" ( (binary_expression "piVar12 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_0043228c)(piVar12);\n  }" { (expression_statement "(*(code *)PTR_operator_delete_0043228c)(piVar12);" (call_expression "(*(code *)PTR_operator_delete_0043228c)(piVar12)" (parenthesized_expression "(*(code *)PTR_operator_delete_0043228c)" ( (pointer_expression "*(code *)PTR_operator_delete_0043228c" * (cast_expression "(code *)PTR_operator_delete_0043228c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar12)" ( identifier ))) ;) }))) (expression_statement "puVar6 = *(undefined4 **)(this + 4);" (assignment_expression "puVar6 = *(undefined4 **)(this + 4)" identifier = (pointer_expression "*(undefined4 **)(this + 4)" * (cast_expression "(undefined4 **)(this + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) ))))) ;) (if_statement "if (puVar6 != *(undefined4 **)(this + 8)) {\n    *puVar6 = local_24;\n    *(undefined4 **)(this + 4) = puVar6 + 1;\n    this[0x3c] = (Versions)0x0;\n    return;\n  }" if (parenthesized_expression "(puVar6 != *(undefined4 **)(this + 8))" ( (binary_expression "puVar6 != *(undefined4 **)(this + 8)" identifier != (pointer_expression "*(undefined4 **)(this + 8)" * (cast_expression "(undefined4 **)(this + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) ))))) )) (compound_statement "{\n    *puVar6 = local_24;\n    *(undefined4 **)(this + 4) = puVar6 + 1;\n    this[0x3c] = (Versions)0x0;\n    return;\n  }" { (expression_statement "*puVar6 = local_24;" (assignment_expression "*puVar6 = local_24" (pointer_expression "*puVar6" * identifier) = identifier) ;) (expression_statement "*(undefined4 **)(this + 4) = puVar6 + 1;" (assignment_expression "*(undefined4 **)(this + 4) = puVar6 + 1" (pointer_expression "*(undefined4 **)(this + 4)" * (cast_expression "(undefined4 **)(this + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) = (binary_expression "puVar6 + 1" identifier + number_literal)) ;) (expression_statement "this[0x3c] = (Versions)0x0;" (assignment_expression "this[0x3c] = (Versions)0x0" (subscript_expression "this[0x3c]" identifier [ number_literal ]) = (cast_expression "(Versions)0x0" ( (type_descriptor "Versions" type_identifier) ) number_literal)) ;) (return_statement "return;" return ;) })) (ERROR "std::vector<gold::Verdef*,std::allocator<gold::Verdef*>>::_M_realloc_insert<gold::" (comma_expression "std::vector<gold::Verdef*,std" identifier (ERROR "::vector<gold::Verdef*" : : (binary_expression "vector<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Verdef*>>::_M_realloc_insert<gold" (binary_expression "Verdef*>>::_M_realloc_insert" identifier * (ERROR ">>::" >> : :) identifier) < identifier) : :) (expression_statement "Verdef*const&>\n            ((vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this,puVar6,&local_24);" (binary_expression "Verdef*const&>\n            ((vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this,puVar6,&local_24)" (binary_expression "Verdef*const" identifier * identifier) (ERROR "&" &) > (parenthesized_expression "((vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this,puVar6,&local_24)" ( (parenthesized_expression "(vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this,puVar6,&local_24)" ( (comma_expression "vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this,puVar6,&local_24" (binary_expression "vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this" (binary_expression "vector<gold::Verdef*,std::allocator<gold" (binary_expression "vector<gold::Verdef*,std" (binary_expression "vector<gold" identifier < identifier) (ERROR "::Verdef" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Verdef" : : identifier) * (ERROR ">>" >>) (pointer_expression "*)this" * (ERROR ")" )) identifier)) , (comma_expression "puVar6,&local_24" identifier , (pointer_expression "&local_24" & identifier))) )) ))) ;) (expression_statement "this[0x3c] = (Versions)0x0;" (assignment_expression "this[0x3c] = (Versions)0x0" (subscript_expression "this[0x3c]" identifier [ number_literal ]) = (cast_expression "(Versions)0x0" ( (type_descriptor "Versions" type_identifier) ) number_literal)) ;) (return_statement "return;" return ;) })))
(translation_unit "/* DWARF original prototype: void define_base_version(Versions * this, Stringpool * dynpool) */\n\nvoid __thiscall gold::Versions::define_base_version(Versions *this,Stringpool *dynpool)\n\n{\n  code *pcVar1;\n  int *piVar2;\n  int iVar3;\n  char *pcVar4;\n  uint uVar5;\n  pointer pbVar6;\n  int iVar7;\n  undefined1 *puVar8;\n  iterator __position;\n  undefined *puVar9;\n  int *piVar10;\n  int *piVar11;\n  Verdef *unaff_s1;\n  pointer pbVar12;\n  int *local_30;\n  int *local_2c;\n  undefined4 local_28;\n  Verdef *vdbase;\n  \n  if ((this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish ==\n      (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_start) {\n    iVar7 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n    puVar9 = PTR_s__0043226c;\n    if (iVar7 != 0) {\n      iVar3 = *(int *)(iVar7 + 0x1aa8);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(iVar7 + 0x27b0);\n      }\n      pcVar4 = (char *)(*(code *)PTR_add_00432e80)(dynpool,iVar3,0,0);\n      puVar8 = &DAT_0000001c;\n      local_30 = (int *)0x0;\n      local_2c = (int *)0x0;\n                    /* try { // try from 00261070 to 00261077 has its CatchHandler @ 002612fc */\n      local_28 = 0;\n      unaff_s1 = (Verdef *)(*(code *)PTR_operator_new_0043233c)(0x1c);\n      unaff_s1->name_ = pcVar4;\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)0x0;\n      puVar9 = PTR_vtable_004357b0;\n      pbVar12 = (pointer)((int)local_2c - (int)local_30);\n      (unaff_s1->super_Version_base).index_ = 0xffffffff;\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0;\n      (unaff_s1->super_Version_base)._vptr_Version_base = (_func_int_varargs **)(puVar9 + 8);\n      uVar5 = ((int)pbVar12 >> 3) * -0x55555555;\n      vdbase = unaff_s1;\n      if (uVar5 == 0) {\n        pbVar6 = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_end_of_storage = pbVar12;\n        piVar10 = local_30;\n        pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n        piVar11 = local_2c;\n        if (local_2c == local_30) {\nLAB_00261210:\n          unaff_s1->is_base_ = true;\n          unaff_s1->is_weak_ = false;\n          unaff_s1->is_info_ = false;\n          unaff_s1->is_symbol_created_ = true;\n          piVar11 = local_30;\n          goto LAB_00261194;\n        }\n      }\n      else {\n        if (0xaaaaaaa < uVar5) goto LAB_00261294;\n                    /* try { // try from 002610d8 to 002610df has its CatchHandler @ 002612a0 */\n        pbVar6 = (pointer)(*(code *)PTR_operator_new_0043233c)(pbVar12);\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start = pbVar6;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = pbVar6;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_end_of_storage = (pointer)((int)pbVar6 + (int)pbVar12);\n        piVar10 = local_30;\n        pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n        piVar11 = local_2c;\n        if (local_2c == local_30) goto LAB_00261210;\n      }\n      do {\n        (pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;\n                    /* try { // try from 00261130 to 00261137 has its CatchHandler @ 002612d8 */\n        (*pcVar1)(pbVar6,*piVar10,*piVar10 + piVar10[1],0);\n        piVar2 = local_2c;\n        piVar10 = piVar10 + 6;\n        pbVar6 = pbVar6 + 1;\n      } while (piVar11 != piVar10);\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = pbVar6;\n      unaff_s1->is_base_ = true;\n      unaff_s1->is_weak_ = false;\n      unaff_s1->is_info_ = false;\n      unaff_s1->is_symbol_created_ = true;\n      piVar11 = local_2c;\n      for (piVar10 = local_30; piVar2 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          (*(code *)PTR_operator_delete_0043228c)();\n        }\n        piVar11 = local_30;\n      }\nLAB_00261194:\n      if (piVar11 != (int *)0x0) {\n        (*(code *)PTR_operator_delete_0043228c)(piVar11);\n      }\n      __position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n           _M_finish;\n      if (__position._M_current !=\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n          _M_end_of_storage) {\n        *__position._M_current = vdbase;\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_finish = __position._M_current + 1;\n        this->needs_base_version_ = false;\n        return;\n      }\n      std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n      _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vdbase);\n      this->needs_base_version_ = false;\n      return;\n    }\n  }\n  else {\n    puVar9 = PTR_s__0043226c + 0x1aa8;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(PTR_s__0043226c + 0x13e0,0x5d5,puVar9);\n  }\n  puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n  (*(code *)PTR_do_gold_unreachable_004323c4)(puVar8,0x5c,puVar9 + 0x1ba8);\nLAB_00261294:\n                    /* try { // try from 00261298 to 0026129f has its CatchHandler @ 002612a0 */\n  (*(code *)PTR___throw_bad_alloc_00432404)();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 002610d8 with catch @ 002612a0\n                       catch(type#1 @ 00000000) { ... } // from try @ 00261298 with catch @ 002612a0\n                        */\n  (*(code *)PTR_operator_delete_004323c0)(unaff_s1,0x1c);\n  (*(code *)PTR__vector_00432ca4)(&local_30);\n  (*(code *)PTR__Unwind_Resume_00432258)(puVar8);\n  return;\n}\n\n" comment (function_definition "void __thiscall gold::Versions::define_base_version(Versions *this,Stringpool *dynpool)\n\n{\n  code *pcVar1;\n  int *piVar2;\n  int iVar3;\n  char *pcVar4;\n  uint uVar5;\n  pointer pbVar6;\n  int iVar7;\n  undefined1 *puVar8;\n  iterator __position;\n  undefined *puVar9;\n  int *piVar10;\n  int *piVar11;\n  Verdef *unaff_s1;\n  pointer pbVar12;\n  int *local_30;\n  int *local_2c;\n  undefined4 local_28;\n  Verdef *vdbase;\n  \n  if ((this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish ==\n      (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_start) {\n    iVar7 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n    puVar9 = PTR_s__0043226c;\n    if (iVar7 != 0) {\n      iVar3 = *(int *)(iVar7 + 0x1aa8);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(iVar7 + 0x27b0);\n      }\n      pcVar4 = (char *)(*(code *)PTR_add_00432e80)(dynpool,iVar3,0,0);\n      puVar8 = &DAT_0000001c;\n      local_30 = (int *)0x0;\n      local_2c = (int *)0x0;\n                    /* try { // try from 00261070 to 00261077 has its CatchHandler @ 002612fc */\n      local_28 = 0;\n      unaff_s1 = (Verdef *)(*(code *)PTR_operator_new_0043233c)(0x1c);\n      unaff_s1->name_ = pcVar4;\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)0x0;\n      puVar9 = PTR_vtable_004357b0;\n      pbVar12 = (pointer)((int)local_2c - (int)local_30);\n      (unaff_s1->super_Version_base).index_ = 0xffffffff;\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0;\n      (unaff_s1->super_Version_base)._vptr_Version_base = (_func_int_varargs **)(puVar9 + 8);\n      uVar5 = ((int)pbVar12 >> 3) * -0x55555555;\n      vdbase = unaff_s1;\n      if (uVar5 == 0) {\n        pbVar6 = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_end_of_storage = pbVar12;\n        piVar10 = local_30;\n        pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n        piVar11 = local_2c;\n        if (local_2c == local_30) {\nLAB_00261210:\n          unaff_s1->is_base_ = true;\n          unaff_s1->is_weak_ = false;\n          unaff_s1->is_info_ = false;\n          unaff_s1->is_symbol_created_ = true;\n          piVar11 = local_30;\n          goto LAB_00261194;\n        }\n      }\n      else {\n        if (0xaaaaaaa < uVar5) goto LAB_00261294;\n                    /* try { // try from 002610d8 to 002610df has its CatchHandler @ 002612a0 */\n        pbVar6 = (pointer)(*(code *)PTR_operator_new_0043233c)(pbVar12);\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start = pbVar6;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = pbVar6;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_end_of_storage = (pointer)((int)pbVar6 + (int)pbVar12);\n        piVar10 = local_30;\n        pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n        piVar11 = local_2c;\n        if (local_2c == local_30) goto LAB_00261210;\n      }\n      do {\n        (pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;\n                    /* try { // try from 00261130 to 00261137 has its CatchHandler @ 002612d8 */\n        (*pcVar1)(pbVar6,*piVar10,*piVar10 + piVar10[1],0);\n        piVar2 = local_2c;\n        piVar10 = piVar10 + 6;\n        pbVar6 = pbVar6 + 1;\n      } while (piVar11 != piVar10);\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = pbVar6;\n      unaff_s1->is_base_ = true;\n      unaff_s1->is_weak_ = false;\n      unaff_s1->is_info_ = false;\n      unaff_s1->is_symbol_created_ = true;\n      piVar11 = local_2c;\n      for (piVar10 = local_30; piVar2 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          (*(code *)PTR_operator_delete_0043228c)();\n        }\n        piVar11 = local_30;\n      }\nLAB_00261194:\n      if (piVar11 != (int *)0x0) {\n        (*(code *)PTR_operator_delete_0043228c)(piVar11);\n      }\n      __position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n           _M_finish;\n      if (__position._M_current !=\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n          _M_end_of_storage) {\n        *__position._M_current = vdbase;\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_finish = __position._M_current + 1;\n        this->needs_base_version_ = false;\n        return;\n      }\n      std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n      _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vdbase);\n      this->needs_base_version_ = false;\n      return;\n    }\n  }\n  else {\n    puVar9 = PTR_s__0043226c + 0x1aa8;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(PTR_s__0043226c + 0x13e0,0x5d5,puVar9);\n  }\n  puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n  (*(code *)PTR_do_gold_unreachable_004323c4)(puVar8,0x5c,puVar9 + 0x1ba8);\nLAB_00261294:\n                    /* try { // try from 00261298 to 0026129f has its CatchHandler @ 002612a0 */\n  (*(code *)PTR___throw_bad_alloc_00432404)();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 002610d8 with catch @ 002612a0\n                       catch(type#1 @ 00000000) { ... } // from try @ 00261298 with catch @ 002612a0\n                        */\n  (*(code *)PTR_operator_delete_004323c0)(unaff_s1,0x1c);\n  (*(code *)PTR__vector_00432ca4)(&local_30);\n  (*(code *)PTR__Unwind_Resume_00432258)(puVar8);\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Versions::" identifier : : identifier : :) (function_declarator "define_base_version(Versions *this,Stringpool *dynpool)" identifier (parameter_list "(Versions *this,Stringpool *dynpool)" ( (parameter_declaration "Versions *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Stringpool *dynpool" type_identifier (pointer_declarator "*dynpool" * identifier)) ))) (compound_statement "{\n  code *pcVar1;\n  int *piVar2;\n  int iVar3;\n  char *pcVar4;\n  uint uVar5;\n  pointer pbVar6;\n  int iVar7;\n  undefined1 *puVar8;\n  iterator __position;\n  undefined *puVar9;\n  int *piVar10;\n  int *piVar11;\n  Verdef *unaff_s1;\n  pointer pbVar12;\n  int *local_30;\n  int *local_2c;\n  undefined4 local_28;\n  Verdef *vdbase;\n  \n  if ((this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish ==\n      (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_start) {\n    iVar7 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n    puVar9 = PTR_s__0043226c;\n    if (iVar7 != 0) {\n      iVar3 = *(int *)(iVar7 + 0x1aa8);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(iVar7 + 0x27b0);\n      }\n      pcVar4 = (char *)(*(code *)PTR_add_00432e80)(dynpool,iVar3,0,0);\n      puVar8 = &DAT_0000001c;\n      local_30 = (int *)0x0;\n      local_2c = (int *)0x0;\n                    /* try { // try from 00261070 to 00261077 has its CatchHandler @ 002612fc */\n      local_28 = 0;\n      unaff_s1 = (Verdef *)(*(code *)PTR_operator_new_0043233c)(0x1c);\n      unaff_s1->name_ = pcVar4;\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)0x0;\n      puVar9 = PTR_vtable_004357b0;\n      pbVar12 = (pointer)((int)local_2c - (int)local_30);\n      (unaff_s1->super_Version_base).index_ = 0xffffffff;\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0;\n      (unaff_s1->super_Version_base)._vptr_Version_base = (_func_int_varargs **)(puVar9 + 8);\n      uVar5 = ((int)pbVar12 >> 3) * -0x55555555;\n      vdbase = unaff_s1;\n      if (uVar5 == 0) {\n        pbVar6 = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_end_of_storage = pbVar12;\n        piVar10 = local_30;\n        pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n        piVar11 = local_2c;\n        if (local_2c == local_30) {\nLAB_00261210:\n          unaff_s1->is_base_ = true;\n          unaff_s1->is_weak_ = false;\n          unaff_s1->is_info_ = false;\n          unaff_s1->is_symbol_created_ = true;\n          piVar11 = local_30;\n          goto LAB_00261194;\n        }\n      }\n      else {\n        if (0xaaaaaaa < uVar5) goto LAB_00261294;\n                    /* try { // try from 002610d8 to 002610df has its CatchHandler @ 002612a0 */\n        pbVar6 = (pointer)(*(code *)PTR_operator_new_0043233c)(pbVar12);\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start = pbVar6;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = pbVar6;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_end_of_storage = (pointer)((int)pbVar6 + (int)pbVar12);\n        piVar10 = local_30;\n        pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n        piVar11 = local_2c;\n        if (local_2c == local_30) goto LAB_00261210;\n      }\n      do {\n        (pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;\n                    /* try { // try from 00261130 to 00261137 has its CatchHandler @ 002612d8 */\n        (*pcVar1)(pbVar6,*piVar10,*piVar10 + piVar10[1],0);\n        piVar2 = local_2c;\n        piVar10 = piVar10 + 6;\n        pbVar6 = pbVar6 + 1;\n      } while (piVar11 != piVar10);\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = pbVar6;\n      unaff_s1->is_base_ = true;\n      unaff_s1->is_weak_ = false;\n      unaff_s1->is_info_ = false;\n      unaff_s1->is_symbol_created_ = true;\n      piVar11 = local_2c;\n      for (piVar10 = local_30; piVar2 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          (*(code *)PTR_operator_delete_0043228c)();\n        }\n        piVar11 = local_30;\n      }\nLAB_00261194:\n      if (piVar11 != (int *)0x0) {\n        (*(code *)PTR_operator_delete_0043228c)(piVar11);\n      }\n      __position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n           _M_finish;\n      if (__position._M_current !=\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n          _M_end_of_storage) {\n        *__position._M_current = vdbase;\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_finish = __position._M_current + 1;\n        this->needs_base_version_ = false;\n        return;\n      }\n      std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n      _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vdbase);\n      this->needs_base_version_ = false;\n      return;\n    }\n  }\n  else {\n    puVar9 = PTR_s__0043226c + 0x1aa8;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(PTR_s__0043226c + 0x13e0,0x5d5,puVar9);\n  }\n  puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;\n  (*(code *)PTR_do_gold_unreachable_004323c4)(puVar8,0x5c,puVar9 + 0x1ba8);\nLAB_00261294:\n                    /* try { // try from 00261298 to 0026129f has its CatchHandler @ 002612a0 */\n  (*(code *)PTR___throw_bad_alloc_00432404)();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 002610d8 with catch @ 002612a0\n                       catch(type#1 @ 00000000) { ... } // from try @ 00261298 with catch @ 002612a0\n                        */\n  (*(code *)PTR_operator_delete_004323c0)(unaff_s1,0x1c);\n  (*(code *)PTR__vector_00432ca4)(&local_30);\n  (*(code *)PTR__Unwind_Resume_00432258)(puVar8);\n  return;\n}" { (declaration "code *pcVar1;" type_identifier (pointer_declarator "*pcVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "pointer pbVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined1 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "iterator __position;" type_identifier identifier ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "Verdef *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "pointer pbVar12;" type_identifier identifier ;) (declaration "int *local_30;" primitive_type (pointer_declarator "*local_30" * identifier) ;) (declaration "int *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "Verdef *vdbase;" type_identifier (pointer_declarator "*vdbase" * identifier) ;) (if_statement "if ((this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish ==\n      (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_start) {\n    iVar7 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n    puVar9 = PTR_s__0043226c;\n    if (iVar7 != 0) {\n      iVar3 = *(int *)(iVar7 + 0x1aa8);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(iVar7 + 0x27b0);\n      }\n      pcVar4 = (char *)(*(code *)PTR_add_00432e80)(dynpool,iVar3,0,0);\n      puVar8 = &DAT_0000001c;\n      local_30 = (int *)0x0;\n      local_2c = (int *)0x0;\n                    /* try { // try from 00261070 to 00261077 has its CatchHandler @ 002612fc */\n      local_28 = 0;\n      unaff_s1 = (Verdef *)(*(code *)PTR_operator_new_0043233c)(0x1c);\n      unaff_s1->name_ = pcVar4;\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)0x0;\n      puVar9 = PTR_vtable_004357b0;\n      pbVar12 = (pointer)((int)local_2c - (int)local_30);\n      (unaff_s1->super_Version_base).index_ = 0xffffffff;\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0;\n      (unaff_s1->super_Version_base)._vptr_Version_base = (_func_int_varargs **)(puVar9 + 8);\n      uVar5 = ((int)pbVar12 >> 3) * -0x55555555;\n      vdbase = unaff_s1;\n      if (uVar5 == 0) {\n        pbVar6 = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_end_of_storage = pbVar12;\n        piVar10 = local_30;\n        pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n        piVar11 = local_2c;\n        if (local_2c == local_30) {\nLAB_00261210:\n          unaff_s1->is_base_ = true;\n          unaff_s1->is_weak_ = false;\n          unaff_s1->is_info_ = false;\n          unaff_s1->is_symbol_created_ = true;\n          piVar11 = local_30;\n          goto LAB_00261194;\n        }\n      }\n      else {\n        if (0xaaaaaaa < uVar5) goto LAB_00261294;\n                    /* try { // try from 002610d8 to 002610df has its CatchHandler @ 002612a0 */\n        pbVar6 = (pointer)(*(code *)PTR_operator_new_0043233c)(pbVar12);\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start = pbVar6;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = pbVar6;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_end_of_storage = (pointer)((int)pbVar6 + (int)pbVar12);\n        piVar10 = local_30;\n        pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n        piVar11 = local_2c;\n        if (local_2c == local_30) goto LAB_00261210;\n      }\n      do {\n        (pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;\n                    /* try { // try from 00261130 to 00261137 has its CatchHandler @ 002612d8 */\n        (*pcVar1)(pbVar6,*piVar10,*piVar10 + piVar10[1],0);\n        piVar2 = local_2c;\n        piVar10 = piVar10 + 6;\n        pbVar6 = pbVar6 + 1;\n      } while (piVar11 != piVar10);\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = pbVar6;\n      unaff_s1->is_base_ = true;\n      unaff_s1->is_weak_ = false;\n      unaff_s1->is_info_ = false;\n      unaff_s1->is_symbol_created_ = true;\n      piVar11 = local_2c;\n      for (piVar10 = local_30; piVar2 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          (*(code *)PTR_operator_delete_0043228c)();\n        }\n        piVar11 = local_30;\n      }\nLAB_00261194:\n      if (piVar11 != (int *)0x0) {\n        (*(code *)PTR_operator_delete_0043228c)(piVar11);\n      }\n      __position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n           _M_finish;\n      if (__position._M_current !=\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n          _M_end_of_storage) {\n        *__position._M_current = vdbase;\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_finish = __position._M_current + 1;\n        this->needs_base_version_ = false;\n        return;\n      }\n      std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n      _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vdbase);\n      this->needs_base_version_ = false;\n      return;\n    }\n  }\n  else {\n    puVar9 = PTR_s__0043226c + 0x1aa8;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(PTR_s__0043226c + 0x13e0,0x5d5,puVar9);\n  }" if (parenthesized_expression "((this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish ==\n      (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_start)" ( (field_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish ==\n      (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_start" (field_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish ==\n      (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl" (binary_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish ==\n      (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_" (binary_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish ==\n      (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold" (binary_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish ==\n      (this->defs_).super__Vector_base<gold::Verdef*,_std" (binary_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish ==\n      (this->defs_).super__Vector_base<gold" (field_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish" (field_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl" (binary_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_" (binary_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold" (binary_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std" (binary_expression "(this->defs_).super__Vector_base<gold" (field_expression "(this->defs_).super__Vector_base" (parenthesized_expression "(this->defs_)" ( (field_expression "this->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 "(this->defs_).super__Vector_base<gold" (field_expression "(this->defs_).super__Vector_base" (parenthesized_expression "(this->defs_)" ( (field_expression "this->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 "{\n    iVar7 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n    puVar9 = PTR_s__0043226c;\n    if (iVar7 != 0) {\n      iVar3 = *(int *)(iVar7 + 0x1aa8);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(iVar7 + 0x27b0);\n      }\n      pcVar4 = (char *)(*(code *)PTR_add_00432e80)(dynpool,iVar3,0,0);\n      puVar8 = &DAT_0000001c;\n      local_30 = (int *)0x0;\n      local_2c = (int *)0x0;\n                    /* try { // try from 00261070 to 00261077 has its CatchHandler @ 002612fc */\n      local_28 = 0;\n      unaff_s1 = (Verdef *)(*(code *)PTR_operator_new_0043233c)(0x1c);\n      unaff_s1->name_ = pcVar4;\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)0x0;\n      puVar9 = PTR_vtable_004357b0;\n      pbVar12 = (pointer)((int)local_2c - (int)local_30);\n      (unaff_s1->super_Version_base).index_ = 0xffffffff;\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0;\n      (unaff_s1->super_Version_base)._vptr_Version_base = (_func_int_varargs **)(puVar9 + 8);\n      uVar5 = ((int)pbVar12 >> 3) * -0x55555555;\n      vdbase = unaff_s1;\n      if (uVar5 == 0) {\n        pbVar6 = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_end_of_storage = pbVar12;\n        piVar10 = local_30;\n        pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n        piVar11 = local_2c;\n        if (local_2c == local_30) {\nLAB_00261210:\n          unaff_s1->is_base_ = true;\n          unaff_s1->is_weak_ = false;\n          unaff_s1->is_info_ = false;\n          unaff_s1->is_symbol_created_ = true;\n          piVar11 = local_30;\n          goto LAB_00261194;\n        }\n      }\n      else {\n        if (0xaaaaaaa < uVar5) goto LAB_00261294;\n                    /* try { // try from 002610d8 to 002610df has its CatchHandler @ 002612a0 */\n        pbVar6 = (pointer)(*(code *)PTR_operator_new_0043233c)(pbVar12);\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start = pbVar6;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = pbVar6;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_end_of_storage = (pointer)((int)pbVar6 + (int)pbVar12);\n        piVar10 = local_30;\n        pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n        piVar11 = local_2c;\n        if (local_2c == local_30) goto LAB_00261210;\n      }\n      do {\n        (pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;\n                    /* try { // try from 00261130 to 00261137 has its CatchHandler @ 002612d8 */\n        (*pcVar1)(pbVar6,*piVar10,*piVar10 + piVar10[1],0);\n        piVar2 = local_2c;\n        piVar10 = piVar10 + 6;\n        pbVar6 = pbVar6 + 1;\n      } while (piVar11 != piVar10);\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = pbVar6;\n      unaff_s1->is_base_ = true;\n      unaff_s1->is_weak_ = false;\n      unaff_s1->is_info_ = false;\n      unaff_s1->is_symbol_created_ = true;\n      piVar11 = local_2c;\n      for (piVar10 = local_30; piVar2 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          (*(code *)PTR_operator_delete_0043228c)();\n        }\n        piVar11 = local_30;\n      }\nLAB_00261194:\n      if (piVar11 != (int *)0x0) {\n        (*(code *)PTR_operator_delete_0043228c)(piVar11);\n      }\n      __position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n           _M_finish;\n      if (__position._M_current !=\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n          _M_end_of_storage) {\n        *__position._M_current = vdbase;\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_finish = __position._M_current + 1;\n        this->needs_base_version_ = false;\n        return;\n      }\n      std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n      _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vdbase);\n      this->needs_base_version_ = false;\n      return;\n    }\n  }" { (expression_statement "iVar7 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);" (assignment_expression "iVar7 = *(int *)(*(int *)PTR_parameters_00432be0 + 8)" identifier = (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 8)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 8" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (expression_statement "puVar9 = PTR_s__0043226c;" (assignment_expression "puVar9 = PTR_s__0043226c" identifier = identifier) ;) (if_statement "if (iVar7 != 0) {\n      iVar3 = *(int *)(iVar7 + 0x1aa8);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(iVar7 + 0x27b0);\n      }\n      pcVar4 = (char *)(*(code *)PTR_add_00432e80)(dynpool,iVar3,0,0);\n      puVar8 = &DAT_0000001c;\n      local_30 = (int *)0x0;\n      local_2c = (int *)0x0;\n                    /* try { // try from 00261070 to 00261077 has its CatchHandler @ 002612fc */\n      local_28 = 0;\n      unaff_s1 = (Verdef *)(*(code *)PTR_operator_new_0043233c)(0x1c);\n      unaff_s1->name_ = pcVar4;\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)0x0;\n      puVar9 = PTR_vtable_004357b0;\n      pbVar12 = (pointer)((int)local_2c - (int)local_30);\n      (unaff_s1->super_Version_base).index_ = 0xffffffff;\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0;\n      (unaff_s1->super_Version_base)._vptr_Version_base = (_func_int_varargs **)(puVar9 + 8);\n      uVar5 = ((int)pbVar12 >> 3) * -0x55555555;\n      vdbase = unaff_s1;\n      if (uVar5 == 0) {\n        pbVar6 = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_end_of_storage = pbVar12;\n        piVar10 = local_30;\n        pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n        piVar11 = local_2c;\n        if (local_2c == local_30) {\nLAB_00261210:\n          unaff_s1->is_base_ = true;\n          unaff_s1->is_weak_ = false;\n          unaff_s1->is_info_ = false;\n          unaff_s1->is_symbol_created_ = true;\n          piVar11 = local_30;\n          goto LAB_00261194;\n        }\n      }\n      else {\n        if (0xaaaaaaa < uVar5) goto LAB_00261294;\n                    /* try { // try from 002610d8 to 002610df has its CatchHandler @ 002612a0 */\n        pbVar6 = (pointer)(*(code *)PTR_operator_new_0043233c)(pbVar12);\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start = pbVar6;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = pbVar6;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_end_of_storage = (pointer)((int)pbVar6 + (int)pbVar12);\n        piVar10 = local_30;\n        pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n        piVar11 = local_2c;\n        if (local_2c == local_30) goto LAB_00261210;\n      }\n      do {\n        (pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;\n                    /* try { // try from 00261130 to 00261137 has its CatchHandler @ 002612d8 */\n        (*pcVar1)(pbVar6,*piVar10,*piVar10 + piVar10[1],0);\n        piVar2 = local_2c;\n        piVar10 = piVar10 + 6;\n        pbVar6 = pbVar6 + 1;\n      } while (piVar11 != piVar10);\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = pbVar6;\n      unaff_s1->is_base_ = true;\n      unaff_s1->is_weak_ = false;\n      unaff_s1->is_info_ = false;\n      unaff_s1->is_symbol_created_ = true;\n      piVar11 = local_2c;\n      for (piVar10 = local_30; piVar2 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          (*(code *)PTR_operator_delete_0043228c)();\n        }\n        piVar11 = local_30;\n      }\nLAB_00261194:\n      if (piVar11 != (int *)0x0) {\n        (*(code *)PTR_operator_delete_0043228c)(piVar11);\n      }\n      __position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n           _M_finish;\n      if (__position._M_current !=\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n          _M_end_of_storage) {\n        *__position._M_current = vdbase;\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_finish = __position._M_current + 1;\n        this->needs_base_version_ = false;\n        return;\n      }\n      std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n      _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vdbase);\n      this->needs_base_version_ = false;\n      return;\n    }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar3 = *(int *)(iVar7 + 0x1aa8);\n      if (iVar3 == 0) {\n        iVar3 = *(int *)(iVar7 + 0x27b0);\n      }\n      pcVar4 = (char *)(*(code *)PTR_add_00432e80)(dynpool,iVar3,0,0);\n      puVar8 = &DAT_0000001c;\n      local_30 = (int *)0x0;\n      local_2c = (int *)0x0;\n                    /* try { // try from 00261070 to 00261077 has its CatchHandler @ 002612fc */\n      local_28 = 0;\n      unaff_s1 = (Verdef *)(*(code *)PTR_operator_new_0043233c)(0x1c);\n      unaff_s1->name_ = pcVar4;\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)0x0;\n      puVar9 = PTR_vtable_004357b0;\n      pbVar12 = (pointer)((int)local_2c - (int)local_30);\n      (unaff_s1->super_Version_base).index_ = 0xffffffff;\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0;\n      (unaff_s1->super_Version_base)._vptr_Version_base = (_func_int_varargs **)(puVar9 + 8);\n      uVar5 = ((int)pbVar12 >> 3) * -0x55555555;\n      vdbase = unaff_s1;\n      if (uVar5 == 0) {\n        pbVar6 = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_end_of_storage = pbVar12;\n        piVar10 = local_30;\n        pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n        piVar11 = local_2c;\n        if (local_2c == local_30) {\nLAB_00261210:\n          unaff_s1->is_base_ = true;\n          unaff_s1->is_weak_ = false;\n          unaff_s1->is_info_ = false;\n          unaff_s1->is_symbol_created_ = true;\n          piVar11 = local_30;\n          goto LAB_00261194;\n        }\n      }\n      else {\n        if (0xaaaaaaa < uVar5) goto LAB_00261294;\n                    /* try { // try from 002610d8 to 002610df has its CatchHandler @ 002612a0 */\n        pbVar6 = (pointer)(*(code *)PTR_operator_new_0043233c)(pbVar12);\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start = pbVar6;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = pbVar6;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_end_of_storage = (pointer)((int)pbVar6 + (int)pbVar12);\n        piVar10 = local_30;\n        pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n        piVar11 = local_2c;\n        if (local_2c == local_30) goto LAB_00261210;\n      }\n      do {\n        (pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;\n                    /* try { // try from 00261130 to 00261137 has its CatchHandler @ 002612d8 */\n        (*pcVar1)(pbVar6,*piVar10,*piVar10 + piVar10[1],0);\n        piVar2 = local_2c;\n        piVar10 = piVar10 + 6;\n        pbVar6 = pbVar6 + 1;\n      } while (piVar11 != piVar10);\n      (unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = pbVar6;\n      unaff_s1->is_base_ = true;\n      unaff_s1->is_weak_ = false;\n      unaff_s1->is_info_ = false;\n      unaff_s1->is_symbol_created_ = true;\n      piVar11 = local_2c;\n      for (piVar10 = local_30; piVar2 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          (*(code *)PTR_operator_delete_0043228c)();\n        }\n        piVar11 = local_30;\n      }\nLAB_00261194:\n      if (piVar11 != (int *)0x0) {\n        (*(code *)PTR_operator_delete_0043228c)(piVar11);\n      }\n      __position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n           _M_finish;\n      if (__position._M_current !=\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n          _M_end_of_storage) {\n        *__position._M_current = vdbase;\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_finish = __position._M_current + 1;\n        this->needs_base_version_ = false;\n        return;\n      }\n      std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n      _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vdbase);\n      this->needs_base_version_ = false;\n      return;\n    }" { (expression_statement "iVar3 = *(int *)(iVar7 + 0x1aa8);" (assignment_expression "iVar3 = *(int *)(iVar7 + 0x1aa8)" identifier = (pointer_expression "*(int *)(iVar7 + 0x1aa8)" * (cast_expression "(int *)(iVar7 + 0x1aa8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1aa8)" ( (binary_expression "iVar7 + 0x1aa8" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 == 0) {\n        iVar3 = *(int *)(iVar7 + 0x27b0);\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar3 = *(int *)(iVar7 + 0x27b0);\n      }" { (expression_statement "iVar3 = *(int *)(iVar7 + 0x27b0);" (assignment_expression "iVar3 = *(int *)(iVar7 + 0x27b0)" identifier = (pointer_expression "*(int *)(iVar7 + 0x27b0)" * (cast_expression "(int *)(iVar7 + 0x27b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x27b0)" ( (binary_expression "iVar7 + 0x27b0" identifier + number_literal) ))))) ;) })) (expression_statement "pcVar4 = (char *)(*(code *)PTR_add_00432e80)(dynpool,iVar3,0,0);" (assignment_expression "pcVar4 = (char *)(*(code *)PTR_add_00432e80)(dynpool,iVar3,0,0)" identifier = (cast_expression "(char *)(*(code *)PTR_add_00432e80)(dynpool,iVar3,0,0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_add_00432e80)(dynpool,iVar3,0,0)" (parenthesized_expression "(*(code *)PTR_add_00432e80)" ( (pointer_expression "*(code *)PTR_add_00432e80" * (cast_expression "(code *)PTR_add_00432e80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(dynpool,iVar3,0,0)" ( identifier , identifier , number_literal , number_literal ))))) ;) (expression_statement "puVar8 = &DAT_0000001c;" (assignment_expression "puVar8 = &DAT_0000001c" identifier = (pointer_expression "&DAT_0000001c" & identifier)) ;) (expression_statement "local_30 = (int *)0x0;" (assignment_expression "local_30 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_2c = (int *)0x0;" (assignment_expression "local_2c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) comment (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "unaff_s1 = (Verdef *)(*(code *)PTR_operator_new_0043233c)(0x1c);" (assignment_expression "unaff_s1 = (Verdef *)(*(code *)PTR_operator_new_0043233c)(0x1c)" identifier = (cast_expression "(Verdef *)(*(code *)PTR_operator_new_0043233c)(0x1c)" ( (type_descriptor "Verdef *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new_0043233c)(0x1c)" (parenthesized_expression "(*(code *)PTR_operator_new_0043233c)" ( (pointer_expression "*(code *)PTR_operator_new_0043233c" * (cast_expression "(code *)PTR_operator_new_0043233c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x1c)" ( number_literal ))))) ;) (expression_statement "unaff_s1->name_ = pcVar4;" (assignment_expression "unaff_s1->name_ = pcVar4" (field_expression "unaff_s1->name_" identifier -> field_identifier) = identifier) ;) (ERROR "(unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "(unaff_s1->deps_).\n      super__Vector_base<std" (field_expression "(unaff_s1->deps_).\n      super__Vector_base" (parenthesized_expression "(unaff_s1->deps_)" ( (field_expression "unaff_s1->deps_" identifier -> field_identifier) )) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)0x0;" (assignment_expression "allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)0x0" (field_expression "allocator<char>_>_>_>\n      ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n      ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "puVar9 = PTR_vtable_004357b0;" (assignment_expression "puVar9 = PTR_vtable_004357b0" identifier = identifier) ;) (expression_statement "pbVar12 = (pointer)((int)local_2c - (int)local_30);" (assignment_expression "pbVar12 = (pointer)((int)local_2c - (int)local_30)" identifier = (call_expression "(pointer)((int)local_2c - (int)local_30)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((int)local_2c - (int)local_30)" ( (binary_expression "(int)local_2c - (int)local_30" (cast_expression "(int)local_2c" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "(unaff_s1->super_Version_base).index_ = 0xffffffff;" (assignment_expression "(unaff_s1->super_Version_base).index_ = 0xffffffff" (field_expression "(unaff_s1->super_Version_base).index_" (parenthesized_expression "(unaff_s1->super_Version_base)" ( (field_expression "unaff_s1->super_Version_base" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (ERROR "(unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "(unaff_s1->deps_).\n      super__Vector_base<std" (field_expression "(unaff_s1->deps_).\n      super__Vector_base" (parenthesized_expression "(unaff_s1->deps_)" ( (field_expression "unaff_s1->deps_" identifier -> field_identifier) )) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0;" (assignment_expression "allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0" (field_expression "allocator<char>_>_>_>\n      ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n      ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "(unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "(unaff_s1->deps_).\n      super__Vector_base<std" (field_expression "(unaff_s1->deps_).\n      super__Vector_base" (parenthesized_expression "(unaff_s1->deps_)" ( (field_expression "unaff_s1->deps_" identifier -> field_identifier) )) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0;" (assignment_expression "allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0" (field_expression "allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage" (field_expression "allocator<char>_>_>_>\n      ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(unaff_s1->super_Version_base)._vptr_Version_base = (_func_int_varargs **)(puVar9 + 8);" (assignment_expression "(unaff_s1->super_Version_base)._vptr_Version_base = (_func_int_varargs **)(puVar9 + 8)" (field_expression "(unaff_s1->super_Version_base)._vptr_Version_base" (parenthesized_expression "(unaff_s1->super_Version_base)" ( (field_expression "unaff_s1->super_Version_base" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(_func_int_varargs **)(puVar9 + 8)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 8)" ( (binary_expression "puVar9 + 8" identifier + number_literal) )))) ;) (expression_statement "uVar5 = ((int)pbVar12 >> 3) * -0x55555555;" (assignment_expression "uVar5 = ((int)pbVar12 >> 3) * -0x55555555" identifier = (binary_expression "((int)pbVar12 >> 3) * -0x55555555" (parenthesized_expression "((int)pbVar12 >> 3)" ( (binary_expression "(int)pbVar12 >> 3" (cast_expression "(int)pbVar12" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) * number_literal)) ;) (expression_statement "vdbase = unaff_s1;" (assignment_expression "vdbase = unaff_s1" identifier = identifier) ;) (if_statement "if (uVar5 == 0) {\n        pbVar6 = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_end_of_storage = pbVar12;\n        piVar10 = local_30;\n        pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n        piVar11 = local_2c;\n        if (local_2c == local_30) {\nLAB_00261210:\n          unaff_s1->is_base_ = true;\n          unaff_s1->is_weak_ = false;\n          unaff_s1->is_info_ = false;\n          unaff_s1->is_symbol_created_ = true;\n          piVar11 = local_30;\n          goto LAB_00261194;\n        }\n      }\n      else {\n        if (0xaaaaaaa < uVar5) goto LAB_00261294;\n                    /* try { // try from 002610d8 to 002610df has its CatchHandler @ 002612a0 */\n        pbVar6 = (pointer)(*(code *)PTR_operator_new_0043233c)(pbVar12);\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start = pbVar6;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = pbVar6;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_end_of_storage = (pointer)((int)pbVar6 + (int)pbVar12);\n        piVar10 = local_30;\n        pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n        piVar11 = local_2c;\n        if (local_2c == local_30) goto LAB_00261210;\n      }" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        pbVar6 = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = (pointer)0x0;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_end_of_storage = pbVar12;\n        piVar10 = local_30;\n        pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n        piVar11 = local_2c;\n        if (local_2c == local_30) {\nLAB_00261210:\n          unaff_s1->is_base_ = true;\n          unaff_s1->is_weak_ = false;\n          unaff_s1->is_info_ = false;\n          unaff_s1->is_symbol_created_ = true;\n          piVar11 = local_30;\n          goto LAB_00261194;\n        }\n      }" { (expression_statement "pbVar6 = (pointer)0x0;" (assignment_expression "pbVar6 = (pointer)0x0" identifier = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "(unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "(unaff_s1->deps_).\n        super__Vector_base<std" (field_expression "(unaff_s1->deps_).\n        super__Vector_base" (parenthesized_expression "(unaff_s1->deps_)" ( (field_expression "unaff_s1->deps_" identifier -> field_identifier) )) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n        ._M_impl._M_start = (pointer)0x0;" (assignment_expression "allocator<char>_>_>_>\n        ._M_impl._M_start = (pointer)0x0" (field_expression "allocator<char>_>_>_>\n        ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n        ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "(unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "(unaff_s1->deps_).\n        super__Vector_base<std" (field_expression "(unaff_s1->deps_).\n        super__Vector_base" (parenthesized_expression "(unaff_s1->deps_)" ( (field_expression "unaff_s1->deps_" identifier -> field_identifier) )) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n        ._M_impl._M_finish = (pointer)0x0;" (assignment_expression "allocator<char>_>_>_>\n        ._M_impl._M_finish = (pointer)0x0" (field_expression "allocator<char>_>_>_>\n        ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n        ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "(unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "(unaff_s1->deps_).\n        super__Vector_base<std" (field_expression "(unaff_s1->deps_).\n        super__Vector_base" (parenthesized_expression "(unaff_s1->deps_)" ( (field_expression "unaff_s1->deps_" identifier -> field_identifier) )) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n        ._M_impl._M_end_of_storage = pbVar12;" (assignment_expression "allocator<char>_>_>_>\n        ._M_impl._M_end_of_storage = pbVar12" (field_expression "allocator<char>_>_>_>\n        ._M_impl._M_end_of_storage" (field_expression "allocator<char>_>_>_>\n        ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "piVar10 = local_30;" (assignment_expression "piVar10 = local_30" identifier = identifier) ;) (expression_statement "pcVar1 = (code *)PTR__M_construct<char*>_0043248c;" (assignment_expression "pcVar1 = (code *)PTR__M_construct<char*>_0043248c" identifier = (binary_expression "(code *)PTR__M_construct<char*>_0043248c" (binary_expression "(code *)PTR__M_construct<char" (cast_expression "(code *)PTR__M_construct" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < identifier) (ERROR "*" *) > identifier)) ;) (expression_statement "piVar11 = local_2c;" (assignment_expression "piVar11 = local_2c" identifier = identifier) ;) (if_statement "if (local_2c == local_30) {\nLAB_00261210:\n          unaff_s1->is_base_ = true;\n          unaff_s1->is_weak_ = false;\n          unaff_s1->is_info_ = false;\n          unaff_s1->is_symbol_created_ = true;\n          piVar11 = local_30;\n          goto LAB_00261194;\n        }" if (parenthesized_expression "(local_2c == local_30)" ( (binary_expression "local_2c == local_30" identifier == identifier) )) (compound_statement "{\nLAB_00261210:\n          unaff_s1->is_base_ = true;\n          unaff_s1->is_weak_ = false;\n          unaff_s1->is_info_ = false;\n          unaff_s1->is_symbol_created_ = true;\n          piVar11 = local_30;\n          goto LAB_00261194;\n        }" { (labeled_statement "LAB_00261210:\n          unaff_s1->is_base_ = true;" statement_identifier : (expression_statement "unaff_s1->is_base_ = true;" (assignment_expression "unaff_s1->is_base_ = true" (field_expression "unaff_s1->is_base_" identifier -> field_identifier) = true) ;)) (expression_statement "unaff_s1->is_weak_ = false;" (assignment_expression "unaff_s1->is_weak_ = false" (field_expression "unaff_s1->is_weak_" identifier -> field_identifier) = false) ;) (expression_statement "unaff_s1->is_info_ = false;" (assignment_expression "unaff_s1->is_info_ = false" (field_expression "unaff_s1->is_info_" identifier -> field_identifier) = false) ;) (expression_statement "unaff_s1->is_symbol_created_ = true;" (assignment_expression "unaff_s1->is_symbol_created_ = true" (field_expression "unaff_s1->is_symbol_created_" identifier -> field_identifier) = true) ;) (expression_statement "piVar11 = local_30;" (assignment_expression "piVar11 = local_30" identifier = identifier) ;) (goto_statement "goto LAB_00261194;" goto statement_identifier ;) })) }) (else_clause "else {\n        if (0xaaaaaaa < uVar5) goto LAB_00261294;\n                    /* try { // try from 002610d8 to 002610df has its CatchHandler @ 002612a0 */\n        pbVar6 = (pointer)(*(code *)PTR_operator_new_0043233c)(pbVar12);\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start = pbVar6;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = pbVar6;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_end_of_storage = (pointer)((int)pbVar6 + (int)pbVar12);\n        piVar10 = local_30;\n        pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n        piVar11 = local_2c;\n        if (local_2c == local_30) goto LAB_00261210;\n      }" else (compound_statement "{\n        if (0xaaaaaaa < uVar5) goto LAB_00261294;\n                    /* try { // try from 002610d8 to 002610df has its CatchHandler @ 002612a0 */\n        pbVar6 = (pointer)(*(code *)PTR_operator_new_0043233c)(pbVar12);\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start = pbVar6;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = pbVar6;\n        (unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_end_of_storage = (pointer)((int)pbVar6 + (int)pbVar12);\n        piVar10 = local_30;\n        pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n        piVar11 = local_2c;\n        if (local_2c == local_30) goto LAB_00261210;\n      }" { (if_statement "if (0xaaaaaaa < uVar5) goto LAB_00261294;" if (parenthesized_expression "(0xaaaaaaa < uVar5)" ( (binary_expression "0xaaaaaaa < uVar5" number_literal < identifier) )) (goto_statement "goto LAB_00261294;" goto statement_identifier ;)) comment (expression_statement "pbVar6 = (pointer)(*(code *)PTR_operator_new_0043233c)(pbVar12);" (assignment_expression "pbVar6 = (pointer)(*(code *)PTR_operator_new_0043233c)(pbVar12)" identifier = (call_expression "(pointer)(*(code *)PTR_operator_new_0043233c)(pbVar12)" (call_expression "(pointer)(*(code *)PTR_operator_new_0043233c)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "(*(code *)PTR_operator_new_0043233c)" ( (pointer_expression "*(code *)PTR_operator_new_0043233c" * (cast_expression "(code *)PTR_operator_new_0043233c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) (argument_list "(pbVar12)" ( identifier )))) ;) (ERROR "(unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "(unaff_s1->deps_).\n        super__Vector_base<std" (field_expression "(unaff_s1->deps_).\n        super__Vector_base" (parenthesized_expression "(unaff_s1->deps_)" ( (field_expression "unaff_s1->deps_" identifier -> field_identifier) )) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n        ._M_impl._M_start = pbVar6;" (assignment_expression "allocator<char>_>_>_>\n        ._M_impl._M_start = pbVar6" (field_expression "allocator<char>_>_>_>\n        ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n        ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (ERROR "(unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "(unaff_s1->deps_).\n        super__Vector_base<std" (field_expression "(unaff_s1->deps_).\n        super__Vector_base" (parenthesized_expression "(unaff_s1->deps_)" ( (field_expression "unaff_s1->deps_" identifier -> field_identifier) )) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n        ._M_impl._M_finish = pbVar6;" (assignment_expression "allocator<char>_>_>_>\n        ._M_impl._M_finish = pbVar6" (field_expression "allocator<char>_>_>_>\n        ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n        ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (ERROR "(unaff_s1->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "(unaff_s1->deps_).\n        super__Vector_base<std" (field_expression "(unaff_s1->deps_).\n        super__Vector_base" (parenthesized_expression "(unaff_s1->deps_)" ( (field_expression "unaff_s1->deps_" identifier -> field_identifier) )) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n        ._M_impl._M_end_of_storage = (pointer)((int)pbVar6 + (int)pbVar12);" (assignment_expression "allocator<char>_>_>_>\n        ._M_impl._M_end_of_storage = (pointer)((int)pbVar6 + (int)pbVar12)" (field_expression "allocator<char>_>_>_>\n        ._M_impl._M_end_of_storage" (field_expression "allocator<char>_>_>_>\n        ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (call_expression "(pointer)((int)pbVar6 + (int)pbVar12)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((int)pbVar6 + (int)pbVar12)" ( (binary_expression "(int)pbVar6 + (int)pbVar12" (cast_expression "(int)pbVar6" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pbVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "piVar10 = local_30;" (assignment_expression "piVar10 = local_30" identifier = identifier) ;) (expression_statement "pcVar1 = (code *)PTR__M_construct<char*>_0043248c;" (assignment_expression "pcVar1 = (code *)PTR__M_construct<char*>_0043248c" identifier = (binary_expression "(code *)PTR__M_construct<char*>_0043248c" (binary_expression "(code *)PTR__M_construct<char" (cast_expression "(code *)PTR__M_construct" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < identifier) (ERROR "*" *) > identifier)) ;) (expression_statement "piVar11 = local_2c;" (assignment_expression "piVar11 = local_2c" identifier = identifier) ;) (if_statement "if (local_2c == local_30) goto LAB_00261210;" if (parenthesized_expression "(local_2c == local_30)" ( (binary_expression "local_2c == local_30" identifier == identifier) )) (goto_statement "goto LAB_00261210;" goto statement_identifier ;)) }))) (do_statement "do {\n        (pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;\n                    /* try { // try from 00261130 to 00261137 has its CatchHandler @ 002612d8 */\n        (*pcVar1)(pbVar6,*piVar10,*piVar10 + piVar10[1],0);\n        piVar2 = local_2c;\n        piVar10 = piVar10 + 6;\n        pbVar6 = pbVar6 + 1;\n      } while (piVar11 != piVar10);" do (compound_statement "{\n        (pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;\n                    /* try { // try from 00261130 to 00261137 has its CatchHandler @ 002612d8 */\n        (*pcVar1)(pbVar6,*piVar10,*piVar10 + piVar10[1],0);\n        piVar2 = local_2c;\n        piVar10 = piVar10 + 6;\n        pbVar6 = pbVar6 + 1;\n      }" { (expression_statement "(pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;" (assignment_expression "(pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2" (field_expression "(pbVar6->_M_dataplus)._M_p" (parenthesized_expression "(pbVar6->_M_dataplus)" ( (field_expression "pbVar6->_M_dataplus" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(pointer)&pbVar6->field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "pbVar6->field_2" identifier -> field_identifier))) ;) comment (expression_statement "(*pcVar1)(pbVar6,*piVar10,*piVar10 + piVar10[1],0);" (call_expression "(*pcVar1)(pbVar6,*piVar10,*piVar10 + piVar10[1],0)" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "(pbVar6,*piVar10,*piVar10 + piVar10[1],0)" ( identifier , (pointer_expression "*piVar10" * identifier) , (binary_expression "*piVar10 + piVar10[1]" (pointer_expression "*piVar10" * identifier) + (subscript_expression "piVar10[1]" identifier [ number_literal ])) , number_literal ))) ;) (expression_statement "piVar2 = local_2c;" (assignment_expression "piVar2 = local_2c" identifier = identifier) ;) (expression_statement "piVar10 = piVar10 + 6;" (assignment_expression "piVar10 = piVar10 + 6" identifier = (binary_expression "piVar10 + 6" identifier + number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar11 != piVar10)" ( (binary_expression "piVar11 != piVar10" identifier != identifier) )) ;) (ERROR "(unaff_s1->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "(unaff_s1->deps_).\n      super__Vector_base<std" (field_expression "(unaff_s1->deps_).\n      super__Vector_base" (parenthesized_expression "(unaff_s1->deps_)" ( (field_expression "unaff_s1->deps_" identifier -> field_identifier) )) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n      ._M_impl._M_finish = pbVar6;" (assignment_expression "allocator<char>_>_>_>\n      ._M_impl._M_finish = pbVar6" (field_expression "allocator<char>_>_>_>\n      ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n      ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "unaff_s1->is_base_ = true;" (assignment_expression "unaff_s1->is_base_ = true" (field_expression "unaff_s1->is_base_" identifier -> field_identifier) = true) ;) (expression_statement "unaff_s1->is_weak_ = false;" (assignment_expression "unaff_s1->is_weak_ = false" (field_expression "unaff_s1->is_weak_" identifier -> field_identifier) = false) ;) (expression_statement "unaff_s1->is_info_ = false;" (assignment_expression "unaff_s1->is_info_ = false" (field_expression "unaff_s1->is_info_" identifier -> field_identifier) = false) ;) (expression_statement "unaff_s1->is_symbol_created_ = true;" (assignment_expression "unaff_s1->is_symbol_created_ = true" (field_expression "unaff_s1->is_symbol_created_" identifier -> field_identifier) = true) ;) (expression_statement "piVar11 = local_2c;" (assignment_expression "piVar11 = local_2c" identifier = identifier) ;) (for_statement "for (piVar10 = local_30; piVar2 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          (*(code *)PTR_operator_delete_0043228c)();\n        }\n        piVar11 = local_30;\n      }" for ( (assignment_expression "piVar10 = local_30" identifier = identifier) ; (binary_expression "piVar2 != piVar10" identifier != identifier) ; (assignment_expression "piVar10 = piVar10 + 6" identifier = (binary_expression "piVar10 + 6" identifier + number_literal)) ) (compound_statement "{\n        if ((int *)*piVar10 != piVar10 + 2) {\n          (*(code *)PTR_operator_delete_0043228c)();\n        }\n        piVar11 = local_30;\n      }" { (if_statement "if ((int *)*piVar10 != piVar10 + 2) {\n          (*(code *)PTR_operator_delete_0043228c)();\n        }" if (parenthesized_expression "((int *)*piVar10 != piVar10 + 2)" ( (binary_expression "(int *)*piVar10 != piVar10 + 2" (cast_expression "(int *)*piVar10" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar10" * identifier)) != (binary_expression "piVar10 + 2" identifier + number_literal)) )) (compound_statement "{\n          (*(code *)PTR_operator_delete_0043228c)();\n        }" { (expression_statement "(*(code *)PTR_operator_delete_0043228c)();" (call_expression "(*(code *)PTR_operator_delete_0043228c)()" (parenthesized_expression "(*(code *)PTR_operator_delete_0043228c)" ( (pointer_expression "*(code *)PTR_operator_delete_0043228c" * (cast_expression "(code *)PTR_operator_delete_0043228c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "piVar11 = local_30;" (assignment_expression "piVar11 = local_30" identifier = identifier) ;) })) (labeled_statement "LAB_00261194:\n      if (piVar11 != (int *)0x0) {\n        (*(code *)PTR_operator_delete_0043228c)(piVar11);\n      }" statement_identifier : (if_statement "if (piVar11 != (int *)0x0) {\n        (*(code *)PTR_operator_delete_0043228c)(piVar11);\n      }" if (parenthesized_expression "(piVar11 != (int *)0x0)" ( (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (*(code *)PTR_operator_delete_0043228c)(piVar11);\n      }" { (expression_statement "(*(code *)PTR_operator_delete_0043228c)(piVar11);" (call_expression "(*(code *)PTR_operator_delete_0043228c)(piVar11)" (parenthesized_expression "(*(code *)PTR_operator_delete_0043228c)" ( (pointer_expression "*(code *)PTR_operator_delete_0043228c" * (cast_expression "(code *)PTR_operator_delete_0043228c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar11)" ( identifier ))) ;) }))) (expression_statement "__position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n           _M_finish;" (field_expression "__position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n           _M_finish" (field_expression "__position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl" (binary_expression "__position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_" (binary_expression "__position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold" (binary_expression "__position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std" (assignment_expression "__position._M_current =\n           (this->defs_).super__Vector_base<gold" (field_expression "__position._M_current" identifier . field_identifier) = (binary_expression "(this->defs_).super__Vector_base<gold" (field_expression "(this->defs_).super__Vector_base" (parenthesized_expression "(this->defs_)" ( (field_expression "this->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) ;) (if_statement "if (__position._M_current !=\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n          _M_end_of_storage) {\n        *__position._M_current = vdbase;\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_finish = __position._M_current + 1;\n        this->needs_base_version_ = false;\n        return;\n      }" if (parenthesized_expression "(__position._M_current !=\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n          _M_end_of_storage)" ( (field_expression "__position._M_current !=\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n          _M_end_of_storage" (field_expression "__position._M_current !=\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl" (binary_expression "__position._M_current !=\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_" (binary_expression "__position._M_current !=\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold" (binary_expression "__position._M_current !=\n          (this->defs_).super__Vector_base<gold::Verdef*,_std" (binary_expression "__position._M_current !=\n          (this->defs_).super__Vector_base<gold" (field_expression "__position._M_current" identifier . field_identifier) != (binary_expression "(this->defs_).super__Vector_base<gold" (field_expression "(this->defs_).super__Vector_base" (parenthesized_expression "(this->defs_)" ( (field_expression "this->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 "{\n        *__position._M_current = vdbase;\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_finish = __position._M_current + 1;\n        this->needs_base_version_ = false;\n        return;\n      }" { (expression_statement "*__position._M_current = vdbase;" (assignment_expression "*__position._M_current = vdbase" (pointer_expression "*__position._M_current" * (field_expression "__position._M_current" identifier . field_identifier)) = identifier) ;) (expression_statement "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_finish = __position._M_current + 1;" (assignment_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_finish = __position._M_current + 1" (field_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_finish" (field_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl" (binary_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_" (binary_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold" (binary_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std" (binary_expression "(this->defs_).super__Vector_base<gold" (field_expression "(this->defs_).super__Vector_base" (parenthesized_expression "(this->defs_)" ( (field_expression "this->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 "__position._M_current + 1" (field_expression "__position._M_current" identifier . field_identifier) + number_literal)) ;) (expression_statement "this->needs_base_version_ = false;" (assignment_expression "this->needs_base_version_ = false" (field_expression "this->needs_base_version_" identifier -> field_identifier) = false) ;) (return_statement "return;" return ;) })) (ERROR "std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n      _M_realloc_insert<gold::" (comma_expression "std::vector<gold::Verdef*,_std" identifier (ERROR "::vector<gold::Verdef*" : : (binary_expression "vector<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Verdef*>_>::\n      _M_realloc_insert<gold" (binary_expression "Verdef*>_>::\n      _M_realloc_insert" (binary_expression "Verdef*>_" identifier * (ERROR ">" >) identifier) > (ERROR "::" : :) identifier) < identifier) : :) (expression_statement "Verdef*_const&>(&this->defs_,__position,&vdbase);" (binary_expression "Verdef*_const&>(&this->defs_,__position,&vdbase)" (binary_expression "Verdef*_const" identifier * identifier) (ERROR "&" &) > (parenthesized_expression "(&this->defs_,__position,&vdbase)" ( (comma_expression "&this->defs_,__position,&vdbase" (pointer_expression "&this->defs_" & (field_expression "this->defs_" identifier -> field_identifier)) , (comma_expression "__position,&vdbase" identifier , (pointer_expression "&vdbase" & identifier))) ))) ;) (expression_statement "this->needs_base_version_ = false;" (assignment_expression "this->needs_base_version_ = false" (field_expression "this->needs_base_version_" identifier -> field_identifier) = false) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n    puVar9 = PTR_s__0043226c + 0x1aa8;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(PTR_s__0043226c + 0x13e0,0x5d5,puVar9);\n  }" else (compound_statement "{\n    puVar9 = PTR_s__0043226c + 0x1aa8;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(PTR_s__0043226c + 0x13e0,0x5d5,puVar9);\n  }" { (expression_statement "puVar9 = PTR_s__0043226c + 0x1aa8;" (assignment_expression "puVar9 = PTR_s__0043226c + 0x1aa8" identifier = (binary_expression "PTR_s__0043226c + 0x1aa8" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)(PTR_s__0043226c + 0x13e0,0x5d5,puVar9);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)(PTR_s__0043226c + 0x13e0,0x5d5,puVar9)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__0043226c + 0x13e0,0x5d5,puVar9)" ( (binary_expression "PTR_s__0043226c + 0x13e0" identifier + number_literal) , number_literal , identifier ))) ;) }))) (expression_statement "puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec;" (assignment_expression "puVar8 = PTR_s_alize_xindex_004323b4 + -0x5cec" identifier = (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5cec" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar8,0x5c,puVar9 + 0x1ba8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar8,0x5c,puVar9 + 0x1ba8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar8,0x5c,puVar9 + 0x1ba8)" ( identifier , number_literal , (binary_expression "puVar9 + 0x1ba8" identifier + number_literal) ))) ;) (labeled_statement "LAB_00261294:\n                    /* try { // try from 00261298 to 0026129f has its CatchHandler @ 002612a0 */\n  (*(code *)PTR___throw_bad_alloc_00432404)();" statement_identifier : comment (expression_statement "(*(code *)PTR___throw_bad_alloc_00432404)();" (call_expression "(*(code *)PTR___throw_bad_alloc_00432404)()" (parenthesized_expression "(*(code *)PTR___throw_bad_alloc_00432404)" ( (pointer_expression "*(code *)PTR___throw_bad_alloc_00432404" * (cast_expression "(code *)PTR___throw_bad_alloc_00432404" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;)) comment (expression_statement "(*(code *)PTR_operator_delete_004323c0)(unaff_s1,0x1c);" (call_expression "(*(code *)PTR_operator_delete_004323c0)(unaff_s1,0x1c)" (parenthesized_expression "(*(code *)PTR_operator_delete_004323c0)" ( (pointer_expression "*(code *)PTR_operator_delete_004323c0" * (cast_expression "(code *)PTR_operator_delete_004323c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s1,0x1c)" ( identifier , number_literal ))) ;) (expression_statement "(*(code *)PTR__vector_00432ca4)(&local_30);" (call_expression "(*(code *)PTR__vector_00432ca4)(&local_30)" (parenthesized_expression "(*(code *)PTR__vector_00432ca4)" ( (pointer_expression "*(code *)PTR__vector_00432ca4" * (cast_expression "(code *)PTR__vector_00432ca4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_30)" ( (pointer_expression "&local_30" & identifier) ))) ;) (expression_statement "(*(code *)PTR__Unwind_Resume_00432258)(puVar8);" (call_expression "(*(code *)PTR__Unwind_Resume_00432258)(puVar8)" (parenthesized_expression "(*(code *)PTR__Unwind_Resume_00432258)" ( (pointer_expression "*(code *)PTR__Unwind_Resume_00432258" * (cast_expression "(code *)PTR__Unwind_Resume_00432258" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar8)" ( identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void __thiscall gold::Versions::define_base_version(Versions *this,Stringpool_template *param_1)\n\n{\n  code *pcVar1;\n  undefined *puVar2;\n  int *piVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int *piVar8;\n  int iVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  int *piVar12;\n  int *local_30;\n  int *local_2c;\n  undefined4 local_28;\n  undefined4 *local_24;\n  \n  if (*(int *)(this + 4) != *(int *)this) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x5d5,PTR_DAT_0043226c + 0x1aa8);\n    return;\n  }\n  iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n  if (iVar9 == 0) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + 0x1ba8);\n    return;\n  }\n  iVar4 = *(int *)(iVar9 + 0x1aa8);\n  if (iVar4 == 0) {\n    iVar4 = *(int *)(iVar9 + 0x27b0);\n  }\n  uVar5 = (*(code *)PTR_add_00432e80)(param_1,iVar4,0,0);\n  uVar10 = 0x1c;\n  local_30 = (int *)0x0;\n  local_2c = (int *)0x0;\n                    \n  local_28 = 0;\n  puVar6 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0x1c);\n  puVar6[2] = uVar5;\n  puVar6[3] = 0;\n  puVar2 = PTR_vtable_004357b0;\n  iVar9 = (int)local_2c - (int)local_30;\n  puVar6[1] = 0xffffffff;\n  puVar6[4] = 0;\n  puVar6[5] = 0;\n  *puVar6 = puVar2 + 8;\n  uVar7 = (iVar9 >> 3) * -0x55555555;\n  local_24 = puVar6;\n  if (uVar7 == 0) {\n    piVar8 = (int *)0x0;\n    puVar6[3] = 0;\n    puVar6[4] = 0;\n    puVar6[5] = iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) goto LAB_00261210;\n  }\n  else {\n    if (0xaaaaaaa < uVar7) {\n                    \n      (*(code *)PTR___throw_bad_alloc_00432404)();\n                    \n      (*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);\n      (*(code *)PTR__vector_00432ca4)(&local_30);\n      (*(code *)PTR_FUN_00432258)(uVar10);\n      return;\n    }\n                    \n    piVar8 = (int *)(*(code *)PTR_operator_new_0043233c)(iVar9);\n    puVar6[3] = piVar8;\n    puVar6[4] = piVar8;\n    puVar6[5] = (int)piVar8 + iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) {\nLAB_00261210:\n      puVar6[6] = 0x1000001;\n      piVar12 = local_30;\n      goto LAB_00261194;\n    }\n  }\n  do {\n    *piVar8 = (int)(piVar8 + 2);\n                    \n    (*pcVar1)(piVar8,*piVar11,*piVar11 + piVar11[1],0);\n    piVar3 = local_2c;\n    piVar11 = piVar11 + 6;\n    piVar8 = piVar8 + 6;\n  } while (piVar12 != piVar11);\n  puVar6[4] = piVar8;\n  puVar6[6] = 0x1000001;\n  piVar12 = local_2c;\n  for (piVar11 = local_30; piVar3 != piVar11; piVar11 = piVar11 + 6) {\n    if ((int *)*piVar11 != piVar11 + 2) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    piVar12 = local_30;\n  }\nLAB_00261194:\n  if (piVar12 != (int *)0x0) {\n    (*(code *)PTR_operator_delete_0043228c)(piVar12);\n  }\n  puVar6 = *(undefined4 **)(this + 4);\n  if (puVar6 != *(undefined4 **)(this + 8)) {\n    *puVar6 = local_24;\n    *(undefined4 **)(this + 4) = puVar6 + 1;\n    this[0x3c] = (Versions)0x0;\n    return;\n  }\n  std::vector<gold::Verdef*,std::allocator<gold::Verdef*>>::_M_realloc_insert<gold::Verdef*const&>\n            ((vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this,puVar6,&local_24);\n  this[0x3c] = (Versions)0x0;\n  return;\n}\n\n" (function_definition "void __thiscall gold::Versions::define_base_version(Versions *this,Stringpool_template *param_1)\n\n{\n  code *pcVar1;\n  undefined *puVar2;\n  int *piVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int *piVar8;\n  int iVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  int *piVar12;\n  int *local_30;\n  int *local_2c;\n  undefined4 local_28;\n  undefined4 *local_24;\n  \n  if (*(int *)(this + 4) != *(int *)this) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x5d5,PTR_DAT_0043226c + 0x1aa8);\n    return;\n  }\n  iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n  if (iVar9 == 0) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + 0x1ba8);\n    return;\n  }\n  iVar4 = *(int *)(iVar9 + 0x1aa8);\n  if (iVar4 == 0) {\n    iVar4 = *(int *)(iVar9 + 0x27b0);\n  }\n  uVar5 = (*(code *)PTR_add_00432e80)(param_1,iVar4,0,0);\n  uVar10 = 0x1c;\n  local_30 = (int *)0x0;\n  local_2c = (int *)0x0;\n                    \n  local_28 = 0;\n  puVar6 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0x1c);\n  puVar6[2] = uVar5;\n  puVar6[3] = 0;\n  puVar2 = PTR_vtable_004357b0;\n  iVar9 = (int)local_2c - (int)local_30;\n  puVar6[1] = 0xffffffff;\n  puVar6[4] = 0;\n  puVar6[5] = 0;\n  *puVar6 = puVar2 + 8;\n  uVar7 = (iVar9 >> 3) * -0x55555555;\n  local_24 = puVar6;\n  if (uVar7 == 0) {\n    piVar8 = (int *)0x0;\n    puVar6[3] = 0;\n    puVar6[4] = 0;\n    puVar6[5] = iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) goto LAB_00261210;\n  }\n  else {\n    if (0xaaaaaaa < uVar7) {\n                    \n      (*(code *)PTR___throw_bad_alloc_00432404)();\n                    \n      (*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);\n      (*(code *)PTR__vector_00432ca4)(&local_30);\n      (*(code *)PTR_FUN_00432258)(uVar10);\n      return;\n    }\n                    \n    piVar8 = (int *)(*(code *)PTR_operator_new_0043233c)(iVar9);\n    puVar6[3] = piVar8;\n    puVar6[4] = piVar8;\n    puVar6[5] = (int)piVar8 + iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) {\nLAB_00261210:\n      puVar6[6] = 0x1000001;\n      piVar12 = local_30;\n      goto LAB_00261194;\n    }\n  }\n  do {\n    *piVar8 = (int)(piVar8 + 2);\n                    \n    (*pcVar1)(piVar8,*piVar11,*piVar11 + piVar11[1],0);\n    piVar3 = local_2c;\n    piVar11 = piVar11 + 6;\n    piVar8 = piVar8 + 6;\n  } while (piVar12 != piVar11);\n  puVar6[4] = piVar8;\n  puVar6[6] = 0x1000001;\n  piVar12 = local_2c;\n  for (piVar11 = local_30; piVar3 != piVar11; piVar11 = piVar11 + 6) {\n    if ((int *)*piVar11 != piVar11 + 2) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    piVar12 = local_30;\n  }\nLAB_00261194:\n  if (piVar12 != (int *)0x0) {\n    (*(code *)PTR_operator_delete_0043228c)(piVar12);\n  }\n  puVar6 = *(undefined4 **)(this + 4);\n  if (puVar6 != *(undefined4 **)(this + 8)) {\n    *puVar6 = local_24;\n    *(undefined4 **)(this + 4) = puVar6 + 1;\n    this[0x3c] = (Versions)0x0;\n    return;\n  }\n  std::vector<gold::Verdef*,std::allocator<gold::Verdef*>>::_M_realloc_insert<gold::Verdef*const&>\n            ((vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this,puVar6,&local_24);\n  this[0x3c] = (Versions)0x0;\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Versions::" identifier : : identifier : :) (function_declarator "define_base_version(Versions *this,Stringpool_template *param_1)" identifier (parameter_list "(Versions *this,Stringpool_template *param_1)" ( (parameter_declaration "Versions *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Stringpool_template *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  code *pcVar1;\n  undefined *puVar2;\n  int *piVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int *piVar8;\n  int iVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  int *piVar12;\n  int *local_30;\n  int *local_2c;\n  undefined4 local_28;\n  undefined4 *local_24;\n  \n  if (*(int *)(this + 4) != *(int *)this) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x5d5,PTR_DAT_0043226c + 0x1aa8);\n    return;\n  }\n  iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n  if (iVar9 == 0) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + 0x1ba8);\n    return;\n  }\n  iVar4 = *(int *)(iVar9 + 0x1aa8);\n  if (iVar4 == 0) {\n    iVar4 = *(int *)(iVar9 + 0x27b0);\n  }\n  uVar5 = (*(code *)PTR_add_00432e80)(param_1,iVar4,0,0);\n  uVar10 = 0x1c;\n  local_30 = (int *)0x0;\n  local_2c = (int *)0x0;\n                    \n  local_28 = 0;\n  puVar6 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0x1c);\n  puVar6[2] = uVar5;\n  puVar6[3] = 0;\n  puVar2 = PTR_vtable_004357b0;\n  iVar9 = (int)local_2c - (int)local_30;\n  puVar6[1] = 0xffffffff;\n  puVar6[4] = 0;\n  puVar6[5] = 0;\n  *puVar6 = puVar2 + 8;\n  uVar7 = (iVar9 >> 3) * -0x55555555;\n  local_24 = puVar6;\n  if (uVar7 == 0) {\n    piVar8 = (int *)0x0;\n    puVar6[3] = 0;\n    puVar6[4] = 0;\n    puVar6[5] = iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) goto LAB_00261210;\n  }\n  else {\n    if (0xaaaaaaa < uVar7) {\n                    \n      (*(code *)PTR___throw_bad_alloc_00432404)();\n                    \n      (*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);\n      (*(code *)PTR__vector_00432ca4)(&local_30);\n      (*(code *)PTR_FUN_00432258)(uVar10);\n      return;\n    }\n                    \n    piVar8 = (int *)(*(code *)PTR_operator_new_0043233c)(iVar9);\n    puVar6[3] = piVar8;\n    puVar6[4] = piVar8;\n    puVar6[5] = (int)piVar8 + iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) {\nLAB_00261210:\n      puVar6[6] = 0x1000001;\n      piVar12 = local_30;\n      goto LAB_00261194;\n    }\n  }\n  do {\n    *piVar8 = (int)(piVar8 + 2);\n                    \n    (*pcVar1)(piVar8,*piVar11,*piVar11 + piVar11[1],0);\n    piVar3 = local_2c;\n    piVar11 = piVar11 + 6;\n    piVar8 = piVar8 + 6;\n  } while (piVar12 != piVar11);\n  puVar6[4] = piVar8;\n  puVar6[6] = 0x1000001;\n  piVar12 = local_2c;\n  for (piVar11 = local_30; piVar3 != piVar11; piVar11 = piVar11 + 6) {\n    if ((int *)*piVar11 != piVar11 + 2) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    piVar12 = local_30;\n  }\nLAB_00261194:\n  if (piVar12 != (int *)0x0) {\n    (*(code *)PTR_operator_delete_0043228c)(piVar12);\n  }\n  puVar6 = *(undefined4 **)(this + 4);\n  if (puVar6 != *(undefined4 **)(this + 8)) {\n    *puVar6 = local_24;\n    *(undefined4 **)(this + 4) = puVar6 + 1;\n    this[0x3c] = (Versions)0x0;\n    return;\n  }\n  std::vector<gold::Verdef*,std::allocator<gold::Verdef*>>::_M_realloc_insert<gold::Verdef*const&>\n            ((vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this,puVar6,&local_24);\n  this[0x3c] = (Versions)0x0;\n  return;\n}" { (declaration "code *pcVar1;" type_identifier (pointer_declarator "*pcVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "int *local_30;" primitive_type (pointer_declarator "*local_30" * identifier) ;) (declaration "int *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined4 *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (if_statement "if (*(int *)(this + 4) != *(int *)this) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x5d5,PTR_DAT_0043226c + 0x1aa8);\n    return;\n  }" if (parenthesized_expression "(*(int *)(this + 4) != *(int *)this)" ( (binary_expression "*(int *)(this + 4) != *(int *)this" (pointer_expression "*(int *)(this + 4)" * (cast_expression "(int *)(this + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) != (pointer_expression "*(int *)this" * (cast_expression "(int *)this" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x5d5,PTR_DAT_0043226c + 0x1aa8);\n    return;\n  }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x5d5,PTR_DAT_0043226c + 0x1aa8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x5d5,PTR_DAT_0043226c + 0x1aa8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0043226c + 0x13e0,0x5d5,PTR_DAT_0043226c + 0x1aa8)" ( (binary_expression "PTR_DAT_0043226c + 0x13e0" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_0043226c + 0x1aa8" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);" (assignment_expression "iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 8)" identifier = (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 8)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 8" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (if_statement "if (iVar9 == 0) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + 0x1ba8);\n    return;\n  }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + 0x1ba8);\n    return;\n  }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + 0x1ba8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + 0x1ba8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + 0x1ba8)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5cec" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_0043226c + 0x1ba8" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar4 = *(int *)(iVar9 + 0x1aa8);" (assignment_expression "iVar4 = *(int *)(iVar9 + 0x1aa8)" identifier = (pointer_expression "*(int *)(iVar9 + 0x1aa8)" * (cast_expression "(int *)(iVar9 + 0x1aa8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1aa8)" ( (binary_expression "iVar9 + 0x1aa8" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 == 0) {\n    iVar4 = *(int *)(iVar9 + 0x27b0);\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar4 = *(int *)(iVar9 + 0x27b0);\n  }" { (expression_statement "iVar4 = *(int *)(iVar9 + 0x27b0);" (assignment_expression "iVar4 = *(int *)(iVar9 + 0x27b0)" identifier = (pointer_expression "*(int *)(iVar9 + 0x27b0)" * (cast_expression "(int *)(iVar9 + 0x27b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x27b0)" ( (binary_expression "iVar9 + 0x27b0" identifier + number_literal) ))))) ;) })) (expression_statement "uVar5 = (*(code *)PTR_add_00432e80)(param_1,iVar4,0,0);" (assignment_expression "uVar5 = (*(code *)PTR_add_00432e80)(param_1,iVar4,0,0)" identifier = (call_expression "(*(code *)PTR_add_00432e80)(param_1,iVar4,0,0)" (parenthesized_expression "(*(code *)PTR_add_00432e80)" ( (pointer_expression "*(code *)PTR_add_00432e80" * (cast_expression "(code *)PTR_add_00432e80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,iVar4,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "uVar10 = 0x1c;" (assignment_expression "uVar10 = 0x1c" identifier = number_literal) ;) (expression_statement "local_30 = (int *)0x0;" (assignment_expression "local_30 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_2c = (int *)0x0;" (assignment_expression "local_2c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0x1c);" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0x1c)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_operator_new_0043233c)(0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new_0043233c)(0x1c)" (parenthesized_expression "(*(code *)PTR_operator_new_0043233c)" ( (pointer_expression "*(code *)PTR_operator_new_0043233c" * (cast_expression "(code *)PTR_operator_new_0043233c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x1c)" ( number_literal ))))) ;) (expression_statement "puVar6[2] = uVar5;" (assignment_expression "puVar6[2] = uVar5" (subscript_expression "puVar6[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[3] = 0;" (assignment_expression "puVar6[3] = 0" (subscript_expression "puVar6[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2 = PTR_vtable_004357b0;" (assignment_expression "puVar2 = PTR_vtable_004357b0" identifier = identifier) ;) (expression_statement "iVar9 = (int)local_2c - (int)local_30;" (assignment_expression "iVar9 = (int)local_2c - (int)local_30" identifier = (binary_expression "(int)local_2c - (int)local_30" (cast_expression "(int)local_2c" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar6[1] = 0xffffffff;" (assignment_expression "puVar6[1] = 0xffffffff" (subscript_expression "puVar6[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[4] = 0;" (assignment_expression "puVar6[4] = 0" (subscript_expression "puVar6[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[5] = 0;" (assignment_expression "puVar6[5] = 0" (subscript_expression "puVar6[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar6 = puVar2 + 8;" (assignment_expression "*puVar6 = puVar2 + 8" (pointer_expression "*puVar6" * identifier) = (binary_expression "puVar2 + 8" identifier + number_literal)) ;) (expression_statement "uVar7 = (iVar9 >> 3) * -0x55555555;" (assignment_expression "uVar7 = (iVar9 >> 3) * -0x55555555" identifier = (binary_expression "(iVar9 >> 3) * -0x55555555" (parenthesized_expression "(iVar9 >> 3)" ( (binary_expression "iVar9 >> 3" identifier >> number_literal) )) * number_literal)) ;) (expression_statement "local_24 = puVar6;" (assignment_expression "local_24 = puVar6" identifier = identifier) ;) (if_statement "if (uVar7 == 0) {\n    piVar8 = (int *)0x0;\n    puVar6[3] = 0;\n    puVar6[4] = 0;\n    puVar6[5] = iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) goto LAB_00261210;\n  }\n  else {\n    if (0xaaaaaaa < uVar7) {\n                    \n      (*(code *)PTR___throw_bad_alloc_00432404)();\n                    \n      (*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);\n      (*(code *)PTR__vector_00432ca4)(&local_30);\n      (*(code *)PTR_FUN_00432258)(uVar10);\n      return;\n    }\n                    \n    piVar8 = (int *)(*(code *)PTR_operator_new_0043233c)(iVar9);\n    puVar6[3] = piVar8;\n    puVar6[4] = piVar8;\n    puVar6[5] = (int)piVar8 + iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) {\nLAB_00261210:\n      puVar6[6] = 0x1000001;\n      piVar12 = local_30;\n      goto LAB_00261194;\n    }\n  }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    piVar8 = (int *)0x0;\n    puVar6[3] = 0;\n    puVar6[4] = 0;\n    puVar6[5] = iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) goto LAB_00261210;\n  }" { (expression_statement "piVar8 = (int *)0x0;" (assignment_expression "piVar8 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar6[3] = 0;" (assignment_expression "puVar6[3] = 0" (subscript_expression "puVar6[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[4] = 0;" (assignment_expression "puVar6[4] = 0" (subscript_expression "puVar6[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[5] = iVar9;" (assignment_expression "puVar6[5] = iVar9" (subscript_expression "puVar6[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar11 = local_30;" (assignment_expression "piVar11 = local_30" identifier = identifier) ;) (expression_statement "pcVar1 = (code *)PTR__M_construct<char*>_0043248c;" (assignment_expression "pcVar1 = (code *)PTR__M_construct<char*>_0043248c" identifier = (binary_expression "(code *)PTR__M_construct<char*>_0043248c" (binary_expression "(code *)PTR__M_construct<char" (cast_expression "(code *)PTR__M_construct" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < identifier) (ERROR "*" *) > identifier)) ;) (expression_statement "piVar12 = local_2c;" (assignment_expression "piVar12 = local_2c" identifier = identifier) ;) (if_statement "if (local_2c == local_30) goto LAB_00261210;" if (parenthesized_expression "(local_2c == local_30)" ( (binary_expression "local_2c == local_30" identifier == identifier) )) (goto_statement "goto LAB_00261210;" goto statement_identifier ;)) }) (else_clause "else {\n    if (0xaaaaaaa < uVar7) {\n                    \n      (*(code *)PTR___throw_bad_alloc_00432404)();\n                    \n      (*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);\n      (*(code *)PTR__vector_00432ca4)(&local_30);\n      (*(code *)PTR_FUN_00432258)(uVar10);\n      return;\n    }\n                    \n    piVar8 = (int *)(*(code *)PTR_operator_new_0043233c)(iVar9);\n    puVar6[3] = piVar8;\n    puVar6[4] = piVar8;\n    puVar6[5] = (int)piVar8 + iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) {\nLAB_00261210:\n      puVar6[6] = 0x1000001;\n      piVar12 = local_30;\n      goto LAB_00261194;\n    }\n  }" else (compound_statement "{\n    if (0xaaaaaaa < uVar7) {\n                    \n      (*(code *)PTR___throw_bad_alloc_00432404)();\n                    \n      (*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);\n      (*(code *)PTR__vector_00432ca4)(&local_30);\n      (*(code *)PTR_FUN_00432258)(uVar10);\n      return;\n    }\n                    \n    piVar8 = (int *)(*(code *)PTR_operator_new_0043233c)(iVar9);\n    puVar6[3] = piVar8;\n    puVar6[4] = piVar8;\n    puVar6[5] = (int)piVar8 + iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) {\nLAB_00261210:\n      puVar6[6] = 0x1000001;\n      piVar12 = local_30;\n      goto LAB_00261194;\n    }\n  }" { (if_statement "if (0xaaaaaaa < uVar7) {\n                    \n      (*(code *)PTR___throw_bad_alloc_00432404)();\n                    \n      (*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);\n      (*(code *)PTR__vector_00432ca4)(&local_30);\n      (*(code *)PTR_FUN_00432258)(uVar10);\n      return;\n    }" if (parenthesized_expression "(0xaaaaaaa < uVar7)" ( (binary_expression "0xaaaaaaa < uVar7" number_literal < identifier) )) (compound_statement "{\n                    \n      (*(code *)PTR___throw_bad_alloc_00432404)();\n                    \n      (*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);\n      (*(code *)PTR__vector_00432ca4)(&local_30);\n      (*(code *)PTR_FUN_00432258)(uVar10);\n      return;\n    }" { (expression_statement "(*(code *)PTR___throw_bad_alloc_00432404)();" (call_expression "(*(code *)PTR___throw_bad_alloc_00432404)()" (parenthesized_expression "(*(code *)PTR___throw_bad_alloc_00432404)" ( (pointer_expression "*(code *)PTR___throw_bad_alloc_00432404" * (cast_expression "(code *)PTR___throw_bad_alloc_00432404" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "(*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);" (call_expression "(*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c)" (parenthesized_expression "(*(code *)PTR_operator_delete_004323c0)" ( (pointer_expression "*(code *)PTR_operator_delete_004323c0" * (cast_expression "(code *)PTR_operator_delete_004323c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,0x1c)" ( identifier , number_literal ))) ;) (expression_statement "(*(code *)PTR__vector_00432ca4)(&local_30);" (call_expression "(*(code *)PTR__vector_00432ca4)(&local_30)" (parenthesized_expression "(*(code *)PTR__vector_00432ca4)" ( (pointer_expression "*(code *)PTR__vector_00432ca4" * (cast_expression "(code *)PTR__vector_00432ca4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_30)" ( (pointer_expression "&local_30" & identifier) ))) ;) (expression_statement "(*(code *)PTR_FUN_00432258)(uVar10);" (call_expression "(*(code *)PTR_FUN_00432258)(uVar10)" (parenthesized_expression "(*(code *)PTR_FUN_00432258)" ( (pointer_expression "*(code *)PTR_FUN_00432258" * (cast_expression "(code *)PTR_FUN_00432258" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10)" ( identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "piVar8 = (int *)(*(code *)PTR_operator_new_0043233c)(iVar9);" (assignment_expression "piVar8 = (int *)(*(code *)PTR_operator_new_0043233c)(iVar9)" identifier = (cast_expression "(int *)(*(code *)PTR_operator_new_0043233c)(iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new_0043233c)(iVar9)" (parenthesized_expression "(*(code *)PTR_operator_new_0043233c)" ( (pointer_expression "*(code *)PTR_operator_new_0043233c" * (cast_expression "(code *)PTR_operator_new_0043233c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9)" ( identifier ))))) ;) (expression_statement "puVar6[3] = piVar8;" (assignment_expression "puVar6[3] = piVar8" (subscript_expression "puVar6[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[4] = piVar8;" (assignment_expression "puVar6[4] = piVar8" (subscript_expression "puVar6[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[5] = (int)piVar8 + iVar9;" (assignment_expression "puVar6[5] = (int)piVar8 + iVar9" (subscript_expression "puVar6[5]" identifier [ number_literal ]) = (binary_expression "(int)piVar8 + iVar9" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "piVar11 = local_30;" (assignment_expression "piVar11 = local_30" identifier = identifier) ;) (expression_statement "pcVar1 = (code *)PTR__M_construct<char*>_0043248c;" (assignment_expression "pcVar1 = (code *)PTR__M_construct<char*>_0043248c" identifier = (binary_expression "(code *)PTR__M_construct<char*>_0043248c" (binary_expression "(code *)PTR__M_construct<char" (cast_expression "(code *)PTR__M_construct" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < identifier) (ERROR "*" *) > identifier)) ;) (expression_statement "piVar12 = local_2c;" (assignment_expression "piVar12 = local_2c" identifier = identifier) ;) (if_statement "if (local_2c == local_30) {\nLAB_00261210:\n      puVar6[6] = 0x1000001;\n      piVar12 = local_30;\n      goto LAB_00261194;\n    }" if (parenthesized_expression "(local_2c == local_30)" ( (binary_expression "local_2c == local_30" identifier == identifier) )) (compound_statement "{\nLAB_00261210:\n      puVar6[6] = 0x1000001;\n      piVar12 = local_30;\n      goto LAB_00261194;\n    }" { (labeled_statement "LAB_00261210:\n      puVar6[6] = 0x1000001;" statement_identifier : (expression_statement "puVar6[6] = 0x1000001;" (assignment_expression "puVar6[6] = 0x1000001" (subscript_expression "puVar6[6]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "piVar12 = local_30;" (assignment_expression "piVar12 = local_30" identifier = identifier) ;) (goto_statement "goto LAB_00261194;" goto statement_identifier ;) })) }))) (do_statement "do {\n    *piVar8 = (int)(piVar8 + 2);\n                    \n    (*pcVar1)(piVar8,*piVar11,*piVar11 + piVar11[1],0);\n    piVar3 = local_2c;\n    piVar11 = piVar11 + 6;\n    piVar8 = piVar8 + 6;\n  } while (piVar12 != piVar11);" do (compound_statement "{\n    *piVar8 = (int)(piVar8 + 2);\n                    \n    (*pcVar1)(piVar8,*piVar11,*piVar11 + piVar11[1],0);\n    piVar3 = local_2c;\n    piVar11 = piVar11 + 6;\n    piVar8 = piVar8 + 6;\n  }" { (expression_statement "*piVar8 = (int)(piVar8 + 2);" (assignment_expression "*piVar8 = (int)(piVar8 + 2)" (pointer_expression "*piVar8" * identifier) = (cast_expression "(int)(piVar8 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar8 + 2)" ( (binary_expression "piVar8 + 2" identifier + number_literal) )))) ;) (expression_statement "(*pcVar1)(piVar8,*piVar11,*piVar11 + piVar11[1],0);" (call_expression "(*pcVar1)(piVar8,*piVar11,*piVar11 + piVar11[1],0)" (parenthesized_expression "(*pcVar1)" ( (pointer_expression "*pcVar1" * identifier) )) (argument_list "(piVar8,*piVar11,*piVar11 + piVar11[1],0)" ( identifier , (pointer_expression "*piVar11" * identifier) , (binary_expression "*piVar11 + piVar11[1]" (pointer_expression "*piVar11" * identifier) + (subscript_expression "piVar11[1]" identifier [ number_literal ])) , number_literal ))) ;) (expression_statement "piVar3 = local_2c;" (assignment_expression "piVar3 = local_2c" identifier = identifier) ;) (expression_statement "piVar11 = piVar11 + 6;" (assignment_expression "piVar11 = piVar11 + 6" identifier = (binary_expression "piVar11 + 6" identifier + number_literal)) ;) (expression_statement "piVar8 = piVar8 + 6;" (assignment_expression "piVar8 = piVar8 + 6" identifier = (binary_expression "piVar8 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar12 != piVar11)" ( (binary_expression "piVar12 != piVar11" identifier != identifier) )) ;) (expression_statement "puVar6[4] = piVar8;" (assignment_expression "puVar6[4] = piVar8" (subscript_expression "puVar6[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[6] = 0x1000001;" (assignment_expression "puVar6[6] = 0x1000001" (subscript_expression "puVar6[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar12 = local_2c;" (assignment_expression "piVar12 = local_2c" identifier = identifier) ;) (for_statement "for (piVar11 = local_30; piVar3 != piVar11; piVar11 = piVar11 + 6) {\n    if ((int *)*piVar11 != piVar11 + 2) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    piVar12 = local_30;\n  }" for ( (assignment_expression "piVar11 = local_30" identifier = identifier) ; (binary_expression "piVar3 != piVar11" identifier != identifier) ; (assignment_expression "piVar11 = piVar11 + 6" identifier = (binary_expression "piVar11 + 6" identifier + number_literal)) ) (compound_statement "{\n    if ((int *)*piVar11 != piVar11 + 2) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    piVar12 = local_30;\n  }" { (if_statement "if ((int *)*piVar11 != piVar11 + 2) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }" if (parenthesized_expression "((int *)*piVar11 != piVar11 + 2)" ( (binary_expression "(int *)*piVar11 != piVar11 + 2" (cast_expression "(int *)*piVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier)) != (binary_expression "piVar11 + 2" identifier + number_literal)) )) (compound_statement "{\n      (*(code *)PTR_operator_delete_0043228c)();\n    }" { (expression_statement "(*(code *)PTR_operator_delete_0043228c)();" (call_expression "(*(code *)PTR_operator_delete_0043228c)()" (parenthesized_expression "(*(code *)PTR_operator_delete_0043228c)" ( (pointer_expression "*(code *)PTR_operator_delete_0043228c" * (cast_expression "(code *)PTR_operator_delete_0043228c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "piVar12 = local_30;" (assignment_expression "piVar12 = local_30" identifier = identifier) ;) })) (labeled_statement "LAB_00261194:\n  if (piVar12 != (int *)0x0) {\n    (*(code *)PTR_operator_delete_0043228c)(piVar12);\n  }" statement_identifier : (if_statement "if (piVar12 != (int *)0x0) {\n    (*(code *)PTR_operator_delete_0043228c)(piVar12);\n  }" if (parenthesized_expression "(piVar12 != (int *)0x0)" ( (binary_expression "piVar12 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_0043228c)(piVar12);\n  }" { (expression_statement "(*(code *)PTR_operator_delete_0043228c)(piVar12);" (call_expression "(*(code *)PTR_operator_delete_0043228c)(piVar12)" (parenthesized_expression "(*(code *)PTR_operator_delete_0043228c)" ( (pointer_expression "*(code *)PTR_operator_delete_0043228c" * (cast_expression "(code *)PTR_operator_delete_0043228c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar12)" ( identifier ))) ;) }))) (expression_statement "puVar6 = *(undefined4 **)(this + 4);" (assignment_expression "puVar6 = *(undefined4 **)(this + 4)" identifier = (pointer_expression "*(undefined4 **)(this + 4)" * (cast_expression "(undefined4 **)(this + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) ))))) ;) (if_statement "if (puVar6 != *(undefined4 **)(this + 8)) {\n    *puVar6 = local_24;\n    *(undefined4 **)(this + 4) = puVar6 + 1;\n    this[0x3c] = (Versions)0x0;\n    return;\n  }" if (parenthesized_expression "(puVar6 != *(undefined4 **)(this + 8))" ( (binary_expression "puVar6 != *(undefined4 **)(this + 8)" identifier != (pointer_expression "*(undefined4 **)(this + 8)" * (cast_expression "(undefined4 **)(this + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) ))))) )) (compound_statement "{\n    *puVar6 = local_24;\n    *(undefined4 **)(this + 4) = puVar6 + 1;\n    this[0x3c] = (Versions)0x0;\n    return;\n  }" { (expression_statement "*puVar6 = local_24;" (assignment_expression "*puVar6 = local_24" (pointer_expression "*puVar6" * identifier) = identifier) ;) (expression_statement "*(undefined4 **)(this + 4) = puVar6 + 1;" (assignment_expression "*(undefined4 **)(this + 4) = puVar6 + 1" (pointer_expression "*(undefined4 **)(this + 4)" * (cast_expression "(undefined4 **)(this + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) = (binary_expression "puVar6 + 1" identifier + number_literal)) ;) (expression_statement "this[0x3c] = (Versions)0x0;" (assignment_expression "this[0x3c] = (Versions)0x0" (subscript_expression "this[0x3c]" identifier [ number_literal ]) = (cast_expression "(Versions)0x0" ( (type_descriptor "Versions" type_identifier) ) number_literal)) ;) (return_statement "return;" return ;) })) (ERROR "std::vector<gold::Verdef*,std::allocator<gold::Verdef*>>::_M_realloc_insert<gold::" (comma_expression "std::vector<gold::Verdef*,std" identifier (ERROR "::vector<gold::Verdef*" : : (binary_expression "vector<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Verdef*>>::_M_realloc_insert<gold" (binary_expression "Verdef*>>::_M_realloc_insert" identifier * (ERROR ">>::" >> : :) identifier) < identifier) : :) (expression_statement "Verdef*const&>\n            ((vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this,puVar6,&local_24);" (binary_expression "Verdef*const&>\n            ((vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this,puVar6,&local_24)" (binary_expression "Verdef*const" identifier * identifier) (ERROR "&" &) > (parenthesized_expression "((vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this,puVar6,&local_24)" ( (parenthesized_expression "(vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this,puVar6,&local_24)" ( (comma_expression "vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this,puVar6,&local_24" (binary_expression "vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this" (binary_expression "vector<gold::Verdef*,std::allocator<gold" (binary_expression "vector<gold::Verdef*,std" (binary_expression "vector<gold" identifier < identifier) (ERROR "::Verdef" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Verdef" : : identifier) * (ERROR ">>" >>) (pointer_expression "*)this" * (ERROR ")" )) identifier)) , (comma_expression "puVar6,&local_24" identifier , (pointer_expression "&local_24" & identifier))) )) ))) ;) (expression_statement "this[0x3c] = (Versions)0x0;" (assignment_expression "this[0x3c] = (Versions)0x0" (subscript_expression "this[0x3c]" identifier [ number_literal ]) = (cast_expression "(Versions)0x0" ( (type_descriptor "Versions" type_identifier) ) number_literal)) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ms_call_modifier __thiscall) (ERROR IDENT : : IDENT : :) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (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 *)) ) IDENT))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT , 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 = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) 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 * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) < IDENT) (ERROR *) > IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) < IDENT) (ERROR *) > IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) }))) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (pointer_expression * IDENT) , (binary_expression (pointer_expression * IDENT) + (subscript_expression IDENT [ LIT ])) , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = IDENT) ; (binary_expression IDENT != IDENT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) != (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( 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) ))))) ;) (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 (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (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)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (return_statement return ;) })) (ERROR (comma_expression IDENT (ERROR : : (binary_expression IDENT < IDENT) : : IDENT *) , IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression (binary_expression IDENT * (ERROR >> : :) IDENT) < IDENT) : :) (expression_statement (binary_expression (binary_expression IDENT * IDENT) (ERROR &) > (parenthesized_expression ( (parenthesized_expression ( (comma_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT < IDENT) (ERROR : : IDENT) * (ERROR ,) IDENT) (ERROR : : IDENT) < IDENT) (ERROR : : IDENT) * (ERROR >>) (pointer_expression * (ERROR )) IDENT)) , (comma_expression IDENT , (pointer_expression & IDENT))) )) ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (return_statement return ;) })))
(function_definition "void __thiscall gold::Versions::define_base_version(Versions *this,Stringpool_template *param_1)\n\n{\n  code *pcVar1;\n  undefined *puVar2;\n  int *piVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int *piVar8;\n  int iVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  int *piVar12;\n  int *local_30;\n  int *local_2c;\n  undefined4 local_28;\n  undefined4 *local_24;\n  \n  if (*(int *)(this + 4) != *(int *)this) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x5d5,PTR_DAT_0043226c + 0x1aa8);\n    return;\n  }\n  iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n  if (iVar9 == 0) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + 0x1ba8);\n    return;\n  }\n  iVar4 = *(int *)(iVar9 + 0x1aa8);\n  if (iVar4 == 0) {\n    iVar4 = *(int *)(iVar9 + 0x27b0);\n  }\n  uVar5 = (*(code *)PTR_add_00432e80)(param_1,iVar4,0,0);\n  uVar10 = 0x1c;\n  local_30 = (int *)0x0;\n  local_2c = (int *)0x0;\n                    \n  local_28 = 0;\n  puVar6 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0x1c);\n  puVar6[2] = uVar5;\n  puVar6[3] = 0;\n  puVar2 = PTR_vtable_004357b0;\n  iVar9 = (int)local_2c - (int)local_30;\n  puVar6[1] = 0xffffffff;\n  puVar6[4] = 0;\n  puVar6[5] = 0;\n  *puVar6 = puVar2 + 8;\n  uVar7 = (iVar9 >> 3) * -0x55555555;\n  local_24 = puVar6;\n  if (uVar7 == 0) {\n    piVar8 = (int *)0x0;\n    puVar6[3] = 0;\n    puVar6[4] = 0;\n    puVar6[5] = iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) goto LAB_00261210;\n  }\n  else {\n    if (0xaaaaaaa < uVar7) {\n                    \n      (*(code *)PTR___throw_bad_alloc_00432404)();\n                    \n      (*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);\n      (*(code *)PTR__vector_00432ca4)(&local_30);\n      (*(code *)PTR_FUN_00432258)(uVar10);\n      return;\n    }\n                    \n    piVar8 = (int *)(*(code *)PTR_operator_new_0043233c)(iVar9);\n    puVar6[3] = piVar8;\n    puVar6[4] = piVar8;\n    puVar6[5] = (int)piVar8 + iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) {\nLAB_00261210:\n      puVar6[6] = 0x1000001;\n      piVar12 = local_30;\n      goto LAB_00261194;\n    }\n  }\n  do {\n    *piVar8 = (int)(piVar8 + 2);\n                    \n    (*pcVar1)(piVar8,*piVar11,*piVar11 + piVar11[1],0);\n    piVar3 = local_2c;\n    piVar11 = piVar11 + 6;\n    piVar8 = piVar8 + 6;\n  } while (piVar12 != piVar11);\n  puVar6[4] = piVar8;\n  puVar6[6] = 0x1000001;\n  piVar12 = local_2c;\n  for (piVar11 = local_30; piVar3 != piVar11; piVar11 = piVar11 + 6) {\n    if ((int *)*piVar11 != piVar11 + 2) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    piVar12 = local_30;\n  }\nLAB_00261194:\n  if (piVar12 != (int *)0x0) {\n    (*(code *)PTR_operator_delete_0043228c)(piVar12);\n  }\n  puVar6 = *(undefined4 **)(this + 4);\n  if (puVar6 != *(undefined4 **)(this + 8)) {\n    *puVar6 = local_24;\n    *(undefined4 **)(this + 4) = puVar6 + 1;\n    this[0x3c] = (Versions)0x0;\n    return;\n  }\n  std::vector<gold::Verdef*,std::allocator<gold::Verdef*>>::_M_realloc_insert<gold::Verdef*const&>\n            ((vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this,puVar6,&local_24);\n  this[0x3c] = (Versions)0x0;\n  return;\n}" (primitive_type "void") (ms_call_modifier "__thiscall" (__thiscall "__thiscall")) (ERROR "gold::Versions::" (identifier "gold") (: ":") (: ":") (identifier "Versions") (: ":") (: ":")) (function_declarator "define_base_version(Versions *this,Stringpool_template *param_1)" (identifier "define_base_version") (parameter_list "(Versions *this,Stringpool_template *param_1)" (( "(") (parameter_declaration "Versions *this" (type_identifier "Versions") (pointer_declarator "*this" (* "*") (identifier "this"))) (, ",") (parameter_declaration "Stringpool_template *param_1" (type_identifier "Stringpool_template") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  code *pcVar1;\n  undefined *puVar2;\n  int *piVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int *piVar8;\n  int iVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  int *piVar12;\n  int *local_30;\n  int *local_2c;\n  undefined4 local_28;\n  undefined4 *local_24;\n  \n  if (*(int *)(this + 4) != *(int *)this) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x5d5,PTR_DAT_0043226c + 0x1aa8);\n    return;\n  }\n  iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);\n  if (iVar9 == 0) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + 0x1ba8);\n    return;\n  }\n  iVar4 = *(int *)(iVar9 + 0x1aa8);\n  if (iVar4 == 0) {\n    iVar4 = *(int *)(iVar9 + 0x27b0);\n  }\n  uVar5 = (*(code *)PTR_add_00432e80)(param_1,iVar4,0,0);\n  uVar10 = 0x1c;\n  local_30 = (int *)0x0;\n  local_2c = (int *)0x0;\n                    \n  local_28 = 0;\n  puVar6 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0x1c);\n  puVar6[2] = uVar5;\n  puVar6[3] = 0;\n  puVar2 = PTR_vtable_004357b0;\n  iVar9 = (int)local_2c - (int)local_30;\n  puVar6[1] = 0xffffffff;\n  puVar6[4] = 0;\n  puVar6[5] = 0;\n  *puVar6 = puVar2 + 8;\n  uVar7 = (iVar9 >> 3) * -0x55555555;\n  local_24 = puVar6;\n  if (uVar7 == 0) {\n    piVar8 = (int *)0x0;\n    puVar6[3] = 0;\n    puVar6[4] = 0;\n    puVar6[5] = iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) goto LAB_00261210;\n  }\n  else {\n    if (0xaaaaaaa < uVar7) {\n                    \n      (*(code *)PTR___throw_bad_alloc_00432404)();\n                    \n      (*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);\n      (*(code *)PTR__vector_00432ca4)(&local_30);\n      (*(code *)PTR_FUN_00432258)(uVar10);\n      return;\n    }\n                    \n    piVar8 = (int *)(*(code *)PTR_operator_new_0043233c)(iVar9);\n    puVar6[3] = piVar8;\n    puVar6[4] = piVar8;\n    puVar6[5] = (int)piVar8 + iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) {\nLAB_00261210:\n      puVar6[6] = 0x1000001;\n      piVar12 = local_30;\n      goto LAB_00261194;\n    }\n  }\n  do {\n    *piVar8 = (int)(piVar8 + 2);\n                    \n    (*pcVar1)(piVar8,*piVar11,*piVar11 + piVar11[1],0);\n    piVar3 = local_2c;\n    piVar11 = piVar11 + 6;\n    piVar8 = piVar8 + 6;\n  } while (piVar12 != piVar11);\n  puVar6[4] = piVar8;\n  puVar6[6] = 0x1000001;\n  piVar12 = local_2c;\n  for (piVar11 = local_30; piVar3 != piVar11; piVar11 = piVar11 + 6) {\n    if ((int *)*piVar11 != piVar11 + 2) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    piVar12 = local_30;\n  }\nLAB_00261194:\n  if (piVar12 != (int *)0x0) {\n    (*(code *)PTR_operator_delete_0043228c)(piVar12);\n  }\n  puVar6 = *(undefined4 **)(this + 4);\n  if (puVar6 != *(undefined4 **)(this + 8)) {\n    *puVar6 = local_24;\n    *(undefined4 **)(this + 4) = puVar6 + 1;\n    this[0x3c] = (Versions)0x0;\n    return;\n  }\n  std::vector<gold::Verdef*,std::allocator<gold::Verdef*>>::_M_realloc_insert<gold::Verdef*const&>\n            ((vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this,puVar6,&local_24);\n  this[0x3c] = (Versions)0x0;\n  return;\n}" ({ "{") (declaration "code *pcVar1;" (type_identifier "code") (pointer_declarator "*pcVar1" (* "*") (identifier "pcVar1")) (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int *piVar3;" (primitive_type "int") (pointer_declarator "*piVar3" (* "*") (identifier "piVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "int *piVar12;" (primitive_type "int") (pointer_declarator "*piVar12" (* "*") (identifier "piVar12")) (; ";")) (declaration "int *local_30;" (primitive_type "int") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (declaration "int *local_2c;" (primitive_type "int") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (declaration "undefined4 local_28;" (type_identifier "undefined4") (identifier "local_28") (; ";")) (declaration "undefined4 *local_24;" (type_identifier "undefined4") (pointer_declarator "*local_24" (* "*") (identifier "local_24")) (; ";")) (if_statement "if (*(int *)(this + 4) != *(int *)this) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x5d5,PTR_DAT_0043226c + 0x1aa8);\n    return;\n  }" (if "if") (parenthesized_expression "(*(int *)(this + 4) != *(int *)this)" (( "(") (binary_expression "*(int *)(this + 4) != *(int *)this" (pointer_expression "*(int *)(this + 4)" (* "*") (cast_expression "(int *)(this + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 4)" (( "(") (binary_expression "this + 4" (identifier "this") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (pointer_expression "*(int *)this" (* "*") (cast_expression "(int *)this" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "this")))) () ")")) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x5d5,PTR_DAT_0043226c + 0x1aa8);\n    return;\n  }" ({ "{") (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x5d5,PTR_DAT_0043226c + 0x1aa8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x5d5,PTR_DAT_0043226c + 0x1aa8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(PTR_DAT_0043226c + 0x13e0,0x5d5,PTR_DAT_0043226c + 0x1aa8)" (( "(") (binary_expression "PTR_DAT_0043226c + 0x13e0" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "0x13e0")) (, ",") (number_literal "0x5d5") (, ",") (binary_expression "PTR_DAT_0043226c + 0x1aa8" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "0x1aa8")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);" (assignment_expression "iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 8)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8)" (* "*") (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 8)" (( "(") (binary_expression "*(int *)PTR_parameters_00432be0 + 8" (pointer_expression "*(int *)PTR_parameters_00432be0" (* "*") (cast_expression "(int *)PTR_parameters_00432be0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parameters_00432be0"))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar9 == 0) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + 0x1ba8);\n    return;\n  }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + 0x1ba8);\n    return;\n  }" ({ "{") (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + 0x1ba8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + 0x1ba8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + 0x1ba8)" (( "(") (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5cec" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x5cec")) (, ",") (number_literal "0x5c") (, ",") (binary_expression "PTR_DAT_0043226c + 0x1ba8" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "0x1ba8")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar4 = *(int *)(iVar9 + 0x1aa8);" (assignment_expression "iVar4 = *(int *)(iVar9 + 0x1aa8)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar9 + 0x1aa8)" (* "*") (cast_expression "(int *)(iVar9 + 0x1aa8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x1aa8)" (( "(") (binary_expression "iVar9 + 0x1aa8" (identifier "iVar9") (+ "+") (number_literal "0x1aa8")) () ")"))))) (; ";")) (if_statement "if (iVar4 == 0) {\n    iVar4 = *(int *)(iVar9 + 0x27b0);\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar4 = *(int *)(iVar9 + 0x27b0);\n  }" ({ "{") (expression_statement "iVar4 = *(int *)(iVar9 + 0x27b0);" (assignment_expression "iVar4 = *(int *)(iVar9 + 0x27b0)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar9 + 0x27b0)" (* "*") (cast_expression "(int *)(iVar9 + 0x27b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x27b0)" (( "(") (binary_expression "iVar9 + 0x27b0" (identifier "iVar9") (+ "+") (number_literal "0x27b0")) () ")"))))) (; ";")) (} "}"))) (expression_statement "uVar5 = (*(code *)PTR_add_00432e80)(param_1,iVar4,0,0);" (assignment_expression "uVar5 = (*(code *)PTR_add_00432e80)(param_1,iVar4,0,0)" (identifier "uVar5") (= "=") (call_expression "(*(code *)PTR_add_00432e80)(param_1,iVar4,0,0)" (parenthesized_expression "(*(code *)PTR_add_00432e80)" (( "(") (pointer_expression "*(code *)PTR_add_00432e80" (* "*") (cast_expression "(code *)PTR_add_00432e80" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_add_00432e80"))) () ")")) (argument_list "(param_1,iVar4,0,0)" (( "(") (identifier "param_1") (, ",") (identifier "iVar4") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar10 = 0x1c;" (assignment_expression "uVar10 = 0x1c" (identifier "uVar10") (= "=") (number_literal "0x1c")) (; ";")) (expression_statement "local_30 = (int *)0x0;" (assignment_expression "local_30 = (int *)0x0" (identifier "local_30") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_2c = (int *)0x0;" (assignment_expression "local_2c = (int *)0x0" (identifier "local_2c") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0x1c);" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0x1c)" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR_operator_new_0043233c)(0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_operator_new_0043233c)(0x1c)" (parenthesized_expression "(*(code *)PTR_operator_new_0043233c)" (( "(") (pointer_expression "*(code *)PTR_operator_new_0043233c" (* "*") (cast_expression "(code *)PTR_operator_new_0043233c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_new_0043233c"))) () ")")) (argument_list "(0x1c)" (( "(") (number_literal "0x1c") () ")"))))) (; ";")) (expression_statement "puVar6[2] = uVar5;" (assignment_expression "puVar6[2] = uVar5" (subscript_expression "puVar6[2]" (identifier "puVar6") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "puVar6[3] = 0;" (assignment_expression "puVar6[3] = 0" (subscript_expression "puVar6[3]" (identifier "puVar6") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2 = PTR_vtable_004357b0;" (assignment_expression "puVar2 = PTR_vtable_004357b0" (identifier "puVar2") (= "=") (identifier "PTR_vtable_004357b0")) (; ";")) (expression_statement "iVar9 = (int)local_2c - (int)local_30;" (assignment_expression "iVar9 = (int)local_2c - (int)local_30" (identifier "iVar9") (= "=") (binary_expression "(int)local_2c - (int)local_30" (cast_expression "(int)local_2c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_2c")) (- "-") (cast_expression "(int)local_30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_30")))) (; ";")) (expression_statement "puVar6[1] = 0xffffffff;" (assignment_expression "puVar6[1] = 0xffffffff" (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "puVar6[4] = 0;" (assignment_expression "puVar6[4] = 0" (subscript_expression "puVar6[4]" (identifier "puVar6") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar6[5] = 0;" (assignment_expression "puVar6[5] = 0" (subscript_expression "puVar6[5]" (identifier "puVar6") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar6 = puVar2 + 8;" (assignment_expression "*puVar6 = puVar2 + 8" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (binary_expression "puVar2 + 8" (identifier "puVar2") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "uVar7 = (iVar9 >> 3) * -0x55555555;" (assignment_expression "uVar7 = (iVar9 >> 3) * -0x55555555" (identifier "uVar7") (= "=") (binary_expression "(iVar9 >> 3) * -0x55555555" (parenthesized_expression "(iVar9 >> 3)" (( "(") (binary_expression "iVar9 >> 3" (identifier "iVar9") (>> ">>") (number_literal "3")) () ")")) (* "*") (number_literal "-0x55555555"))) (; ";")) (expression_statement "local_24 = puVar6;" (assignment_expression "local_24 = puVar6" (identifier "local_24") (= "=") (identifier "puVar6")) (; ";")) (if_statement "if (uVar7 == 0) {\n    piVar8 = (int *)0x0;\n    puVar6[3] = 0;\n    puVar6[4] = 0;\n    puVar6[5] = iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) goto LAB_00261210;\n  }\n  else {\n    if (0xaaaaaaa < uVar7) {\n                    \n      (*(code *)PTR___throw_bad_alloc_00432404)();\n                    \n      (*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);\n      (*(code *)PTR__vector_00432ca4)(&local_30);\n      (*(code *)PTR_FUN_00432258)(uVar10);\n      return;\n    }\n                    \n    piVar8 = (int *)(*(code *)PTR_operator_new_0043233c)(iVar9);\n    puVar6[3] = piVar8;\n    puVar6[4] = piVar8;\n    puVar6[5] = (int)piVar8 + iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) {\nLAB_00261210:\n      puVar6[6] = 0x1000001;\n      piVar12 = local_30;\n      goto LAB_00261194;\n    }\n  }" (if "if") (parenthesized_expression "(uVar7 == 0)" (( "(") (binary_expression "uVar7 == 0" (identifier "uVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    piVar8 = (int *)0x0;\n    puVar6[3] = 0;\n    puVar6[4] = 0;\n    puVar6[5] = iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) goto LAB_00261210;\n  }" ({ "{") (expression_statement "piVar8 = (int *)0x0;" (assignment_expression "piVar8 = (int *)0x0" (identifier "piVar8") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar6[3] = 0;" (assignment_expression "puVar6[3] = 0" (subscript_expression "puVar6[3]" (identifier "puVar6") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar6[4] = 0;" (assignment_expression "puVar6[4] = 0" (subscript_expression "puVar6[4]" (identifier "puVar6") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar6[5] = iVar9;" (assignment_expression "puVar6[5] = iVar9" (subscript_expression "puVar6[5]" (identifier "puVar6") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "piVar11 = local_30;" (assignment_expression "piVar11 = local_30" (identifier "piVar11") (= "=") (identifier "local_30")) (; ";")) (expression_statement "pcVar1 = (code *)PTR__M_construct<char*>_0043248c;" (assignment_expression "pcVar1 = (code *)PTR__M_construct<char*>_0043248c" (identifier "pcVar1") (= "=") (binary_expression "(code *)PTR__M_construct<char*>_0043248c" (binary_expression "(code *)PTR__M_construct<char" (cast_expression "(code *)PTR__M_construct" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_construct")) (< "<") (identifier "char")) (ERROR "*" (* "*")) (> ">") (identifier "_0043248c"))) (; ";")) (expression_statement "piVar12 = local_2c;" (assignment_expression "piVar12 = local_2c" (identifier "piVar12") (= "=") (identifier "local_2c")) (; ";")) (if_statement "if (local_2c == local_30) goto LAB_00261210;" (if "if") (parenthesized_expression "(local_2c == local_30)" (( "(") (binary_expression "local_2c == local_30" (identifier "local_2c") (== "==") (identifier "local_30")) () ")")) (goto_statement "goto LAB_00261210;" (goto "goto") (statement_identifier "LAB_00261210") (; ";"))) (} "}")) (else_clause "else {\n    if (0xaaaaaaa < uVar7) {\n                    \n      (*(code *)PTR___throw_bad_alloc_00432404)();\n                    \n      (*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);\n      (*(code *)PTR__vector_00432ca4)(&local_30);\n      (*(code *)PTR_FUN_00432258)(uVar10);\n      return;\n    }\n                    \n    piVar8 = (int *)(*(code *)PTR_operator_new_0043233c)(iVar9);\n    puVar6[3] = piVar8;\n    puVar6[4] = piVar8;\n    puVar6[5] = (int)piVar8 + iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) {\nLAB_00261210:\n      puVar6[6] = 0x1000001;\n      piVar12 = local_30;\n      goto LAB_00261194;\n    }\n  }" (else "else") (compound_statement "{\n    if (0xaaaaaaa < uVar7) {\n                    \n      (*(code *)PTR___throw_bad_alloc_00432404)();\n                    \n      (*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);\n      (*(code *)PTR__vector_00432ca4)(&local_30);\n      (*(code *)PTR_FUN_00432258)(uVar10);\n      return;\n    }\n                    \n    piVar8 = (int *)(*(code *)PTR_operator_new_0043233c)(iVar9);\n    puVar6[3] = piVar8;\n    puVar6[4] = piVar8;\n    puVar6[5] = (int)piVar8 + iVar9;\n    piVar11 = local_30;\n    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;\n    piVar12 = local_2c;\n    if (local_2c == local_30) {\nLAB_00261210:\n      puVar6[6] = 0x1000001;\n      piVar12 = local_30;\n      goto LAB_00261194;\n    }\n  }" ({ "{") (if_statement "if (0xaaaaaaa < uVar7) {\n                    \n      (*(code *)PTR___throw_bad_alloc_00432404)();\n                    \n      (*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);\n      (*(code *)PTR__vector_00432ca4)(&local_30);\n      (*(code *)PTR_FUN_00432258)(uVar10);\n      return;\n    }" (if "if") (parenthesized_expression "(0xaaaaaaa < uVar7)" (( "(") (binary_expression "0xaaaaaaa < uVar7" (number_literal "0xaaaaaaa") (< "<") (identifier "uVar7")) () ")")) (compound_statement "{\n                    \n      (*(code *)PTR___throw_bad_alloc_00432404)();\n                    \n      (*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);\n      (*(code *)PTR__vector_00432ca4)(&local_30);\n      (*(code *)PTR_FUN_00432258)(uVar10);\n      return;\n    }" ({ "{") (expression_statement "(*(code *)PTR___throw_bad_alloc_00432404)();" (call_expression "(*(code *)PTR___throw_bad_alloc_00432404)()" (parenthesized_expression "(*(code *)PTR___throw_bad_alloc_00432404)" (( "(") (pointer_expression "*(code *)PTR___throw_bad_alloc_00432404" (* "*") (cast_expression "(code *)PTR___throw_bad_alloc_00432404" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___throw_bad_alloc_00432404"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);" (call_expression "(*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c)" (parenthesized_expression "(*(code *)PTR_operator_delete_004323c0)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_004323c0" (* "*") (cast_expression "(code *)PTR_operator_delete_004323c0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_004323c0"))) () ")")) (argument_list "(puVar6,0x1c)" (( "(") (identifier "puVar6") (, ",") (number_literal "0x1c") () ")"))) (; ";")) (expression_statement "(*(code *)PTR__vector_00432ca4)(&local_30);" (call_expression "(*(code *)PTR__vector_00432ca4)(&local_30)" (parenthesized_expression "(*(code *)PTR__vector_00432ca4)" (( "(") (pointer_expression "*(code *)PTR__vector_00432ca4" (* "*") (cast_expression "(code *)PTR__vector_00432ca4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__vector_00432ca4"))) () ")")) (argument_list "(&local_30)" (( "(") (pointer_expression "&local_30" (& "&") (identifier "local_30")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_FUN_00432258)(uVar10);" (call_expression "(*(code *)PTR_FUN_00432258)(uVar10)" (parenthesized_expression "(*(code *)PTR_FUN_00432258)" (( "(") (pointer_expression "*(code *)PTR_FUN_00432258" (* "*") (cast_expression "(code *)PTR_FUN_00432258" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_00432258"))) () ")")) (argument_list "(uVar10)" (( "(") (identifier "uVar10") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "piVar8 = (int *)(*(code *)PTR_operator_new_0043233c)(iVar9);" (assignment_expression "piVar8 = (int *)(*(code *)PTR_operator_new_0043233c)(iVar9)" (identifier "piVar8") (= "=") (cast_expression "(int *)(*(code *)PTR_operator_new_0043233c)(iVar9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_operator_new_0043233c)(iVar9)" (parenthesized_expression "(*(code *)PTR_operator_new_0043233c)" (( "(") (pointer_expression "*(code *)PTR_operator_new_0043233c" (* "*") (cast_expression "(code *)PTR_operator_new_0043233c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_new_0043233c"))) () ")")) (argument_list "(iVar9)" (( "(") (identifier "iVar9") () ")"))))) (; ";")) (expression_statement "puVar6[3] = piVar8;" (assignment_expression "puVar6[3] = piVar8" (subscript_expression "puVar6[3]" (identifier "puVar6") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "puVar6[4] = piVar8;" (assignment_expression "puVar6[4] = piVar8" (subscript_expression "puVar6[4]" (identifier "puVar6") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "puVar6[5] = (int)piVar8 + iVar9;" (assignment_expression "puVar6[5] = (int)piVar8 + iVar9" (subscript_expression "puVar6[5]" (identifier "puVar6") ([ "[") (number_literal "5") (] "]")) (= "=") (binary_expression "(int)piVar8 + iVar9" (cast_expression "(int)piVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar8")) (+ "+") (identifier "iVar9"))) (; ";")) (expression_statement "piVar11 = local_30;" (assignment_expression "piVar11 = local_30" (identifier "piVar11") (= "=") (identifier "local_30")) (; ";")) (expression_statement "pcVar1 = (code *)PTR__M_construct<char*>_0043248c;" (assignment_expression "pcVar1 = (code *)PTR__M_construct<char*>_0043248c" (identifier "pcVar1") (= "=") (binary_expression "(code *)PTR__M_construct<char*>_0043248c" (binary_expression "(code *)PTR__M_construct<char" (cast_expression "(code *)PTR__M_construct" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_construct")) (< "<") (identifier "char")) (ERROR "*" (* "*")) (> ">") (identifier "_0043248c"))) (; ";")) (expression_statement "piVar12 = local_2c;" (assignment_expression "piVar12 = local_2c" (identifier "piVar12") (= "=") (identifier "local_2c")) (; ";")) (if_statement "if (local_2c == local_30) {\nLAB_00261210:\n      puVar6[6] = 0x1000001;\n      piVar12 = local_30;\n      goto LAB_00261194;\n    }" (if "if") (parenthesized_expression "(local_2c == local_30)" (( "(") (binary_expression "local_2c == local_30" (identifier "local_2c") (== "==") (identifier "local_30")) () ")")) (compound_statement "{\nLAB_00261210:\n      puVar6[6] = 0x1000001;\n      piVar12 = local_30;\n      goto LAB_00261194;\n    }" ({ "{") (labeled_statement "LAB_00261210:\n      puVar6[6] = 0x1000001;" (statement_identifier "LAB_00261210") (: ":") (expression_statement "puVar6[6] = 0x1000001;" (assignment_expression "puVar6[6] = 0x1000001" (subscript_expression "puVar6[6]" (identifier "puVar6") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0x1000001")) (; ";"))) (expression_statement "piVar12 = local_30;" (assignment_expression "piVar12 = local_30" (identifier "piVar12") (= "=") (identifier "local_30")) (; ";")) (goto_statement "goto LAB_00261194;" (goto "goto") (statement_identifier "LAB_00261194") (; ";")) (} "}"))) (} "}")))) (do_statement "do {\n    *piVar8 = (int)(piVar8 + 2);\n                    \n    (*pcVar1)(piVar8,*piVar11,*piVar11 + piVar11[1],0);\n    piVar3 = local_2c;\n    piVar11 = piVar11 + 6;\n    piVar8 = piVar8 + 6;\n  } while (piVar12 != piVar11);" (do "do") (compound_statement "{\n    *piVar8 = (int)(piVar8 + 2);\n                    \n    (*pcVar1)(piVar8,*piVar11,*piVar11 + piVar11[1],0);\n    piVar3 = local_2c;\n    piVar11 = piVar11 + 6;\n    piVar8 = piVar8 + 6;\n  }" ({ "{") (expression_statement "*piVar8 = (int)(piVar8 + 2);" (assignment_expression "*piVar8 = (int)(piVar8 + 2)" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (= "=") (cast_expression "(int)(piVar8 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(piVar8 + 2)" (( "(") (binary_expression "piVar8 + 2" (identifier "piVar8") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "(*pcVar1)(piVar8,*piVar11,*piVar11 + piVar11[1],0);" (call_expression "(*pcVar1)(piVar8,*piVar11,*piVar11 + piVar11[1],0)" (parenthesized_expression "(*pcVar1)" (( "(") (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) () ")")) (argument_list "(piVar8,*piVar11,*piVar11 + piVar11[1],0)" (( "(") (identifier "piVar8") (, ",") (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (, ",") (binary_expression "*piVar11 + piVar11[1]" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (+ "+") (subscript_expression "piVar11[1]" (identifier "piVar11") ([ "[") (number_literal "1") (] "]"))) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "piVar3 = local_2c;" (assignment_expression "piVar3 = local_2c" (identifier "piVar3") (= "=") (identifier "local_2c")) (; ";")) (expression_statement "piVar11 = piVar11 + 6;" (assignment_expression "piVar11 = piVar11 + 6" (identifier "piVar11") (= "=") (binary_expression "piVar11 + 6" (identifier "piVar11") (+ "+") (number_literal "6"))) (; ";")) (expression_statement "piVar8 = piVar8 + 6;" (assignment_expression "piVar8 = piVar8 + 6" (identifier "piVar8") (= "=") (binary_expression "piVar8 + 6" (identifier "piVar8") (+ "+") (number_literal "6"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar12 != piVar11)" (( "(") (binary_expression "piVar12 != piVar11" (identifier "piVar12") (!= "!=") (identifier "piVar11")) () ")")) (; ";")) (expression_statement "puVar6[4] = piVar8;" (assignment_expression "puVar6[4] = piVar8" (subscript_expression "puVar6[4]" (identifier "puVar6") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "puVar6[6] = 0x1000001;" (assignment_expression "puVar6[6] = 0x1000001" (subscript_expression "puVar6[6]" (identifier "puVar6") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0x1000001")) (; ";")) (expression_statement "piVar12 = local_2c;" (assignment_expression "piVar12 = local_2c" (identifier "piVar12") (= "=") (identifier "local_2c")) (; ";")) (for_statement "for (piVar11 = local_30; piVar3 != piVar11; piVar11 = piVar11 + 6) {\n    if ((int *)*piVar11 != piVar11 + 2) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    piVar12 = local_30;\n  }" (for "for") (( "(") (assignment_expression "piVar11 = local_30" (identifier "piVar11") (= "=") (identifier "local_30")) (; ";") (binary_expression "piVar3 != piVar11" (identifier "piVar3") (!= "!=") (identifier "piVar11")) (; ";") (assignment_expression "piVar11 = piVar11 + 6" (identifier "piVar11") (= "=") (binary_expression "piVar11 + 6" (identifier "piVar11") (+ "+") (number_literal "6"))) () ")") (compound_statement "{\n    if ((int *)*piVar11 != piVar11 + 2) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }\n    piVar12 = local_30;\n  }" ({ "{") (if_statement "if ((int *)*piVar11 != piVar11 + 2) {\n      (*(code *)PTR_operator_delete_0043228c)();\n    }" (if "if") (parenthesized_expression "((int *)*piVar11 != piVar11 + 2)" (( "(") (binary_expression "(int *)*piVar11 != piVar11 + 2" (cast_expression "(int *)*piVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar11" (* "*") (identifier "piVar11"))) (!= "!=") (binary_expression "piVar11 + 2" (identifier "piVar11") (+ "+") (number_literal "2"))) () ")")) (compound_statement "{\n      (*(code *)PTR_operator_delete_0043228c)();\n    }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_0043228c)();" (call_expression "(*(code *)PTR_operator_delete_0043228c)()" (parenthesized_expression "(*(code *)PTR_operator_delete_0043228c)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_0043228c" (* "*") (cast_expression "(code *)PTR_operator_delete_0043228c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_0043228c"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar12 = local_30;" (assignment_expression "piVar12 = local_30" (identifier "piVar12") (= "=") (identifier "local_30")) (; ";")) (} "}"))) (labeled_statement "LAB_00261194:\n  if (piVar12 != (int *)0x0) {\n    (*(code *)PTR_operator_delete_0043228c)(piVar12);\n  }" (statement_identifier "LAB_00261194") (: ":") (if_statement "if (piVar12 != (int *)0x0) {\n    (*(code *)PTR_operator_delete_0043228c)(piVar12);\n  }" (if "if") (parenthesized_expression "(piVar12 != (int *)0x0)" (( "(") (binary_expression "piVar12 != (int *)0x0" (identifier "piVar12") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    (*(code *)PTR_operator_delete_0043228c)(piVar12);\n  }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_0043228c)(piVar12);" (call_expression "(*(code *)PTR_operator_delete_0043228c)(piVar12)" (parenthesized_expression "(*(code *)PTR_operator_delete_0043228c)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_0043228c" (* "*") (cast_expression "(code *)PTR_operator_delete_0043228c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_0043228c"))) () ")")) (argument_list "(piVar12)" (( "(") (identifier "piVar12") () ")"))) (; ";")) (} "}")))) (expression_statement "puVar6 = *(undefined4 **)(this + 4);" (assignment_expression "puVar6 = *(undefined4 **)(this + 4)" (identifier "puVar6") (= "=") (pointer_expression "*(undefined4 **)(this + 4)" (* "*") (cast_expression "(undefined4 **)(this + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 4)" (( "(") (binary_expression "this + 4" (identifier "this") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (puVar6 != *(undefined4 **)(this + 8)) {\n    *puVar6 = local_24;\n    *(undefined4 **)(this + 4) = puVar6 + 1;\n    this[0x3c] = (Versions)0x0;\n    return;\n  }" (if "if") (parenthesized_expression "(puVar6 != *(undefined4 **)(this + 8))" (( "(") (binary_expression "puVar6 != *(undefined4 **)(this + 8)" (identifier "puVar6") (!= "!=") (pointer_expression "*(undefined4 **)(this + 8)" (* "*") (cast_expression "(undefined4 **)(this + 8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 8)" (( "(") (binary_expression "this + 8" (identifier "this") (+ "+") (number_literal "8")) () ")"))))) () ")")) (compound_statement "{\n    *puVar6 = local_24;\n    *(undefined4 **)(this + 4) = puVar6 + 1;\n    this[0x3c] = (Versions)0x0;\n    return;\n  }" ({ "{") (expression_statement "*puVar6 = local_24;" (assignment_expression "*puVar6 = local_24" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (identifier "local_24")) (; ";")) (expression_statement "*(undefined4 **)(this + 4) = puVar6 + 1;" (assignment_expression "*(undefined4 **)(this + 4) = puVar6 + 1" (pointer_expression "*(undefined4 **)(this + 4)" (* "*") (cast_expression "(undefined4 **)(this + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 4)" (( "(") (binary_expression "this + 4" (identifier "this") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "puVar6 + 1" (identifier "puVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "this[0x3c] = (Versions)0x0;" (assignment_expression "this[0x3c] = (Versions)0x0" (subscript_expression "this[0x3c]" (identifier "this") ([ "[") (number_literal "0x3c") (] "]")) (= "=") (cast_expression "(Versions)0x0" (( "(") (type_descriptor "Versions" (type_identifier "Versions")) () ")") (number_literal "0x0"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (ERROR "std::vector<gold::Verdef*,std::allocator<gold::Verdef*>>::_M_realloc_insert<gold::" (comma_expression "std::vector<gold::Verdef*,std" (identifier "std") (ERROR "::vector<gold::Verdef*" (: ":") (: ":") (binary_expression "vector<gold" (identifier "vector") (< "<") (identifier "gold")) (: ":") (: ":") (identifier "Verdef") (* "*")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "allocator<gold" (identifier "allocator") (< "<") (identifier "gold")) (: ":") (: ":") (binary_expression "Verdef*>>::_M_realloc_insert<gold" (binary_expression "Verdef*>>::_M_realloc_insert" (identifier "Verdef") (* "*") (ERROR ">>::" (>> ">>") (: ":") (: ":")) (identifier "_M_realloc_insert")) (< "<") (identifier "gold")) (: ":") (: ":")) (expression_statement "Verdef*const&>\n            ((vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this,puVar6,&local_24);" (binary_expression "Verdef*const&>\n            ((vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this,puVar6,&local_24)" (binary_expression "Verdef*const" (identifier "Verdef") (* "*") (identifier "const")) (ERROR "&" (& "&")) (> ">") (parenthesized_expression "((vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this,puVar6,&local_24)" (( "(") (parenthesized_expression "(vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this,puVar6,&local_24)" (( "(") (comma_expression "vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this,puVar6,&local_24" (binary_expression "vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this" (binary_expression "vector<gold::Verdef*,std::allocator<gold" (binary_expression "vector<gold::Verdef*,std" (binary_expression "vector<gold" (identifier "vector") (< "<") (identifier "gold")) (ERROR "::Verdef" (: ":") (: ":") (identifier "Verdef")) (* "*") (ERROR "," (, ",")) (identifier "std")) (ERROR "::allocator" (: ":") (: ":") (identifier "allocator")) (< "<") (identifier "gold")) (ERROR "::Verdef" (: ":") (: ":") (identifier "Verdef")) (* "*") (ERROR ">>" (>> ">>")) (pointer_expression "*)this" (* "*") (ERROR ")" () ")")) (identifier "this"))) (, ",") (comma_expression "puVar6,&local_24" (identifier "puVar6") (, ",") (pointer_expression "&local_24" (& "&") (identifier "local_24")))) () ")")) () ""))) (; ";")) (expression_statement "this[0x3c] = (Versions)0x0;" (assignment_expression "this[0x3c] = (Versions)0x0" (subscript_expression "this[0x3c]" (identifier "this") ([ "[") (number_literal "0x3c") (] "]")) (= "=") (cast_expression "(Versions)0x0" (( "(") (type_descriptor "Versions" (type_identifier "Versions")) () ")") (number_literal "0x0"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* DWARF original prototype: void define_base_version(Versions * this, Stringpool * dynpool) */

void __thiscall var_1::type_1::function_1(type_1 *this,type_2 *dynpool)

{
  type_3 *pcVar1;
  int *var_16;
  int var_5;
  char *pcVar4;
  type_4 var_9;
  type_5 var_14;
  int var_4;
  type_6 *puVar8;
  type_7 __position;
  type_8 *var_8;
  int *var_13;
  int *var_15;
  type_9 *unaff_s1;
  type_5 pbVar12;
  int *var_12;
  int *var_11;
  type_10 local_28;
  type_9 *vdbase;
  
  if ((this->defs_).super__Vector_base<var_1::type_9*,var_2::var_6<var_1::type_9*>var_3>._M_impl.
      _M_finish ==
      (this->defs_).super__Vector_base<var_1::type_9*,var_2::var_6<var_1::type_9*>var_3>._M_impl.
      _M_start) {
    var_4 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);
    var_8 = var_18;
    if (var_4 != 0) {
      var_5 = *(int *)(var_4 + 0x1aa8);
      if (var_5 == 0) {
        var_5 = *(int *)(var_4 + 0x27b0);
      }
      pcVar4 = (char *)(*(type_3 *)PTR_add_00432e80)(dynpool,var_5,0,0);
      puVar8 = &DAT_0000001c;
      var_12 = (int *)0x0;
      var_11 = (int *)0x0;
                    /* try { // try from 00261070 to 00261077 has its CatchHandler @ 002612fc */
      local_28 = 0;
      unaff_s1 = (type_9 *)(*(type_3 *)PTR_operator_new_0043233c)(0x1c);
      unaff_s1->name_ = pcVar4;
      (unaff_s1->deps_).
      super__Vector_base<std::__cxx11::basic_string<var_7,var_2::char_traits<var_7>,var_2::var_6<var_7>var_3>,var_2::var_6<std::__cxx11::basic_string<var_7,var_2::char_traits<var_7>,var_2::var_6<var_7>var_3>var_3>var_3>
      ._M_impl._M_start = (type_5)0x0;
      var_8 = PTR_vtable_004357b0;
      pbVar12 = (type_5)((int)var_11 - (int)var_12);
      (unaff_s1->super_Version_base).index_ = 0xffffffff;
      (unaff_s1->deps_).
      super__Vector_base<std::__cxx11::basic_string<var_7,var_2::char_traits<var_7>,var_2::var_6<var_7>var_3>,var_2::var_6<std::__cxx11::basic_string<var_7,var_2::char_traits<var_7>,var_2::var_6<var_7>var_3>var_3>var_3>
      ._M_impl._M_finish = (type_5)0x0;
      (unaff_s1->deps_).
      super__Vector_base<std::__cxx11::basic_string<var_7,var_2::char_traits<var_7>,var_2::var_6<var_7>var_3>,var_2::var_6<std::__cxx11::basic_string<var_7,var_2::char_traits<var_7>,var_2::var_6<var_7>var_3>var_3>var_3>
      ._M_impl._M_end_of_storage = (type_5)0x0;
      (unaff_s1->super_Version_base)._vptr_Version_base = (type_11 **)(var_8 + 8);
      var_9 = ((int)pbVar12 >> 3) * -0x55555555;
      vdbase = unaff_s1;
      if (var_9 == 0) {
        var_14 = (type_5)0x0;
        (unaff_s1->deps_).
        super__Vector_base<std::__cxx11::basic_string<var_7,var_2::char_traits<var_7>,var_2::var_6<var_7>var_3>,var_2::var_6<std::__cxx11::basic_string<var_7,var_2::char_traits<var_7>,var_2::var_6<var_7>var_3>var_3>var_3>
        ._M_impl._M_start = (type_5)0x0;
        (unaff_s1->deps_).
        super__Vector_base<std::__cxx11::basic_string<var_7,var_2::char_traits<var_7>,var_2::var_6<var_7>var_3>,var_2::var_6<std::__cxx11::basic_string<var_7,var_2::char_traits<var_7>,var_2::var_6<var_7>var_3>var_3>var_3>
        ._M_impl._M_finish = (type_5)0x0;
        (unaff_s1->deps_).
        super__Vector_base<std::__cxx11::basic_string<var_7,var_2::char_traits<var_7>,var_2::var_6<var_7>var_3>,var_2::var_6<std::__cxx11::basic_string<var_7,var_2::char_traits<var_7>,var_2::var_6<var_7>var_3>var_3>var_3>
        ._M_impl._M_end_of_storage = pbVar12;
        var_13 = var_12;
        pcVar1 = (type_3 *)PTR__M_construct<var_7*>var_10;
        var_15 = var_11;
        if (var_11 == var_12) {
LAB_00261210:
          unaff_s1->is_base_ = true;
          unaff_s1->is_weak_ = false;
          unaff_s1->is_info_ = false;
          unaff_s1->is_symbol_created_ = true;
          var_15 = var_12;
          goto LAB_00261194;
        }
      }
      else {
        if (0xaaaaaaa < var_9) goto LAB_00261294;
                    /* try { // try from 002610d8 to 002610df has its CatchHandler @ 002612a0 */
        var_14 = (type_5)(*(type_3 *)PTR_operator_new_0043233c)(pbVar12);
        (unaff_s1->deps_).
        super__Vector_base<std::__cxx11::basic_string<var_7,var_2::char_traits<var_7>,var_2::var_6<var_7>var_3>,var_2::var_6<std::__cxx11::basic_string<var_7,var_2::char_traits<var_7>,var_2::var_6<var_7>var_3>var_3>var_3>
        ._M_impl._M_start = var_14;
        (unaff_s1->deps_).
        super__Vector_base<std::__cxx11::basic_string<var_7,var_2::char_traits<var_7>,var_2::var_6<var_7>var_3>,var_2::var_6<std::__cxx11::basic_string<var_7,var_2::char_traits<var_7>,var_2::var_6<var_7>var_3>var_3>var_3>
        ._M_impl._M_finish = var_14;
        (unaff_s1->deps_).
        super__Vector_base<std::__cxx11::basic_string<var_7,var_2::char_traits<var_7>,var_2::var_6<var_7>var_3>,var_2::var_6<std::__cxx11::basic_string<var_7,var_2::char_traits<var_7>,var_2::var_6<var_7>var_3>var_3>var_3>
        ._M_impl._M_end_of_storage = (type_5)((int)var_14 + (int)pbVar12);
        var_13 = var_12;
        pcVar1 = (type_3 *)PTR__M_construct<var_7*>var_10;
        var_15 = var_11;
        if (var_11 == var_12) goto LAB_00261210;
      }
      do {
        (var_14->_M_dataplus)._M_p = (type_5)&var_14->field_2;
                    /* try { // try from 00261130 to 00261137 has its CatchHandler @ 002612d8 */
        (*pcVar1)(var_14,*var_13,*var_13 + var_13[1],0);
        var_16 = var_11;
        var_13 = var_13 + 6;
        var_14 = var_14 + 1;
      } while (var_15 != var_13);
      (unaff_s1->deps_).
      super__Vector_base<std::__cxx11::basic_string<var_7,var_2::char_traits<var_7>,var_2::var_6<var_7>var_3>,var_2::var_6<std::__cxx11::basic_string<var_7,var_2::char_traits<var_7>,var_2::var_6<var_7>var_3>var_3>var_3>
      ._M_impl._M_finish = var_14;
      unaff_s1->is_base_ = true;
      unaff_s1->is_weak_ = false;
      unaff_s1->is_info_ = false;
      unaff_s1->is_symbol_created_ = true;
      var_15 = var_11;
      for (var_13 = var_12; var_16 != var_13; var_13 = var_13 + 6) {
        if ((int *)*var_13 != var_13 + 2) {
          (*(type_3 *)PTR_operator_delete_0043228c)();
        }
        var_15 = var_12;
      }
LAB_00261194:
      if (var_15 != (int *)0x0) {
        (*(type_3 *)PTR_operator_delete_0043228c)(var_15);
      }
      __position._M_current =
           (this->defs_).super__Vector_base<var_1::type_9*,var_2::var_6<var_1::type_9*>var_3>._M_impl.
           _M_finish;
      if (__position._M_current !=
          (this->defs_).super__Vector_base<var_1::type_9*,var_2::var_6<var_1::type_9*>var_3>._M_impl.
          _M_end_of_storage) {
        *__position._M_current = vdbase;
        (this->defs_).super__Vector_base<var_1::type_9*,var_2::var_6<var_1::type_9*>var_3>._M_impl.
        _M_finish = __position._M_current + 1;
        this->needs_base_version_ = false;
        return;
      }
      std::vector<var_1::type_9*,var_2::var_6<var_1::type_9*>var_3>::
      _M_realloc_insert<var_1::type_9*var_17&>(&this->defs_,__position,&vdbase);
      this->needs_base_version_ = false;
      return;
    }
  }
  else {
    var_8 = var_18 + 0x1aa8;
    (*(type_3 *)PTR_do_gold_unreachable_004323c4)(var_18 + 0x13e0,0x5d5,var_8);
  }
  puVar8 = var_19 + -0x5cec;
  (*(type_3 *)PTR_do_gold_unreachable_004323c4)(puVar8,0x5c,var_8 + 0x1ba8);
LAB_00261294:
                    /* try { // try from 00261298 to 0026129f has its CatchHandler @ 002612a0 */
  (*(type_3 *)PTR___throw_bad_alloc_00432404)();
                    /* catch(type#1 @ 00000000) { ... } // from try @ 002610d8 with catch @ 002612a0
                       catch(type#1 @ 00000000) { ... } // from try @ 00261298 with catch @ 002612a0
                        */
  (*(type_3 *)PTR_operator_delete_004323c0)(unaff_s1,0x1c);
  (*(type_3 *)PTR__vector_00432ca4)(&var_12);
  (*(type_3 *)PTR__Unwind_Resume_00432258)(puVar8);
  return;
}


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

/* gold::Versions::MASKED(gold::Stringpool_template<char>*) */

void __thiscall gold::Versions::MASKED(Versions *this,Stringpool_template *param_1)

{
  code *pcVar1;
  undefined *puVar2;
  int *piVar3;
  int iVar4;
  undefined4 uVar5;
  undefined4 *puVar6;
  uint uVar7;
  int *piVar8;
  int iVar9;
  undefined4 uVar10;
  int *piVar11;
  int *piVar12;
  int *local_30;
  int *local_2c;
  undefined4 local_28;
  undefined4 *local_24;
  
  if (*(int *)(this + 4) != *(int *)this) {
    (*(code *)PTR_do_gold_unreachable_004323c4)
              (PTR_DAT_0043226c + 0x13e0,0x5d5,PTR_DAT_0043226c + 0x1aa8);
    return;
  }
  iVar9 = *(int *)(*(int *)PTR_parameters_00432be0 + 8);
  if (iVar9 == 0) {
    (*(code *)PTR_do_gold_unreachable_004323c4)
              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + 0x1ba8);
    return;
  }
  iVar4 = *(int *)(iVar9 + 0x1aa8);
  if (iVar4 == 0) {
    iVar4 = *(int *)(iVar9 + 0x27b0);
  }
  uVar5 = (*(code *)PTR_add_00432e80)(param_1,iVar4,0,0);
  uVar10 = 0x1c;
  local_30 = (int *)0x0;
  local_2c = (int *)0x0;
                    /* try { // try from 00261070 to 00261077 has its CatchHandler @ 002612fc */
  local_28 = 0;
  puVar6 = (undefined4 *)(*(code *)PTR_operator_new_0043233c)(0x1c);
  puVar6[2] = uVar5;
  puVar6[3] = 0;
  puVar2 = PTR_vtable_004357b0;
  iVar9 = (int)local_2c - (int)local_30;
  puVar6[1] = 0xffffffff;
  puVar6[4] = 0;
  puVar6[5] = 0;
  *puVar6 = puVar2 + 8;
  uVar7 = (iVar9 >> 3) * -0x55555555;
  local_24 = puVar6;
  if (uVar7 == 0) {
    piVar8 = (int *)0x0;
    puVar6[3] = 0;
    puVar6[4] = 0;
    puVar6[5] = iVar9;
    piVar11 = local_30;
    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;
    piVar12 = local_2c;
    if (local_2c == local_30) goto LAB_00261210;
  }
  else {
    if (0xaaaaaaa < uVar7) {
                    /* try { // try from 00261298 to 0026129f has its CatchHandler @ 002612a0 */
      (*(code *)PTR___throw_bad_alloc_00432404)();
                    /* catch(type#1 @ 00000000) { ... } // from try @ 002610d8 with catch @ 002612a0
                       catch(type#1 @ 00000000) { ... } // from try @ 00261298 with catch @ 002612a0
                        */
      (*(code *)PTR_operator_delete_004323c0)(puVar6,0x1c);
      (*(code *)PTR__vector_00432ca4)(&local_30);
      (*(code *)PTR_FUN_00432258)(uVar10);
      return;
    }
                    /* try { // try from 002610d8 to 002610df has its CatchHandler @ 002612a0 */
    piVar8 = (int *)(*(code *)PTR_operator_new_0043233c)(iVar9);
    puVar6[3] = piVar8;
    puVar6[4] = piVar8;
    puVar6[5] = (int)piVar8 + iVar9;
    piVar11 = local_30;
    pcVar1 = (code *)PTR__M_construct<char*>_0043248c;
    piVar12 = local_2c;
    if (local_2c == local_30) {
LAB_00261210:
      puVar6[6] = 0x1000001;
      piVar12 = local_30;
      goto LAB_00261194;
    }
  }
  do {
    *piVar8 = (int)(piVar8 + 2);
                    /* try { // try from 00261130 to 00261137 has its CatchHandler @ 002612d8 */
    (*pcVar1)(piVar8,*piVar11,*piVar11 + piVar11[1],0);
    piVar3 = local_2c;
    piVar11 = piVar11 + 6;
    piVar8 = piVar8 + 6;
  } while (piVar12 != piVar11);
  puVar6[4] = piVar8;
  puVar6[6] = 0x1000001;
  piVar12 = local_2c;
  for (piVar11 = local_30; piVar3 != piVar11; piVar11 = piVar11 + 6) {
    if ((int *)*piVar11 != piVar11 + 2) {
      (*(code *)PTR_operator_delete_0043228c)();
    }
    piVar12 = local_30;
  }
LAB_00261194:
  if (piVar12 != (int *)0x0) {
    (*(code *)PTR_operator_delete_0043228c)(piVar12);
  }
  puVar6 = *(undefined4 **)(this + 4);
  if (puVar6 != *(undefined4 **)(this + 8)) {
    *puVar6 = local_24;
    *(undefined4 **)(this + 4) = puVar6 + 1;
    this[0x3c] = (Versions)0x0;
    return;
  }
  std::vector<gold::Verdef*,std::allocator<gold::Verdef*>>::_M_realloc_insert<gold::Verdef*const&>
            ((vector<gold::Verdef*,std::allocator<gold::Verdef*>> *)this,puVar6,&local_24);
  this[0x3c] = (Versions)0x0;
  return;
}

