
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* DWARF original prototype: void add_gnu_property(Layout * this, uint note_type, uint pr_type,
   size_t pr_datasz, uchar * pr_data) */

void __thiscall
gold::Layout::add_gnu_property
          (Layout *this,uint note_type,uint pr_type,size_t pr_datasz,uchar *pr_data)

{
  _Base_ptr *pp_Var1;
  bool bVar2;
  byte bVar3;
  byte bVar4;
  byte bVar5;
  byte bVar6;
  undefined4 uVar7;
  _Base_ptr p_Var8;
  int *piVar9;
  int iVar10;
  int *piVar11;
  int *piVar12;
  undefined4 *puVar13;
  undefined *puVar14;
  int iVar15;
  int *piVar16;
  int *piVar17;
  int *piVar18;
  _Base_ptr p_Var19;
  _Base_ptr p_Var20;
  piecewise_construct_t *__args_0;
  uint uVar21;
  int iVar22;
  int iVar23;
  int iVar24;
  int iVar25;
  int iVar26;
  int iVar27;
  int iVar28;
  int *piVar29;
  int iVar30;
  int iVar31;
  int iVar32;
  undefined4 *puVar33;
  int iVar34;
  int iVar35;
  undefined *puVar36;
  int iVar37;
  code *pcVar38;
  uint uVar39;
  _Rb_tree_color local_res8 [2];
  int iStack_80;
  undefined *puStack_7c;
  int iStack_78;
  int iStack_74;
  int *piStack_70;
  code *pcStack_6c;
  _Rb_tree_color *local_20 [2];
  piecewise_construct_t *local_18;
  
  local_res8[0] = pr_type;
  if (note_type != 5) {
    piVar17 = (int *)&DAT_00000973;
    puVar14 = PTR_s_alize_xindex_004323b4 + -0x2c4c;
    puVar36 = PTR_do_gold_unreachable_004323c4;
    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar14,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4)
    ;
    puVar33 = *(undefined4 **)(puVar14 + 0x130);
    if (puVar33 != *(undefined4 **)(puVar14 + 0x134)) {
      pcStack_6c = *(code **)(puVar36 + 0x30bd6c);
      piStack_70 = &iStack_80;
      puStack_7c = puVar14;
      do {
        iVar15 = 0x1a8;
        piVar29 = (int *)*puVar33;
        iVar34 = 0x1c;
        piVar9 = (int *)(**(code **)(puVar36 + 0x30b08c))(0x1a8);
        piVar18 = piVar9;
        piVar16 = piVar29;
        do {
          iVar10 = *piVar16;
          iVar31 = piVar16[1];
          *piVar18 = 0;
          piVar18[1] = 0;
          iVar31 = iVar31 - iVar10;
          piVar18[2] = 0;
          if (iVar31 >> 2 == 0) {
            iVar10 = 0;
          }
          else {
            if (0x3fffffff < (uint)(iVar31 >> 2)) {
              (**(code **)(puVar36 + 0x30b154))();
              piVar17 = piVar9 + (0x1c - iVar34) * 3;
              do {
                do {
                  if (piVar9 == piVar17) {
                    (**(code **)(puVar36 + 0x30b110))(piVar9,0x1a8);
                    (**(code **)(puVar36 + 0x30afa8))(iVar15);
                  }
                  piVar17 = piVar17 + -3;
                } while (*piVar17 == 0);
                (**(code **)(puVar36 + 0x30afdc))();
              } while( true );
            }
            iVar15 = iVar31;
            iVar10 = (**(code **)(puVar36 + 0x30b08c))();
          }
          *piVar18 = iVar10;
          piVar18[1] = iVar10;
          piVar18[2] = iVar10 + iVar31;
          iVar31 = *piVar16;
          iVar30 = piVar16[1] - iVar31;
          if (iVar31 != piVar16[1]) {
            iVar15 = iVar10;
            iVar10 = (**(code **)(puVar36 + 0x30f428))(iVar10,iVar31,iVar30);
          }
          piVar11 = piVar18 + 3;
          iVar34 = iVar34 + -1;
          piVar18[1] = iVar10 + iVar30;
          piVar16 = piVar16 + 3;
          piVar18 = piVar11;
        } while (piVar9 + 0x57 != piVar11);
        uVar21 = piVar17[1];
        bVar3 = *(byte *)(piVar9 + 0x68);
        if (uVar21 == 0) {
          trap(7);
        }
        uVar39 = (uint)piVar29 % uVar21;
        iStack_74 = piVar29[0x5d];
        iStack_78 = piVar29[0x5c];
        iVar31 = piVar29[0x5b];
        bVar4 = (byte)(((uint)piVar29[0x68] >> 0x1f) << 7);
        iVar24 = piVar29[0x5f];
        iVar23 = piVar29[0x5e];
        iVar26 = piVar29[0x61];
        iVar25 = piVar29[0x60];
        iVar28 = piVar29[99];
        iVar27 = piVar29[0x62];
        iVar22 = piVar29[0x59];
        iVar30 = piVar29[0x58];
        iVar10 = piVar29[0x5a];
        iVar37 = piVar29[0x66];
        iVar32 = piVar29[0x67];
        iVar34 = piVar29[0x65];
        iVar15 = piVar29[100];
        *(byte *)(piVar9 + 0x68) = bVar3 & 0x7f | bVar4;
        piVar9[0x65] = iVar34;
        iVar35 = piVar29[0x68];
        iVar34 = *piVar17;
        piVar9[100] = iVar15;
        piVar9[0x5b] = iVar31;
        piVar9[0x59] = iVar22;
        bVar5 = (byte)(((uint)(iVar35 << 1) >> 0x1f) << 6);
        piVar9[0x58] = iVar30;
        piVar9[0x5a] = iVar10;
        piVar9[0x5d] = iStack_74;
        *(byte *)(piVar9 + 0x68) = bVar3 & 0x3f | bVar4 | bVar5;
        piVar9[0x5c] = iStack_78;
        iVar15 = piVar29[0x68];
        piVar9[0x5f] = iVar24;
        piVar9[0x5e] = iVar23;
        piVar9[0x61] = iVar26;
        piVar9[0x60] = iVar25;
        bVar6 = (byte)(((uint)(iVar15 << 2) >> 0x1f) << 5);
        piVar9[99] = iVar28;
        piVar9[0x62] = iVar27;
        *(byte *)(piVar9 + 0x68) = bVar3 & 0x1f | bVar4 | bVar5 | bVar6;
        iVar15 = piVar29[0x68];
        piVar9[0x66] = iVar37;
        piVar9[0x67] = iVar32;
        *(byte *)(piVar9 + 0x68) =
             bVar3 & 0xf | bVar4 | bVar5 | bVar6 | (byte)(((uint)(iVar15 << 3) >> 0x1f) << 4);
        piVar18 = *(int **)(iVar34 + uVar39 * 4);
        pcVar38 = *(code **)(puVar36 + 0x30b08c);
        if (piVar18 != (int *)0x0) {
          piVar11 = (int *)((int *)*piVar18)[1];
          piVar16 = (int *)*piVar18;
          do {
            piVar12 = piVar16;
            if (piVar29 == piVar11) {
              iVar15 = *piVar18;
              pcVar38 = *(code **)(puVar36 + 0x30b08c);
              if (iVar15 != 0) goto LAB_00127520;
              break;
            }
            piVar16 = (int *)*piVar12;
            if (piVar16 == (int *)0x0) {
              pcVar38 = *(code **)(puVar36 + 0x30b08c);
              break;
            }
            piVar11 = (int *)piVar16[1];
            if (uVar21 == 0) {
              trap(7);
            }
            pcVar38 = *(code **)(puVar36 + 0x30b08c);
            piVar18 = piVar12;
          } while (uVar39 == (uint)piVar11 % uVar21);
        }
        puVar13 = (undefined4 *)(*pcVar38)(0xc);
        *puVar13 = 0;
        puVar13[1] = piVar29;
        puVar13[2] = 0;
        (*pcStack_6c)(piStack_70,piVar17,uVar39,piVar29,puVar13,1);
        iVar15 = iStack_80;
LAB_00127520:
        puVar33 = puVar33 + 1;
        puVar13 = *(undefined4 **)(puStack_7c + 0x134);
        *(int **)(iVar15 + 8) = piVar9;
      } while (puVar13 != puVar33);
    }
    return;
  }
  uVar7 = (*(code *)PTR_operator_new___004322dc)(pr_datasz);
  (*(code *)PTR_memcpy_00436788)(uVar7,pr_data,pr_datasz);
  __args_0 = (piecewise_construct_t *)&(this->gnu_properties_)._M_t._M_impl.super__Rb_tree_header;
  p_Var8 = (this->gnu_properties_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;
  p_Var19 = (_Base_ptr)__args_0;
  if (p_Var8 != (_Base_ptr)0x0) {
    do {
      while (p_Var20 = p_Var8, local_res8[0] <= p_Var20[1]._M_color) {
        p_Var8 = p_Var20->_M_left;
        p_Var19 = p_Var20;
        if (p_Var20->_M_left == (_Base_ptr)0x0) goto LAB_00127220;
      }
      pp_Var1 = &p_Var20->_M_right;
      p_Var8 = *pp_Var1;
      p_Var20 = p_Var19;
    } while (*pp_Var1 != (_Base_ptr)0x0);
LAB_00127220:
    bVar2 = (_Base_ptr)__args_0 != p_Var20;
    __args_0 = (piecewise_construct_t *)p_Var20;
    if ((bVar2) &&
       (*(_Rb_tree_color *)&((piecewise_construct_t *)((int)p_Var20 + 0x10))->field_0x0 <=
        local_res8[0])) goto LAB_00127270;
  }
  local_20[0] = local_res8;
  std::
  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Layout::Gnu_property>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Layout::Gnu_property>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Layout::Gnu_property>_>_>
  ::
  _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<unsigned_int_const&>,_std::tuple<>_>
            ((_Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Layout::Gnu_property>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Layout::Gnu_property>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Layout::Gnu_property>_>_>
              *)&local_18,(const_iterator)&this->gnu_properties_,__args_0,
             (tuple<unsigned_int_const&> *)(PTR_s_alize_xindex_004323b4 + -0x15bc),
             (tuple<> *)local_20);
  p_Var20 = (_Base_ptr)local_18;
LAB_00127270:
  *(size_t *)((int)p_Var20 + 0x14) = pr_datasz;
  *(undefined4 *)((int)p_Var20 + 0x18) = uVar7;
  return;
}



void FUN_00127178(int param_1,int param_2,uint param_3,undefined4 param_4,undefined4 param_5)

{
  int *piVar1;
  bool bVar2;
  int iVar3;
  undefined4 uVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  uint local_res8 [2];
  uint *local_20;
  undefined1 auStack_1c [4];
  int local_18 [2];
  
  local_res8[0] = param_3;
  if (param_2 != 5) {
    (*(code *)PTR_do_gold_unreachable_004323c4)
              (PTR_s_alize_xindex_004323b4 + -0x2c4c,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4);
    return;
  }
  uVar4 = (*(code *)PTR_operator_new___004322dc)(param_4);
  (*(code *)PTR_memcpy_00436788)(uVar4,param_5,param_4);
  iVar5 = param_1 + 0x284;
  iVar3 = *(int *)(param_1 + 0x288);
  iVar6 = iVar5;
  if (*(int *)(param_1 + 0x288) != 0) {
    do {
      while (iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)) {
        iVar3 = *(int *)(iVar7 + 8);
        iVar6 = iVar7;
        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;
      }
      piVar1 = (int *)(iVar7 + 0xc);
      iVar3 = *piVar1;
      iVar7 = iVar6;
    } while (*piVar1 != 0);
LAB_00127220:
    bVar2 = iVar5 != iVar7;
    iVar5 = iVar7;
    if ((bVar2) && (*(uint *)(iVar7 + 0x10) <= local_res8[0])) goto LAB_00127270;
  }
  local_20 = local_res8;
  std::
  _Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>
  ::
  _M_emplace_hint_unique<std::piecewise_construct_t_const&,std::tuple<unsigned_int_const&>,std::tuple<>>
            ((_Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>
              *)local_18,param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,
             auStack_1c);
  iVar7 = local_18[0];
LAB_00127270:
  *(undefined4 *)(iVar7 + 0x14) = param_4;
  *(undefined4 *)(iVar7 + 0x18) = uVar4;
  return;
}


lui gp,0x31
addiu gp,gp,0x3058
addu gp,gp,t9
addiu sp,sp,-0x40
li v0,0x5
sw gp,0x18(sp)
sw ra,0x3c(sp)
sw s2,0x38(sp)
sw s1,0x34(sp)
sw s0,0x30(sp)
bne a1,v0,0x00127294
_sw a2,0x48(sp)
lw t9,-0x7ef4(gp)
or s1,a0,zero
or a0,a3,zero
jalr t9
_or s0,a3,zero
or a2,s0,zero
lw gp,0x18(sp)
or a0,v0,zero
lw a1,0x50(sp)
lw t9,-0x3a48(gp)
jalr t9
_or s2,v0,zero
addiu a1,s1,0x284
lw v0,0x288(s1)
beq v0,zero,0x0012728c
_lw gp,0x18(sp)
lw v1,0x48(sp)
b 0x00127204
_or a2,a1,zero
or a2,v0,zero
lw v0,0x8(v0)
beq v0,zero,0x00127220
_nop
lw a0,0x10(v0)
sltu a0,a0,v1
beq a0,zero,0x001271f4
_nop
lw v0,0xc(v0)
bne v0,zero,0x00127204
_nop
beq a1,a2,0x0012723c
_addiu v0,sp,0x24
lw v0,0x10(a2)
sltu v1,v1,v0
beq v1,zero,0x00127270
_lw ra,0x3c(sp)
addiu v0,sp,0x24
lw a3,-0x7e1c(gp)
lw t9,-0x71bc(gp)
addiu a1,s1,0x280
sw v0,0x14(sp)
addiu v0,sp,0x20
addiu a3,a3,-0x15bc
sw v0,0x10(sp)
addiu v0,sp,0x48
addiu a0,sp,0x28
bal 0x00132968
_sw v0,0x20(sp)
lw a2,0x28(sp)
lw ra,0x3c(sp)
lw s1,0x34(sp)
sw s0,0x14(a2)
sw s2,0x18(a2)
lw s0,0x30(sp)
lw s2,0x38(sp)
jr ra
_addiu sp,sp,0x40
b 0x00127238
_or a2,a1,zero
lw a2,-0x7e1c(gp)
li a1,0x973
lw a0,-0x7e1c(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,-0x16f4
jalr t9
_addiu a0,a0,-0x2c4c
(translation_unit "void FUN_00127178(int param_1,int param_2,uint param_3,undefined4 param_4,undefined4 param_5)\n\n{\n  int *piVar1;\n  bool bVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  uint local_res8 [2];\n  uint *local_20;\n  undefined1 auStack_1c [4];\n  int local_18 [2];\n  \n  local_res8[0] = param_3;\n  if (param_2 != 5) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x2c4c,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4);\n    return;\n  }\n  uVar4 = (*(code *)PTR_operator_new___004322dc)(param_4);\n  (*(code *)PTR_memcpy_00436788)(uVar4,param_5,param_4);\n  iVar5 = param_1 + 0x284;\n  iVar3 = *(int *)(param_1 + 0x288);\n  iVar6 = iVar5;\n  if (*(int *)(param_1 + 0x288) != 0) {\n    do {\n      while (iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)) {\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }\n      piVar1 = (int *)(iVar7 + 0xc);\n      iVar3 = *piVar1;\n      iVar7 = iVar6;\n    } while (*piVar1 != 0);\nLAB_00127220:\n    bVar2 = iVar5 != iVar7;\n    iVar5 = iVar7;\n    if ((bVar2) && (*(uint *)(iVar7 + 0x10) <= local_res8[0])) goto LAB_00127270;\n  }\n  local_20 = local_res8;\n  std::\n  _Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n  ::\n  _M_emplace_hint_unique<std::piecewise_construct_t_const&,std::tuple<unsigned_int_const&>,std::tuple<>>\n            ((_Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n              *)local_18,param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c);\n  iVar7 = local_18[0];\nLAB_00127270:\n  *(undefined4 *)(iVar7 + 0x14) = param_4;\n  *(undefined4 *)(iVar7 + 0x18) = uVar4;\n  return;\n}\n\n" (function_definition "void FUN_00127178(int param_1,int param_2,uint param_3,undefined4 param_4,undefined4 param_5)\n\n{\n  int *piVar1;\n  bool bVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  uint local_res8 [2];\n  uint *local_20;\n  undefined1 auStack_1c [4];\n  int local_18 [2];\n  \n  local_res8[0] = param_3;\n  if (param_2 != 5) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x2c4c,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4);\n    return;\n  }\n  uVar4 = (*(code *)PTR_operator_new___004322dc)(param_4);\n  (*(code *)PTR_memcpy_00436788)(uVar4,param_5,param_4);\n  iVar5 = param_1 + 0x284;\n  iVar3 = *(int *)(param_1 + 0x288);\n  iVar6 = iVar5;\n  if (*(int *)(param_1 + 0x288) != 0) {\n    do {\n      while (iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)) {\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }\n      piVar1 = (int *)(iVar7 + 0xc);\n      iVar3 = *piVar1;\n      iVar7 = iVar6;\n    } while (*piVar1 != 0);\nLAB_00127220:\n    bVar2 = iVar5 != iVar7;\n    iVar5 = iVar7;\n    if ((bVar2) && (*(uint *)(iVar7 + 0x10) <= local_res8[0])) goto LAB_00127270;\n  }\n  local_20 = local_res8;\n  std::\n  _Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n  ::\n  _M_emplace_hint_unique<std::piecewise_construct_t_const&,std::tuple<unsigned_int_const&>,std::tuple<>>\n            ((_Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n              *)local_18,param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c);\n  iVar7 = local_18[0];\nLAB_00127270:\n  *(undefined4 *)(iVar7 + 0x14) = param_4;\n  *(undefined4 *)(iVar7 + 0x18) = uVar4;\n  return;\n}" primitive_type (function_declarator "FUN_00127178(int param_1,int param_2,uint param_3,undefined4 param_4,undefined4 param_5)" identifier (parameter_list "(int param_1,int param_2,uint param_3,undefined4 param_4,undefined4 param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) ))) (compound_statement "{\n  int *piVar1;\n  bool bVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  uint local_res8 [2];\n  uint *local_20;\n  undefined1 auStack_1c [4];\n  int local_18 [2];\n  \n  local_res8[0] = param_3;\n  if (param_2 != 5) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x2c4c,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4);\n    return;\n  }\n  uVar4 = (*(code *)PTR_operator_new___004322dc)(param_4);\n  (*(code *)PTR_memcpy_00436788)(uVar4,param_5,param_4);\n  iVar5 = param_1 + 0x284;\n  iVar3 = *(int *)(param_1 + 0x288);\n  iVar6 = iVar5;\n  if (*(int *)(param_1 + 0x288) != 0) {\n    do {\n      while (iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)) {\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }\n      piVar1 = (int *)(iVar7 + 0xc);\n      iVar3 = *piVar1;\n      iVar7 = iVar6;\n    } while (*piVar1 != 0);\nLAB_00127220:\n    bVar2 = iVar5 != iVar7;\n    iVar5 = iVar7;\n    if ((bVar2) && (*(uint *)(iVar7 + 0x10) <= local_res8[0])) goto LAB_00127270;\n  }\n  local_20 = local_res8;\n  std::\n  _Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n  ::\n  _M_emplace_hint_unique<std::piecewise_construct_t_const&,std::tuple<unsigned_int_const&>,std::tuple<>>\n            ((_Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n              *)local_18,param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c);\n  iVar7 = local_18[0];\nLAB_00127270:\n  *(undefined4 *)(iVar7 + 0x14) = param_4;\n  *(undefined4 *)(iVar7 + 0x18) = uVar4;\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint local_res8 [2];" type_identifier (array_declarator "local_res8 [2]" identifier [ number_literal ]) ;) (declaration "uint *local_20;" type_identifier (pointer_declarator "*local_20" * identifier) ;) (declaration "undefined1 auStack_1c [4];" type_identifier (array_declarator "auStack_1c [4]" identifier [ number_literal ]) ;) (declaration "int local_18 [2];" primitive_type (array_declarator "local_18 [2]" identifier [ number_literal ]) ;) (expression_statement "local_res8[0] = param_3;" (assignment_expression "local_res8[0] = param_3" (subscript_expression "local_res8[0]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (param_2 != 5) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x2c4c,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4);\n    return;\n  }" if (parenthesized_expression "(param_2 != 5)" ( (binary_expression "param_2 != 5" identifier != number_literal) )) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x2c4c,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4);\n    return;\n  }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x2c4c,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x2c4c,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4)" (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 + -0x2c4c,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x2c4c" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + -0x16f4" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar4 = (*(code *)PTR_operator_new___004322dc)(param_4);" (assignment_expression "uVar4 = (*(code *)PTR_operator_new___004322dc)(param_4)" identifier = (call_expression "(*(code *)PTR_operator_new___004322dc)(param_4)" (parenthesized_expression "(*(code *)PTR_operator_new___004322dc)" ( (pointer_expression "*(code *)PTR_operator_new___004322dc" * (cast_expression "(code *)PTR_operator_new___004322dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_memcpy_00436788)(uVar4,param_5,param_4);" (call_expression "(*(code *)PTR_memcpy_00436788)(uVar4,param_5,param_4)" (parenthesized_expression "(*(code *)PTR_memcpy_00436788)" ( (pointer_expression "*(code *)PTR_memcpy_00436788" * (cast_expression "(code *)PTR_memcpy_00436788" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4,param_5,param_4)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar5 = param_1 + 0x284;" (assignment_expression "iVar5 = param_1 + 0x284" identifier = (binary_expression "param_1 + 0x284" identifier + number_literal)) ;) (expression_statement "iVar3 = *(int *)(param_1 + 0x288);" (assignment_expression "iVar3 = *(int *)(param_1 + 0x288)" identifier = (pointer_expression "*(int *)(param_1 + 0x288)" * (cast_expression "(int *)(param_1 + 0x288)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x288)" ( (binary_expression "param_1 + 0x288" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = iVar5;" (assignment_expression "iVar6 = iVar5" identifier = identifier) ;) (if_statement "if (*(int *)(param_1 + 0x288) != 0) {\n    do {\n      while (iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)) {\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }\n      piVar1 = (int *)(iVar7 + 0xc);\n      iVar3 = *piVar1;\n      iVar7 = iVar6;\n    } while (*piVar1 != 0);\nLAB_00127220:\n    bVar2 = iVar5 != iVar7;\n    iVar5 = iVar7;\n    if ((bVar2) && (*(uint *)(iVar7 + 0x10) <= local_res8[0])) goto LAB_00127270;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x288) != 0)" ( (binary_expression "*(int *)(param_1 + 0x288) != 0" (pointer_expression "*(int *)(param_1 + 0x288)" * (cast_expression "(int *)(param_1 + 0x288)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x288)" ( (binary_expression "param_1 + 0x288" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    do {\n      while (iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)) {\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }\n      piVar1 = (int *)(iVar7 + 0xc);\n      iVar3 = *piVar1;\n      iVar7 = iVar6;\n    } while (*piVar1 != 0);\nLAB_00127220:\n    bVar2 = iVar5 != iVar7;\n    iVar5 = iVar7;\n    if ((bVar2) && (*(uint *)(iVar7 + 0x10) <= local_res8[0])) goto LAB_00127270;\n  }" { (do_statement "do {\n      while (iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)) {\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }\n      piVar1 = (int *)(iVar7 + 0xc);\n      iVar3 = *piVar1;\n      iVar7 = iVar6;\n    } while (*piVar1 != 0);" do (compound_statement "{\n      while (iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)) {\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }\n      piVar1 = (int *)(iVar7 + 0xc);\n      iVar3 = *piVar1;\n      iVar7 = iVar6;\n    }" { (while_statement "while (iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)) {\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }" while (parenthesized_expression "(iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10))" ( (comma_expression "iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)" (assignment_expression "iVar7 = iVar3" identifier = identifier) , (binary_expression "local_res8[0] <= *(uint *)(iVar7 + 0x10)" (subscript_expression "local_res8[0]" identifier [ number_literal ]) <= (pointer_expression "*(uint *)(iVar7 + 0x10)" * (cast_expression "(uint *)(iVar7 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) )))))) )) (compound_statement "{\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }" { (expression_statement "iVar3 = *(int *)(iVar7 + 8);" (assignment_expression "iVar3 = *(int *)(iVar7 + 8)" identifier = (pointer_expression "*(int *)(iVar7 + 8)" * (cast_expression "(int *)(iVar7 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = iVar7;" (assignment_expression "iVar6 = iVar7" identifier = identifier) ;) (if_statement "if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;" if (parenthesized_expression "(*(int *)(iVar7 + 8) == 0)" ( (binary_expression "*(int *)(iVar7 + 8) == 0" (pointer_expression "*(int *)(iVar7 + 8)" * (cast_expression "(int *)(iVar7 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_00127220;" goto statement_identifier ;)) })) (expression_statement "piVar1 = (int *)(iVar7 + 0xc);" (assignment_expression "piVar1 = (int *)(iVar7 + 0xc)" identifier = (cast_expression "(int *)(iVar7 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) )))) ;) (expression_statement "iVar3 = *piVar1;" (assignment_expression "iVar3 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (expression_statement "iVar7 = iVar6;" (assignment_expression "iVar7 = iVar6" identifier = identifier) ;) }) while (parenthesized_expression "(*piVar1 != 0)" ( (binary_expression "*piVar1 != 0" (pointer_expression "*piVar1" * identifier) != number_literal) )) ;) (labeled_statement "LAB_00127220:\n    bVar2 = iVar5 != iVar7;" statement_identifier : (expression_statement "bVar2 = iVar5 != iVar7;" (assignment_expression "bVar2 = iVar5 != iVar7" identifier = (binary_expression "iVar5 != iVar7" identifier != identifier)) ;)) (expression_statement "iVar5 = iVar7;" (assignment_expression "iVar5 = iVar7" identifier = identifier) ;) (if_statement "if ((bVar2) && (*(uint *)(iVar7 + 0x10) <= local_res8[0])) goto LAB_00127270;" if (parenthesized_expression "((bVar2) && (*(uint *)(iVar7 + 0x10) <= local_res8[0]))" ( (binary_expression "(bVar2) && (*(uint *)(iVar7 + 0x10) <= local_res8[0])" (parenthesized_expression "(bVar2)" ( identifier )) && (parenthesized_expression "(*(uint *)(iVar7 + 0x10) <= local_res8[0])" ( (binary_expression "*(uint *)(iVar7 + 0x10) <= local_res8[0]" (pointer_expression "*(uint *)(iVar7 + 0x10)" * (cast_expression "(uint *)(iVar7 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) )))) <= (subscript_expression "local_res8[0]" identifier [ number_literal ])) ))) )) (goto_statement "goto LAB_00127270;" goto statement_identifier ;)) })) (expression_statement "local_20 = local_res8;" (assignment_expression "local_20 = local_res8" identifier = identifier) ;) (ERROR "std::\n  _Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n  ::\n  _M_emplace_hint_unique<std::piecewise_construct_t_const&,std::tuple<unsigned_int_const&>,std::" (comma_expression "std::\n  _Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std" identifier (ERROR "::\n  _Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>" : : (comma_expression "_Rb_tree<unsigned_int,std" (binary_expression "_Rb_tree<unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int_const,gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (comma_expression "Layout::Gnu_property>,std" identifier (ERROR "::Gnu_property>" : : identifier >) , identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (comma_expression "Layout::Gnu_property>>,std" identifier (ERROR "::Gnu_property>>" : : identifier >>) , identifier) : : (binary_expression "less<unsigned_int" identifier < identifier) >) , identifier) : : identifier < identifier : : (comma_expression "pair<unsigned_int_const,gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (comma_expression "Layout::Gnu_property>>>\n  ::\n  _M_emplace_hint_unique<std::piecewise_construct_t_const&,std" identifier (ERROR "::Gnu_property>>>\n  ::\n  _M_emplace_hint_unique<std::piecewise_construct_t_const&" : : identifier >> > : : (binary_expression "_M_emplace_hint_unique<std" identifier < identifier) : : identifier &) , identifier) : : (comma_expression "tuple<unsigned_int_const&>,std" (binary_expression "tuple<unsigned_int_const" identifier < identifier) (ERROR "&>" & >) , identifier) : :) (expression_statement "tuple<>>\n            ((_Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n              *)local_18,param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c);" (binary_expression "tuple<>>\n            ((_Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n              *)local_18,param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c)" identifier (ERROR "<" <) >> (parenthesized_expression "((_Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n              *)local_18,param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c)" ( (parenthesized_expression "(_Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n              *)local_18,param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c)" ( (ERROR "_Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::" (comma_expression "_Rb_tree<unsigned_int,std" (binary_expression "_Rb_tree<unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int_const,gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : identifier : : (binary_expression "Gnu_property>,std" identifier > (ERROR "," ,) identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : identifier : : (binary_expression "Gnu_property>>,std" identifier >> (ERROR "," ,) identifier) : : (binary_expression "less<unsigned_int>,std" (binary_expression "less<unsigned_int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : identifier : :) (comma_expression "Gnu_property>>>\n              *)local_18,param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c" (binary_expression "Gnu_property>>>\n              *)local_18" identifier >> (ERROR ">" >) (pointer_expression "*)local_18" * (ERROR ")" )) identifier)) , (comma_expression "param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c" (binary_expression "param_1 + 0x280" identifier + number_literal) , (comma_expression "iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c" identifier , (comma_expression "PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c" (binary_expression "PTR_s_alize_xindex_004323b4 + -0x15bc" identifier + number_literal) , (comma_expression "&local_20,\n             auStack_1c" (pointer_expression "&local_20" & identifier) , identifier))))) )) ))) ;) (expression_statement "iVar7 = local_18[0];" (assignment_expression "iVar7 = local_18[0]" identifier = (subscript_expression "local_18[0]" identifier [ number_literal ])) ;) (labeled_statement "LAB_00127270:\n  *(undefined4 *)(iVar7 + 0x14) = param_4;" statement_identifier : (expression_statement "*(undefined4 *)(iVar7 + 0x14) = param_4;" (assignment_expression "*(undefined4 *)(iVar7 + 0x14) = param_4" (pointer_expression "*(undefined4 *)(iVar7 + 0x14)" * (cast_expression "(undefined4 *)(iVar7 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(iVar7 + 0x18) = uVar4;" (assignment_expression "*(undefined4 *)(iVar7 + 0x18) = uVar4" (pointer_expression "*(undefined4 *)(iVar7 + 0x18)" * (cast_expression "(undefined4 *)(iVar7 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */\n/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */\n/* DWARF original prototype: void add_gnu_property(Layout * this, uint note_type, uint pr_type,\n   size_t pr_datasz, uchar * pr_data) */\n\nvoid __thiscall\ngold::Layout::add_gnu_property\n          (Layout *this,uint note_type,uint pr_type,size_t pr_datasz,uchar *pr_data)\n\n{\n  _Base_ptr *pp_Var1;\n  bool bVar2;\n  byte bVar3;\n  byte bVar4;\n  byte bVar5;\n  byte bVar6;\n  undefined4 uVar7;\n  _Base_ptr p_Var8;\n  int *piVar9;\n  int iVar10;\n  int *piVar11;\n  int *piVar12;\n  undefined4 *puVar13;\n  undefined *puVar14;\n  int iVar15;\n  int *piVar16;\n  int *piVar17;\n  int *piVar18;\n  _Base_ptr p_Var19;\n  _Base_ptr p_Var20;\n  piecewise_construct_t *__args_0;\n  uint uVar21;\n  int iVar22;\n  int iVar23;\n  int iVar24;\n  int iVar25;\n  int iVar26;\n  int iVar27;\n  int iVar28;\n  int *piVar29;\n  int iVar30;\n  int iVar31;\n  int iVar32;\n  undefined4 *puVar33;\n  int iVar34;\n  int iVar35;\n  undefined *puVar36;\n  int iVar37;\n  code *pcVar38;\n  uint uVar39;\n  _Rb_tree_color local_res8 [2];\n  int iStack_80;\n  undefined *puStack_7c;\n  int iStack_78;\n  int iStack_74;\n  int *piStack_70;\n  code *pcStack_6c;\n  _Rb_tree_color *local_20 [2];\n  piecewise_construct_t *local_18;\n  \n  local_res8[0] = pr_type;\n  if (note_type != 5) {\n    piVar17 = (int *)&DAT_00000973;\n    puVar14 = PTR_s_alize_xindex_004323b4 + -0x2c4c;\n    puVar36 = PTR_do_gold_unreachable_004323c4;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar14,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4)\n    ;\n    puVar33 = *(undefined4 **)(puVar14 + 0x130);\n    if (puVar33 != *(undefined4 **)(puVar14 + 0x134)) {\n      pcStack_6c = *(code **)(puVar36 + 0x30bd6c);\n      piStack_70 = &iStack_80;\n      puStack_7c = puVar14;\n      do {\n        iVar15 = 0x1a8;\n        piVar29 = (int *)*puVar33;\n        iVar34 = 0x1c;\n        piVar9 = (int *)(**(code **)(puVar36 + 0x30b08c))(0x1a8);\n        piVar18 = piVar9;\n        piVar16 = piVar29;\n        do {\n          iVar10 = *piVar16;\n          iVar31 = piVar16[1];\n          *piVar18 = 0;\n          piVar18[1] = 0;\n          iVar31 = iVar31 - iVar10;\n          piVar18[2] = 0;\n          if (iVar31 >> 2 == 0) {\n            iVar10 = 0;\n          }\n          else {\n            if (0x3fffffff < (uint)(iVar31 >> 2)) {\n              (**(code **)(puVar36 + 0x30b154))();\n              piVar17 = piVar9 + (0x1c - iVar34) * 3;\n              do {\n                do {\n                  if (piVar9 == piVar17) {\n                    (**(code **)(puVar36 + 0x30b110))(piVar9,0x1a8);\n                    (**(code **)(puVar36 + 0x30afa8))(iVar15);\n                  }\n                  piVar17 = piVar17 + -3;\n                } while (*piVar17 == 0);\n                (**(code **)(puVar36 + 0x30afdc))();\n              } while( true );\n            }\n            iVar15 = iVar31;\n            iVar10 = (**(code **)(puVar36 + 0x30b08c))();\n          }\n          *piVar18 = iVar10;\n          piVar18[1] = iVar10;\n          piVar18[2] = iVar10 + iVar31;\n          iVar31 = *piVar16;\n          iVar30 = piVar16[1] - iVar31;\n          if (iVar31 != piVar16[1]) {\n            iVar15 = iVar10;\n            iVar10 = (**(code **)(puVar36 + 0x30f428))(iVar10,iVar31,iVar30);\n          }\n          piVar11 = piVar18 + 3;\n          iVar34 = iVar34 + -1;\n          piVar18[1] = iVar10 + iVar30;\n          piVar16 = piVar16 + 3;\n          piVar18 = piVar11;\n        } while (piVar9 + 0x57 != piVar11);\n        uVar21 = piVar17[1];\n        bVar3 = *(byte *)(piVar9 + 0x68);\n        if (uVar21 == 0) {\n          trap(7);\n        }\n        uVar39 = (uint)piVar29 % uVar21;\n        iStack_74 = piVar29[0x5d];\n        iStack_78 = piVar29[0x5c];\n        iVar31 = piVar29[0x5b];\n        bVar4 = (byte)(((uint)piVar29[0x68] >> 0x1f) << 7);\n        iVar24 = piVar29[0x5f];\n        iVar23 = piVar29[0x5e];\n        iVar26 = piVar29[0x61];\n        iVar25 = piVar29[0x60];\n        iVar28 = piVar29[99];\n        iVar27 = piVar29[0x62];\n        iVar22 = piVar29[0x59];\n        iVar30 = piVar29[0x58];\n        iVar10 = piVar29[0x5a];\n        iVar37 = piVar29[0x66];\n        iVar32 = piVar29[0x67];\n        iVar34 = piVar29[0x65];\n        iVar15 = piVar29[100];\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x7f | bVar4;\n        piVar9[0x65] = iVar34;\n        iVar35 = piVar29[0x68];\n        iVar34 = *piVar17;\n        piVar9[100] = iVar15;\n        piVar9[0x5b] = iVar31;\n        piVar9[0x59] = iVar22;\n        bVar5 = (byte)(((uint)(iVar35 << 1) >> 0x1f) << 6);\n        piVar9[0x58] = iVar30;\n        piVar9[0x5a] = iVar10;\n        piVar9[0x5d] = iStack_74;\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x3f | bVar4 | bVar5;\n        piVar9[0x5c] = iStack_78;\n        iVar15 = piVar29[0x68];\n        piVar9[0x5f] = iVar24;\n        piVar9[0x5e] = iVar23;\n        piVar9[0x61] = iVar26;\n        piVar9[0x60] = iVar25;\n        bVar6 = (byte)(((uint)(iVar15 << 2) >> 0x1f) << 5);\n        piVar9[99] = iVar28;\n        piVar9[0x62] = iVar27;\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x1f | bVar4 | bVar5 | bVar6;\n        iVar15 = piVar29[0x68];\n        piVar9[0x66] = iVar37;\n        piVar9[0x67] = iVar32;\n        *(byte *)(piVar9 + 0x68) =\n             bVar3 & 0xf | bVar4 | bVar5 | bVar6 | (byte)(((uint)(iVar15 << 3) >> 0x1f) << 4);\n        piVar18 = *(int **)(iVar34 + uVar39 * 4);\n        pcVar38 = *(code **)(puVar36 + 0x30b08c);\n        if (piVar18 != (int *)0x0) {\n          piVar11 = (int *)((int *)*piVar18)[1];\n          piVar16 = (int *)*piVar18;\n          do {\n            piVar12 = piVar16;\n            if (piVar29 == piVar11) {\n              iVar15 = *piVar18;\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              if (iVar15 != 0) goto LAB_00127520;\n              break;\n            }\n            piVar16 = (int *)*piVar12;\n            if (piVar16 == (int *)0x0) {\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              break;\n            }\n            piVar11 = (int *)piVar16[1];\n            if (uVar21 == 0) {\n              trap(7);\n            }\n            pcVar38 = *(code **)(puVar36 + 0x30b08c);\n            piVar18 = piVar12;\n          } while (uVar39 == (uint)piVar11 % uVar21);\n        }\n        puVar13 = (undefined4 *)(*pcVar38)(0xc);\n        *puVar13 = 0;\n        puVar13[1] = piVar29;\n        puVar13[2] = 0;\n        (*pcStack_6c)(piStack_70,piVar17,uVar39,piVar29,puVar13,1);\n        iVar15 = iStack_80;\nLAB_00127520:\n        puVar33 = puVar33 + 1;\n        puVar13 = *(undefined4 **)(puStack_7c + 0x134);\n        *(int **)(iVar15 + 8) = piVar9;\n      } while (puVar13 != puVar33);\n    }\n    return;\n  }\n  uVar7 = (*(code *)PTR_operator_new___004322dc)(pr_datasz);\n  (*(code *)PTR_memcpy_00436788)(uVar7,pr_data,pr_datasz);\n  __args_0 = (piecewise_construct_t *)&(this->gnu_properties_)._M_t._M_impl.super__Rb_tree_header;\n  p_Var8 = (this->gnu_properties_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n  p_Var19 = (_Base_ptr)__args_0;\n  if (p_Var8 != (_Base_ptr)0x0) {\n    do {\n      while (p_Var20 = p_Var8, local_res8[0] <= p_Var20[1]._M_color) {\n        p_Var8 = p_Var20->_M_left;\n        p_Var19 = p_Var20;\n        if (p_Var20->_M_left == (_Base_ptr)0x0) goto LAB_00127220;\n      }\n      pp_Var1 = &p_Var20->_M_right;\n      p_Var8 = *pp_Var1;\n      p_Var20 = p_Var19;\n    } while (*pp_Var1 != (_Base_ptr)0x0);\nLAB_00127220:\n    bVar2 = (_Base_ptr)__args_0 != p_Var20;\n    __args_0 = (piecewise_construct_t *)p_Var20;\n    if ((bVar2) &&\n       (*(_Rb_tree_color *)&((piecewise_construct_t *)((int)p_Var20 + 0x10))->field_0x0 <=\n        local_res8[0])) goto LAB_00127270;\n  }\n  local_20[0] = local_res8;\n  std::\n  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Layout::Gnu_property>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Layout::Gnu_property>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Layout::Gnu_property>_>_>\n  ::\n  _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<unsigned_int_const&>,_std::tuple<>_>\n            ((_Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Layout::Gnu_property>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Layout::Gnu_property>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Layout::Gnu_property>_>_>\n              *)&local_18,(const_iterator)&this->gnu_properties_,__args_0,\n             (tuple<unsigned_int_const&> *)(PTR_s_alize_xindex_004323b4 + -0x15bc),\n             (tuple<> *)local_20);\n  p_Var20 = (_Base_ptr)local_18;\nLAB_00127270:\n  *(size_t *)((int)p_Var20 + 0x14) = pr_datasz;\n  *(undefined4 *)((int)p_Var20 + 0x18) = uVar7;\n  return;\n}\n\n" comment comment comment comment comment comment comment comment (function_definition "void __thiscall\ngold::Layout::add_gnu_property\n          (Layout *this,uint note_type,uint pr_type,size_t pr_datasz,uchar *pr_data)\n\n{\n  _Base_ptr *pp_Var1;\n  bool bVar2;\n  byte bVar3;\n  byte bVar4;\n  byte bVar5;\n  byte bVar6;\n  undefined4 uVar7;\n  _Base_ptr p_Var8;\n  int *piVar9;\n  int iVar10;\n  int *piVar11;\n  int *piVar12;\n  undefined4 *puVar13;\n  undefined *puVar14;\n  int iVar15;\n  int *piVar16;\n  int *piVar17;\n  int *piVar18;\n  _Base_ptr p_Var19;\n  _Base_ptr p_Var20;\n  piecewise_construct_t *__args_0;\n  uint uVar21;\n  int iVar22;\n  int iVar23;\n  int iVar24;\n  int iVar25;\n  int iVar26;\n  int iVar27;\n  int iVar28;\n  int *piVar29;\n  int iVar30;\n  int iVar31;\n  int iVar32;\n  undefined4 *puVar33;\n  int iVar34;\n  int iVar35;\n  undefined *puVar36;\n  int iVar37;\n  code *pcVar38;\n  uint uVar39;\n  _Rb_tree_color local_res8 [2];\n  int iStack_80;\n  undefined *puStack_7c;\n  int iStack_78;\n  int iStack_74;\n  int *piStack_70;\n  code *pcStack_6c;\n  _Rb_tree_color *local_20 [2];\n  piecewise_construct_t *local_18;\n  \n  local_res8[0] = pr_type;\n  if (note_type != 5) {\n    piVar17 = (int *)&DAT_00000973;\n    puVar14 = PTR_s_alize_xindex_004323b4 + -0x2c4c;\n    puVar36 = PTR_do_gold_unreachable_004323c4;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar14,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4)\n    ;\n    puVar33 = *(undefined4 **)(puVar14 + 0x130);\n    if (puVar33 != *(undefined4 **)(puVar14 + 0x134)) {\n      pcStack_6c = *(code **)(puVar36 + 0x30bd6c);\n      piStack_70 = &iStack_80;\n      puStack_7c = puVar14;\n      do {\n        iVar15 = 0x1a8;\n        piVar29 = (int *)*puVar33;\n        iVar34 = 0x1c;\n        piVar9 = (int *)(**(code **)(puVar36 + 0x30b08c))(0x1a8);\n        piVar18 = piVar9;\n        piVar16 = piVar29;\n        do {\n          iVar10 = *piVar16;\n          iVar31 = piVar16[1];\n          *piVar18 = 0;\n          piVar18[1] = 0;\n          iVar31 = iVar31 - iVar10;\n          piVar18[2] = 0;\n          if (iVar31 >> 2 == 0) {\n            iVar10 = 0;\n          }\n          else {\n            if (0x3fffffff < (uint)(iVar31 >> 2)) {\n              (**(code **)(puVar36 + 0x30b154))();\n              piVar17 = piVar9 + (0x1c - iVar34) * 3;\n              do {\n                do {\n                  if (piVar9 == piVar17) {\n                    (**(code **)(puVar36 + 0x30b110))(piVar9,0x1a8);\n                    (**(code **)(puVar36 + 0x30afa8))(iVar15);\n                  }\n                  piVar17 = piVar17 + -3;\n                } while (*piVar17 == 0);\n                (**(code **)(puVar36 + 0x30afdc))();\n              } while( true );\n            }\n            iVar15 = iVar31;\n            iVar10 = (**(code **)(puVar36 + 0x30b08c))();\n          }\n          *piVar18 = iVar10;\n          piVar18[1] = iVar10;\n          piVar18[2] = iVar10 + iVar31;\n          iVar31 = *piVar16;\n          iVar30 = piVar16[1] - iVar31;\n          if (iVar31 != piVar16[1]) {\n            iVar15 = iVar10;\n            iVar10 = (**(code **)(puVar36 + 0x30f428))(iVar10,iVar31,iVar30);\n          }\n          piVar11 = piVar18 + 3;\n          iVar34 = iVar34 + -1;\n          piVar18[1] = iVar10 + iVar30;\n          piVar16 = piVar16 + 3;\n          piVar18 = piVar11;\n        } while (piVar9 + 0x57 != piVar11);\n        uVar21 = piVar17[1];\n        bVar3 = *(byte *)(piVar9 + 0x68);\n        if (uVar21 == 0) {\n          trap(7);\n        }\n        uVar39 = (uint)piVar29 % uVar21;\n        iStack_74 = piVar29[0x5d];\n        iStack_78 = piVar29[0x5c];\n        iVar31 = piVar29[0x5b];\n        bVar4 = (byte)(((uint)piVar29[0x68] >> 0x1f) << 7);\n        iVar24 = piVar29[0x5f];\n        iVar23 = piVar29[0x5e];\n        iVar26 = piVar29[0x61];\n        iVar25 = piVar29[0x60];\n        iVar28 = piVar29[99];\n        iVar27 = piVar29[0x62];\n        iVar22 = piVar29[0x59];\n        iVar30 = piVar29[0x58];\n        iVar10 = piVar29[0x5a];\n        iVar37 = piVar29[0x66];\n        iVar32 = piVar29[0x67];\n        iVar34 = piVar29[0x65];\n        iVar15 = piVar29[100];\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x7f | bVar4;\n        piVar9[0x65] = iVar34;\n        iVar35 = piVar29[0x68];\n        iVar34 = *piVar17;\n        piVar9[100] = iVar15;\n        piVar9[0x5b] = iVar31;\n        piVar9[0x59] = iVar22;\n        bVar5 = (byte)(((uint)(iVar35 << 1) >> 0x1f) << 6);\n        piVar9[0x58] = iVar30;\n        piVar9[0x5a] = iVar10;\n        piVar9[0x5d] = iStack_74;\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x3f | bVar4 | bVar5;\n        piVar9[0x5c] = iStack_78;\n        iVar15 = piVar29[0x68];\n        piVar9[0x5f] = iVar24;\n        piVar9[0x5e] = iVar23;\n        piVar9[0x61] = iVar26;\n        piVar9[0x60] = iVar25;\n        bVar6 = (byte)(((uint)(iVar15 << 2) >> 0x1f) << 5);\n        piVar9[99] = iVar28;\n        piVar9[0x62] = iVar27;\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x1f | bVar4 | bVar5 | bVar6;\n        iVar15 = piVar29[0x68];\n        piVar9[0x66] = iVar37;\n        piVar9[0x67] = iVar32;\n        *(byte *)(piVar9 + 0x68) =\n             bVar3 & 0xf | bVar4 | bVar5 | bVar6 | (byte)(((uint)(iVar15 << 3) >> 0x1f) << 4);\n        piVar18 = *(int **)(iVar34 + uVar39 * 4);\n        pcVar38 = *(code **)(puVar36 + 0x30b08c);\n        if (piVar18 != (int *)0x0) {\n          piVar11 = (int *)((int *)*piVar18)[1];\n          piVar16 = (int *)*piVar18;\n          do {\n            piVar12 = piVar16;\n            if (piVar29 == piVar11) {\n              iVar15 = *piVar18;\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              if (iVar15 != 0) goto LAB_00127520;\n              break;\n            }\n            piVar16 = (int *)*piVar12;\n            if (piVar16 == (int *)0x0) {\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              break;\n            }\n            piVar11 = (int *)piVar16[1];\n            if (uVar21 == 0) {\n              trap(7);\n            }\n            pcVar38 = *(code **)(puVar36 + 0x30b08c);\n            piVar18 = piVar12;\n          } while (uVar39 == (uint)piVar11 % uVar21);\n        }\n        puVar13 = (undefined4 *)(*pcVar38)(0xc);\n        *puVar13 = 0;\n        puVar13[1] = piVar29;\n        puVar13[2] = 0;\n        (*pcStack_6c)(piStack_70,piVar17,uVar39,piVar29,puVar13,1);\n        iVar15 = iStack_80;\nLAB_00127520:\n        puVar33 = puVar33 + 1;\n        puVar13 = *(undefined4 **)(puStack_7c + 0x134);\n        *(int **)(iVar15 + 8) = piVar9;\n      } while (puVar13 != puVar33);\n    }\n    return;\n  }\n  uVar7 = (*(code *)PTR_operator_new___004322dc)(pr_datasz);\n  (*(code *)PTR_memcpy_00436788)(uVar7,pr_data,pr_datasz);\n  __args_0 = (piecewise_construct_t *)&(this->gnu_properties_)._M_t._M_impl.super__Rb_tree_header;\n  p_Var8 = (this->gnu_properties_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n  p_Var19 = (_Base_ptr)__args_0;\n  if (p_Var8 != (_Base_ptr)0x0) {\n    do {\n      while (p_Var20 = p_Var8, local_res8[0] <= p_Var20[1]._M_color) {\n        p_Var8 = p_Var20->_M_left;\n        p_Var19 = p_Var20;\n        if (p_Var20->_M_left == (_Base_ptr)0x0) goto LAB_00127220;\n      }\n      pp_Var1 = &p_Var20->_M_right;\n      p_Var8 = *pp_Var1;\n      p_Var20 = p_Var19;\n    } while (*pp_Var1 != (_Base_ptr)0x0);\nLAB_00127220:\n    bVar2 = (_Base_ptr)__args_0 != p_Var20;\n    __args_0 = (piecewise_construct_t *)p_Var20;\n    if ((bVar2) &&\n       (*(_Rb_tree_color *)&((piecewise_construct_t *)((int)p_Var20 + 0x10))->field_0x0 <=\n        local_res8[0])) goto LAB_00127270;\n  }\n  local_20[0] = local_res8;\n  std::\n  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Layout::Gnu_property>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Layout::Gnu_property>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Layout::Gnu_property>_>_>\n  ::\n  _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<unsigned_int_const&>,_std::tuple<>_>\n            ((_Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Layout::Gnu_property>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Layout::Gnu_property>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Layout::Gnu_property>_>_>\n              *)&local_18,(const_iterator)&this->gnu_properties_,__args_0,\n             (tuple<unsigned_int_const&> *)(PTR_s_alize_xindex_004323b4 + -0x15bc),\n             (tuple<> *)local_20);\n  p_Var20 = (_Base_ptr)local_18;\nLAB_00127270:\n  *(size_t *)((int)p_Var20 + 0x14) = pr_datasz;\n  *(undefined4 *)((int)p_Var20 + 0x18) = uVar7;\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Layout::" identifier : : identifier : :) (function_declarator "add_gnu_property\n          (Layout *this,uint note_type,uint pr_type,size_t pr_datasz,uchar *pr_data)" identifier (parameter_list "(Layout *this,uint note_type,uint pr_type,size_t pr_datasz,uchar *pr_data)" ( (parameter_declaration "Layout *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "uint note_type" type_identifier identifier) , (parameter_declaration "uint pr_type" type_identifier identifier) , (parameter_declaration "size_t pr_datasz" primitive_type identifier) , (parameter_declaration "uchar *pr_data" type_identifier (pointer_declarator "*pr_data" * identifier)) ))) (compound_statement "{\n  _Base_ptr *pp_Var1;\n  bool bVar2;\n  byte bVar3;\n  byte bVar4;\n  byte bVar5;\n  byte bVar6;\n  undefined4 uVar7;\n  _Base_ptr p_Var8;\n  int *piVar9;\n  int iVar10;\n  int *piVar11;\n  int *piVar12;\n  undefined4 *puVar13;\n  undefined *puVar14;\n  int iVar15;\n  int *piVar16;\n  int *piVar17;\n  int *piVar18;\n  _Base_ptr p_Var19;\n  _Base_ptr p_Var20;\n  piecewise_construct_t *__args_0;\n  uint uVar21;\n  int iVar22;\n  int iVar23;\n  int iVar24;\n  int iVar25;\n  int iVar26;\n  int iVar27;\n  int iVar28;\n  int *piVar29;\n  int iVar30;\n  int iVar31;\n  int iVar32;\n  undefined4 *puVar33;\n  int iVar34;\n  int iVar35;\n  undefined *puVar36;\n  int iVar37;\n  code *pcVar38;\n  uint uVar39;\n  _Rb_tree_color local_res8 [2];\n  int iStack_80;\n  undefined *puStack_7c;\n  int iStack_78;\n  int iStack_74;\n  int *piStack_70;\n  code *pcStack_6c;\n  _Rb_tree_color *local_20 [2];\n  piecewise_construct_t *local_18;\n  \n  local_res8[0] = pr_type;\n  if (note_type != 5) {\n    piVar17 = (int *)&DAT_00000973;\n    puVar14 = PTR_s_alize_xindex_004323b4 + -0x2c4c;\n    puVar36 = PTR_do_gold_unreachable_004323c4;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar14,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4)\n    ;\n    puVar33 = *(undefined4 **)(puVar14 + 0x130);\n    if (puVar33 != *(undefined4 **)(puVar14 + 0x134)) {\n      pcStack_6c = *(code **)(puVar36 + 0x30bd6c);\n      piStack_70 = &iStack_80;\n      puStack_7c = puVar14;\n      do {\n        iVar15 = 0x1a8;\n        piVar29 = (int *)*puVar33;\n        iVar34 = 0x1c;\n        piVar9 = (int *)(**(code **)(puVar36 + 0x30b08c))(0x1a8);\n        piVar18 = piVar9;\n        piVar16 = piVar29;\n        do {\n          iVar10 = *piVar16;\n          iVar31 = piVar16[1];\n          *piVar18 = 0;\n          piVar18[1] = 0;\n          iVar31 = iVar31 - iVar10;\n          piVar18[2] = 0;\n          if (iVar31 >> 2 == 0) {\n            iVar10 = 0;\n          }\n          else {\n            if (0x3fffffff < (uint)(iVar31 >> 2)) {\n              (**(code **)(puVar36 + 0x30b154))();\n              piVar17 = piVar9 + (0x1c - iVar34) * 3;\n              do {\n                do {\n                  if (piVar9 == piVar17) {\n                    (**(code **)(puVar36 + 0x30b110))(piVar9,0x1a8);\n                    (**(code **)(puVar36 + 0x30afa8))(iVar15);\n                  }\n                  piVar17 = piVar17 + -3;\n                } while (*piVar17 == 0);\n                (**(code **)(puVar36 + 0x30afdc))();\n              } while( true );\n            }\n            iVar15 = iVar31;\n            iVar10 = (**(code **)(puVar36 + 0x30b08c))();\n          }\n          *piVar18 = iVar10;\n          piVar18[1] = iVar10;\n          piVar18[2] = iVar10 + iVar31;\n          iVar31 = *piVar16;\n          iVar30 = piVar16[1] - iVar31;\n          if (iVar31 != piVar16[1]) {\n            iVar15 = iVar10;\n            iVar10 = (**(code **)(puVar36 + 0x30f428))(iVar10,iVar31,iVar30);\n          }\n          piVar11 = piVar18 + 3;\n          iVar34 = iVar34 + -1;\n          piVar18[1] = iVar10 + iVar30;\n          piVar16 = piVar16 + 3;\n          piVar18 = piVar11;\n        } while (piVar9 + 0x57 != piVar11);\n        uVar21 = piVar17[1];\n        bVar3 = *(byte *)(piVar9 + 0x68);\n        if (uVar21 == 0) {\n          trap(7);\n        }\n        uVar39 = (uint)piVar29 % uVar21;\n        iStack_74 = piVar29[0x5d];\n        iStack_78 = piVar29[0x5c];\n        iVar31 = piVar29[0x5b];\n        bVar4 = (byte)(((uint)piVar29[0x68] >> 0x1f) << 7);\n        iVar24 = piVar29[0x5f];\n        iVar23 = piVar29[0x5e];\n        iVar26 = piVar29[0x61];\n        iVar25 = piVar29[0x60];\n        iVar28 = piVar29[99];\n        iVar27 = piVar29[0x62];\n        iVar22 = piVar29[0x59];\n        iVar30 = piVar29[0x58];\n        iVar10 = piVar29[0x5a];\n        iVar37 = piVar29[0x66];\n        iVar32 = piVar29[0x67];\n        iVar34 = piVar29[0x65];\n        iVar15 = piVar29[100];\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x7f | bVar4;\n        piVar9[0x65] = iVar34;\n        iVar35 = piVar29[0x68];\n        iVar34 = *piVar17;\n        piVar9[100] = iVar15;\n        piVar9[0x5b] = iVar31;\n        piVar9[0x59] = iVar22;\n        bVar5 = (byte)(((uint)(iVar35 << 1) >> 0x1f) << 6);\n        piVar9[0x58] = iVar30;\n        piVar9[0x5a] = iVar10;\n        piVar9[0x5d] = iStack_74;\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x3f | bVar4 | bVar5;\n        piVar9[0x5c] = iStack_78;\n        iVar15 = piVar29[0x68];\n        piVar9[0x5f] = iVar24;\n        piVar9[0x5e] = iVar23;\n        piVar9[0x61] = iVar26;\n        piVar9[0x60] = iVar25;\n        bVar6 = (byte)(((uint)(iVar15 << 2) >> 0x1f) << 5);\n        piVar9[99] = iVar28;\n        piVar9[0x62] = iVar27;\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x1f | bVar4 | bVar5 | bVar6;\n        iVar15 = piVar29[0x68];\n        piVar9[0x66] = iVar37;\n        piVar9[0x67] = iVar32;\n        *(byte *)(piVar9 + 0x68) =\n             bVar3 & 0xf | bVar4 | bVar5 | bVar6 | (byte)(((uint)(iVar15 << 3) >> 0x1f) << 4);\n        piVar18 = *(int **)(iVar34 + uVar39 * 4);\n        pcVar38 = *(code **)(puVar36 + 0x30b08c);\n        if (piVar18 != (int *)0x0) {\n          piVar11 = (int *)((int *)*piVar18)[1];\n          piVar16 = (int *)*piVar18;\n          do {\n            piVar12 = piVar16;\n            if (piVar29 == piVar11) {\n              iVar15 = *piVar18;\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              if (iVar15 != 0) goto LAB_00127520;\n              break;\n            }\n            piVar16 = (int *)*piVar12;\n            if (piVar16 == (int *)0x0) {\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              break;\n            }\n            piVar11 = (int *)piVar16[1];\n            if (uVar21 == 0) {\n              trap(7);\n            }\n            pcVar38 = *(code **)(puVar36 + 0x30b08c);\n            piVar18 = piVar12;\n          } while (uVar39 == (uint)piVar11 % uVar21);\n        }\n        puVar13 = (undefined4 *)(*pcVar38)(0xc);\n        *puVar13 = 0;\n        puVar13[1] = piVar29;\n        puVar13[2] = 0;\n        (*pcStack_6c)(piStack_70,piVar17,uVar39,piVar29,puVar13,1);\n        iVar15 = iStack_80;\nLAB_00127520:\n        puVar33 = puVar33 + 1;\n        puVar13 = *(undefined4 **)(puStack_7c + 0x134);\n        *(int **)(iVar15 + 8) = piVar9;\n      } while (puVar13 != puVar33);\n    }\n    return;\n  }\n  uVar7 = (*(code *)PTR_operator_new___004322dc)(pr_datasz);\n  (*(code *)PTR_memcpy_00436788)(uVar7,pr_data,pr_datasz);\n  __args_0 = (piecewise_construct_t *)&(this->gnu_properties_)._M_t._M_impl.super__Rb_tree_header;\n  p_Var8 = (this->gnu_properties_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n  p_Var19 = (_Base_ptr)__args_0;\n  if (p_Var8 != (_Base_ptr)0x0) {\n    do {\n      while (p_Var20 = p_Var8, local_res8[0] <= p_Var20[1]._M_color) {\n        p_Var8 = p_Var20->_M_left;\n        p_Var19 = p_Var20;\n        if (p_Var20->_M_left == (_Base_ptr)0x0) goto LAB_00127220;\n      }\n      pp_Var1 = &p_Var20->_M_right;\n      p_Var8 = *pp_Var1;\n      p_Var20 = p_Var19;\n    } while (*pp_Var1 != (_Base_ptr)0x0);\nLAB_00127220:\n    bVar2 = (_Base_ptr)__args_0 != p_Var20;\n    __args_0 = (piecewise_construct_t *)p_Var20;\n    if ((bVar2) &&\n       (*(_Rb_tree_color *)&((piecewise_construct_t *)((int)p_Var20 + 0x10))->field_0x0 <=\n        local_res8[0])) goto LAB_00127270;\n  }\n  local_20[0] = local_res8;\n  std::\n  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Layout::Gnu_property>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Layout::Gnu_property>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Layout::Gnu_property>_>_>\n  ::\n  _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<unsigned_int_const&>,_std::tuple<>_>\n            ((_Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Layout::Gnu_property>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Layout::Gnu_property>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Layout::Gnu_property>_>_>\n              *)&local_18,(const_iterator)&this->gnu_properties_,__args_0,\n             (tuple<unsigned_int_const&> *)(PTR_s_alize_xindex_004323b4 + -0x15bc),\n             (tuple<> *)local_20);\n  p_Var20 = (_Base_ptr)local_18;\nLAB_00127270:\n  *(size_t *)((int)p_Var20 + 0x14) = pr_datasz;\n  *(undefined4 *)((int)p_Var20 + 0x18) = uVar7;\n  return;\n}" { (declaration "_Base_ptr *pp_Var1;" type_identifier (pointer_declarator "*pp_Var1" * identifier) ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "_Base_ptr p_Var8;" type_identifier identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "_Base_ptr p_Var19;" type_identifier identifier ;) (declaration "_Base_ptr p_Var20;" type_identifier identifier ;) (declaration "piecewise_construct_t *__args_0;" type_identifier (pointer_declarator "*__args_0" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "int *piVar29;" primitive_type (pointer_declarator "*piVar29" * identifier) ;) (declaration "int iVar30;" primitive_type identifier ;) (declaration "int iVar31;" primitive_type identifier ;) (declaration "int iVar32;" primitive_type identifier ;) (declaration "undefined4 *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "int iVar34;" primitive_type identifier ;) (declaration "int iVar35;" primitive_type identifier ;) (declaration "undefined *puVar36;" type_identifier (pointer_declarator "*puVar36" * identifier) ;) (declaration "int iVar37;" primitive_type identifier ;) (declaration "code *pcVar38;" type_identifier (pointer_declarator "*pcVar38" * identifier) ;) (declaration "uint uVar39;" type_identifier identifier ;) (declaration "_Rb_tree_color local_res8 [2];" type_identifier (array_declarator "local_res8 [2]" identifier [ number_literal ]) ;) (declaration "int iStack_80;" primitive_type identifier ;) (declaration "undefined *puStack_7c;" type_identifier (pointer_declarator "*puStack_7c" * identifier) ;) (declaration "int iStack_78;" primitive_type identifier ;) (declaration "int iStack_74;" primitive_type identifier ;) (declaration "int *piStack_70;" primitive_type (pointer_declarator "*piStack_70" * identifier) ;) (declaration "code *pcStack_6c;" type_identifier (pointer_declarator "*pcStack_6c" * identifier) ;) (declaration "_Rb_tree_color *local_20 [2];" type_identifier (pointer_declarator "*local_20 [2]" * (array_declarator "local_20 [2]" identifier [ number_literal ])) ;) (declaration "piecewise_construct_t *local_18;" type_identifier (pointer_declarator "*local_18" * identifier) ;) (expression_statement "local_res8[0] = pr_type;" (assignment_expression "local_res8[0] = pr_type" (subscript_expression "local_res8[0]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (note_type != 5) {\n    piVar17 = (int *)&DAT_00000973;\n    puVar14 = PTR_s_alize_xindex_004323b4 + -0x2c4c;\n    puVar36 = PTR_do_gold_unreachable_004323c4;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar14,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4)\n    ;\n    puVar33 = *(undefined4 **)(puVar14 + 0x130);\n    if (puVar33 != *(undefined4 **)(puVar14 + 0x134)) {\n      pcStack_6c = *(code **)(puVar36 + 0x30bd6c);\n      piStack_70 = &iStack_80;\n      puStack_7c = puVar14;\n      do {\n        iVar15 = 0x1a8;\n        piVar29 = (int *)*puVar33;\n        iVar34 = 0x1c;\n        piVar9 = (int *)(**(code **)(puVar36 + 0x30b08c))(0x1a8);\n        piVar18 = piVar9;\n        piVar16 = piVar29;\n        do {\n          iVar10 = *piVar16;\n          iVar31 = piVar16[1];\n          *piVar18 = 0;\n          piVar18[1] = 0;\n          iVar31 = iVar31 - iVar10;\n          piVar18[2] = 0;\n          if (iVar31 >> 2 == 0) {\n            iVar10 = 0;\n          }\n          else {\n            if (0x3fffffff < (uint)(iVar31 >> 2)) {\n              (**(code **)(puVar36 + 0x30b154))();\n              piVar17 = piVar9 + (0x1c - iVar34) * 3;\n              do {\n                do {\n                  if (piVar9 == piVar17) {\n                    (**(code **)(puVar36 + 0x30b110))(piVar9,0x1a8);\n                    (**(code **)(puVar36 + 0x30afa8))(iVar15);\n                  }\n                  piVar17 = piVar17 + -3;\n                } while (*piVar17 == 0);\n                (**(code **)(puVar36 + 0x30afdc))();\n              } while( true );\n            }\n            iVar15 = iVar31;\n            iVar10 = (**(code **)(puVar36 + 0x30b08c))();\n          }\n          *piVar18 = iVar10;\n          piVar18[1] = iVar10;\n          piVar18[2] = iVar10 + iVar31;\n          iVar31 = *piVar16;\n          iVar30 = piVar16[1] - iVar31;\n          if (iVar31 != piVar16[1]) {\n            iVar15 = iVar10;\n            iVar10 = (**(code **)(puVar36 + 0x30f428))(iVar10,iVar31,iVar30);\n          }\n          piVar11 = piVar18 + 3;\n          iVar34 = iVar34 + -1;\n          piVar18[1] = iVar10 + iVar30;\n          piVar16 = piVar16 + 3;\n          piVar18 = piVar11;\n        } while (piVar9 + 0x57 != piVar11);\n        uVar21 = piVar17[1];\n        bVar3 = *(byte *)(piVar9 + 0x68);\n        if (uVar21 == 0) {\n          trap(7);\n        }\n        uVar39 = (uint)piVar29 % uVar21;\n        iStack_74 = piVar29[0x5d];\n        iStack_78 = piVar29[0x5c];\n        iVar31 = piVar29[0x5b];\n        bVar4 = (byte)(((uint)piVar29[0x68] >> 0x1f) << 7);\n        iVar24 = piVar29[0x5f];\n        iVar23 = piVar29[0x5e];\n        iVar26 = piVar29[0x61];\n        iVar25 = piVar29[0x60];\n        iVar28 = piVar29[99];\n        iVar27 = piVar29[0x62];\n        iVar22 = piVar29[0x59];\n        iVar30 = piVar29[0x58];\n        iVar10 = piVar29[0x5a];\n        iVar37 = piVar29[0x66];\n        iVar32 = piVar29[0x67];\n        iVar34 = piVar29[0x65];\n        iVar15 = piVar29[100];\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x7f | bVar4;\n        piVar9[0x65] = iVar34;\n        iVar35 = piVar29[0x68];\n        iVar34 = *piVar17;\n        piVar9[100] = iVar15;\n        piVar9[0x5b] = iVar31;\n        piVar9[0x59] = iVar22;\n        bVar5 = (byte)(((uint)(iVar35 << 1) >> 0x1f) << 6);\n        piVar9[0x58] = iVar30;\n        piVar9[0x5a] = iVar10;\n        piVar9[0x5d] = iStack_74;\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x3f | bVar4 | bVar5;\n        piVar9[0x5c] = iStack_78;\n        iVar15 = piVar29[0x68];\n        piVar9[0x5f] = iVar24;\n        piVar9[0x5e] = iVar23;\n        piVar9[0x61] = iVar26;\n        piVar9[0x60] = iVar25;\n        bVar6 = (byte)(((uint)(iVar15 << 2) >> 0x1f) << 5);\n        piVar9[99] = iVar28;\n        piVar9[0x62] = iVar27;\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x1f | bVar4 | bVar5 | bVar6;\n        iVar15 = piVar29[0x68];\n        piVar9[0x66] = iVar37;\n        piVar9[0x67] = iVar32;\n        *(byte *)(piVar9 + 0x68) =\n             bVar3 & 0xf | bVar4 | bVar5 | bVar6 | (byte)(((uint)(iVar15 << 3) >> 0x1f) << 4);\n        piVar18 = *(int **)(iVar34 + uVar39 * 4);\n        pcVar38 = *(code **)(puVar36 + 0x30b08c);\n        if (piVar18 != (int *)0x0) {\n          piVar11 = (int *)((int *)*piVar18)[1];\n          piVar16 = (int *)*piVar18;\n          do {\n            piVar12 = piVar16;\n            if (piVar29 == piVar11) {\n              iVar15 = *piVar18;\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              if (iVar15 != 0) goto LAB_00127520;\n              break;\n            }\n            piVar16 = (int *)*piVar12;\n            if (piVar16 == (int *)0x0) {\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              break;\n            }\n            piVar11 = (int *)piVar16[1];\n            if (uVar21 == 0) {\n              trap(7);\n            }\n            pcVar38 = *(code **)(puVar36 + 0x30b08c);\n            piVar18 = piVar12;\n          } while (uVar39 == (uint)piVar11 % uVar21);\n        }\n        puVar13 = (undefined4 *)(*pcVar38)(0xc);\n        *puVar13 = 0;\n        puVar13[1] = piVar29;\n        puVar13[2] = 0;\n        (*pcStack_6c)(piStack_70,piVar17,uVar39,piVar29,puVar13,1);\n        iVar15 = iStack_80;\nLAB_00127520:\n        puVar33 = puVar33 + 1;\n        puVar13 = *(undefined4 **)(puStack_7c + 0x134);\n        *(int **)(iVar15 + 8) = piVar9;\n      } while (puVar13 != puVar33);\n    }\n    return;\n  }" if (parenthesized_expression "(note_type != 5)" ( (binary_expression "note_type != 5" identifier != number_literal) )) (compound_statement "{\n    piVar17 = (int *)&DAT_00000973;\n    puVar14 = PTR_s_alize_xindex_004323b4 + -0x2c4c;\n    puVar36 = PTR_do_gold_unreachable_004323c4;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar14,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4)\n    ;\n    puVar33 = *(undefined4 **)(puVar14 + 0x130);\n    if (puVar33 != *(undefined4 **)(puVar14 + 0x134)) {\n      pcStack_6c = *(code **)(puVar36 + 0x30bd6c);\n      piStack_70 = &iStack_80;\n      puStack_7c = puVar14;\n      do {\n        iVar15 = 0x1a8;\n        piVar29 = (int *)*puVar33;\n        iVar34 = 0x1c;\n        piVar9 = (int *)(**(code **)(puVar36 + 0x30b08c))(0x1a8);\n        piVar18 = piVar9;\n        piVar16 = piVar29;\n        do {\n          iVar10 = *piVar16;\n          iVar31 = piVar16[1];\n          *piVar18 = 0;\n          piVar18[1] = 0;\n          iVar31 = iVar31 - iVar10;\n          piVar18[2] = 0;\n          if (iVar31 >> 2 == 0) {\n            iVar10 = 0;\n          }\n          else {\n            if (0x3fffffff < (uint)(iVar31 >> 2)) {\n              (**(code **)(puVar36 + 0x30b154))();\n              piVar17 = piVar9 + (0x1c - iVar34) * 3;\n              do {\n                do {\n                  if (piVar9 == piVar17) {\n                    (**(code **)(puVar36 + 0x30b110))(piVar9,0x1a8);\n                    (**(code **)(puVar36 + 0x30afa8))(iVar15);\n                  }\n                  piVar17 = piVar17 + -3;\n                } while (*piVar17 == 0);\n                (**(code **)(puVar36 + 0x30afdc))();\n              } while( true );\n            }\n            iVar15 = iVar31;\n            iVar10 = (**(code **)(puVar36 + 0x30b08c))();\n          }\n          *piVar18 = iVar10;\n          piVar18[1] = iVar10;\n          piVar18[2] = iVar10 + iVar31;\n          iVar31 = *piVar16;\n          iVar30 = piVar16[1] - iVar31;\n          if (iVar31 != piVar16[1]) {\n            iVar15 = iVar10;\n            iVar10 = (**(code **)(puVar36 + 0x30f428))(iVar10,iVar31,iVar30);\n          }\n          piVar11 = piVar18 + 3;\n          iVar34 = iVar34 + -1;\n          piVar18[1] = iVar10 + iVar30;\n          piVar16 = piVar16 + 3;\n          piVar18 = piVar11;\n        } while (piVar9 + 0x57 != piVar11);\n        uVar21 = piVar17[1];\n        bVar3 = *(byte *)(piVar9 + 0x68);\n        if (uVar21 == 0) {\n          trap(7);\n        }\n        uVar39 = (uint)piVar29 % uVar21;\n        iStack_74 = piVar29[0x5d];\n        iStack_78 = piVar29[0x5c];\n        iVar31 = piVar29[0x5b];\n        bVar4 = (byte)(((uint)piVar29[0x68] >> 0x1f) << 7);\n        iVar24 = piVar29[0x5f];\n        iVar23 = piVar29[0x5e];\n        iVar26 = piVar29[0x61];\n        iVar25 = piVar29[0x60];\n        iVar28 = piVar29[99];\n        iVar27 = piVar29[0x62];\n        iVar22 = piVar29[0x59];\n        iVar30 = piVar29[0x58];\n        iVar10 = piVar29[0x5a];\n        iVar37 = piVar29[0x66];\n        iVar32 = piVar29[0x67];\n        iVar34 = piVar29[0x65];\n        iVar15 = piVar29[100];\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x7f | bVar4;\n        piVar9[0x65] = iVar34;\n        iVar35 = piVar29[0x68];\n        iVar34 = *piVar17;\n        piVar9[100] = iVar15;\n        piVar9[0x5b] = iVar31;\n        piVar9[0x59] = iVar22;\n        bVar5 = (byte)(((uint)(iVar35 << 1) >> 0x1f) << 6);\n        piVar9[0x58] = iVar30;\n        piVar9[0x5a] = iVar10;\n        piVar9[0x5d] = iStack_74;\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x3f | bVar4 | bVar5;\n        piVar9[0x5c] = iStack_78;\n        iVar15 = piVar29[0x68];\n        piVar9[0x5f] = iVar24;\n        piVar9[0x5e] = iVar23;\n        piVar9[0x61] = iVar26;\n        piVar9[0x60] = iVar25;\n        bVar6 = (byte)(((uint)(iVar15 << 2) >> 0x1f) << 5);\n        piVar9[99] = iVar28;\n        piVar9[0x62] = iVar27;\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x1f | bVar4 | bVar5 | bVar6;\n        iVar15 = piVar29[0x68];\n        piVar9[0x66] = iVar37;\n        piVar9[0x67] = iVar32;\n        *(byte *)(piVar9 + 0x68) =\n             bVar3 & 0xf | bVar4 | bVar5 | bVar6 | (byte)(((uint)(iVar15 << 3) >> 0x1f) << 4);\n        piVar18 = *(int **)(iVar34 + uVar39 * 4);\n        pcVar38 = *(code **)(puVar36 + 0x30b08c);\n        if (piVar18 != (int *)0x0) {\n          piVar11 = (int *)((int *)*piVar18)[1];\n          piVar16 = (int *)*piVar18;\n          do {\n            piVar12 = piVar16;\n            if (piVar29 == piVar11) {\n              iVar15 = *piVar18;\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              if (iVar15 != 0) goto LAB_00127520;\n              break;\n            }\n            piVar16 = (int *)*piVar12;\n            if (piVar16 == (int *)0x0) {\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              break;\n            }\n            piVar11 = (int *)piVar16[1];\n            if (uVar21 == 0) {\n              trap(7);\n            }\n            pcVar38 = *(code **)(puVar36 + 0x30b08c);\n            piVar18 = piVar12;\n          } while (uVar39 == (uint)piVar11 % uVar21);\n        }\n        puVar13 = (undefined4 *)(*pcVar38)(0xc);\n        *puVar13 = 0;\n        puVar13[1] = piVar29;\n        puVar13[2] = 0;\n        (*pcStack_6c)(piStack_70,piVar17,uVar39,piVar29,puVar13,1);\n        iVar15 = iStack_80;\nLAB_00127520:\n        puVar33 = puVar33 + 1;\n        puVar13 = *(undefined4 **)(puStack_7c + 0x134);\n        *(int **)(iVar15 + 8) = piVar9;\n      } while (puVar13 != puVar33);\n    }\n    return;\n  }" { (expression_statement "piVar17 = (int *)&DAT_00000973;" (assignment_expression "piVar17 = (int *)&DAT_00000973" identifier = (cast_expression "(int *)&DAT_00000973" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000973" & identifier))) ;) (expression_statement "puVar14 = PTR_s_alize_xindex_004323b4 + -0x2c4c;" (assignment_expression "puVar14 = PTR_s_alize_xindex_004323b4 + -0x2c4c" identifier = (binary_expression "PTR_s_alize_xindex_004323b4 + -0x2c4c" identifier + number_literal)) ;) (expression_statement "puVar36 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar36 = PTR_do_gold_unreachable_004323c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar14,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4)\n    ;" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar14,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4)" (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 "(puVar14,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4)" ( identifier , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + -0x16f4" identifier + number_literal) ))) ;) (expression_statement "puVar33 = *(undefined4 **)(puVar14 + 0x130);" (assignment_expression "puVar33 = *(undefined4 **)(puVar14 + 0x130)" identifier = (pointer_expression "*(undefined4 **)(puVar14 + 0x130)" * (cast_expression "(undefined4 **)(puVar14 + 0x130)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + 0x130)" ( (binary_expression "puVar14 + 0x130" identifier + number_literal) ))))) ;) (if_statement "if (puVar33 != *(undefined4 **)(puVar14 + 0x134)) {\n      pcStack_6c = *(code **)(puVar36 + 0x30bd6c);\n      piStack_70 = &iStack_80;\n      puStack_7c = puVar14;\n      do {\n        iVar15 = 0x1a8;\n        piVar29 = (int *)*puVar33;\n        iVar34 = 0x1c;\n        piVar9 = (int *)(**(code **)(puVar36 + 0x30b08c))(0x1a8);\n        piVar18 = piVar9;\n        piVar16 = piVar29;\n        do {\n          iVar10 = *piVar16;\n          iVar31 = piVar16[1];\n          *piVar18 = 0;\n          piVar18[1] = 0;\n          iVar31 = iVar31 - iVar10;\n          piVar18[2] = 0;\n          if (iVar31 >> 2 == 0) {\n            iVar10 = 0;\n          }\n          else {\n            if (0x3fffffff < (uint)(iVar31 >> 2)) {\n              (**(code **)(puVar36 + 0x30b154))();\n              piVar17 = piVar9 + (0x1c - iVar34) * 3;\n              do {\n                do {\n                  if (piVar9 == piVar17) {\n                    (**(code **)(puVar36 + 0x30b110))(piVar9,0x1a8);\n                    (**(code **)(puVar36 + 0x30afa8))(iVar15);\n                  }\n                  piVar17 = piVar17 + -3;\n                } while (*piVar17 == 0);\n                (**(code **)(puVar36 + 0x30afdc))();\n              } while( true );\n            }\n            iVar15 = iVar31;\n            iVar10 = (**(code **)(puVar36 + 0x30b08c))();\n          }\n          *piVar18 = iVar10;\n          piVar18[1] = iVar10;\n          piVar18[2] = iVar10 + iVar31;\n          iVar31 = *piVar16;\n          iVar30 = piVar16[1] - iVar31;\n          if (iVar31 != piVar16[1]) {\n            iVar15 = iVar10;\n            iVar10 = (**(code **)(puVar36 + 0x30f428))(iVar10,iVar31,iVar30);\n          }\n          piVar11 = piVar18 + 3;\n          iVar34 = iVar34 + -1;\n          piVar18[1] = iVar10 + iVar30;\n          piVar16 = piVar16 + 3;\n          piVar18 = piVar11;\n        } while (piVar9 + 0x57 != piVar11);\n        uVar21 = piVar17[1];\n        bVar3 = *(byte *)(piVar9 + 0x68);\n        if (uVar21 == 0) {\n          trap(7);\n        }\n        uVar39 = (uint)piVar29 % uVar21;\n        iStack_74 = piVar29[0x5d];\n        iStack_78 = piVar29[0x5c];\n        iVar31 = piVar29[0x5b];\n        bVar4 = (byte)(((uint)piVar29[0x68] >> 0x1f) << 7);\n        iVar24 = piVar29[0x5f];\n        iVar23 = piVar29[0x5e];\n        iVar26 = piVar29[0x61];\n        iVar25 = piVar29[0x60];\n        iVar28 = piVar29[99];\n        iVar27 = piVar29[0x62];\n        iVar22 = piVar29[0x59];\n        iVar30 = piVar29[0x58];\n        iVar10 = piVar29[0x5a];\n        iVar37 = piVar29[0x66];\n        iVar32 = piVar29[0x67];\n        iVar34 = piVar29[0x65];\n        iVar15 = piVar29[100];\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x7f | bVar4;\n        piVar9[0x65] = iVar34;\n        iVar35 = piVar29[0x68];\n        iVar34 = *piVar17;\n        piVar9[100] = iVar15;\n        piVar9[0x5b] = iVar31;\n        piVar9[0x59] = iVar22;\n        bVar5 = (byte)(((uint)(iVar35 << 1) >> 0x1f) << 6);\n        piVar9[0x58] = iVar30;\n        piVar9[0x5a] = iVar10;\n        piVar9[0x5d] = iStack_74;\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x3f | bVar4 | bVar5;\n        piVar9[0x5c] = iStack_78;\n        iVar15 = piVar29[0x68];\n        piVar9[0x5f] = iVar24;\n        piVar9[0x5e] = iVar23;\n        piVar9[0x61] = iVar26;\n        piVar9[0x60] = iVar25;\n        bVar6 = (byte)(((uint)(iVar15 << 2) >> 0x1f) << 5);\n        piVar9[99] = iVar28;\n        piVar9[0x62] = iVar27;\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x1f | bVar4 | bVar5 | bVar6;\n        iVar15 = piVar29[0x68];\n        piVar9[0x66] = iVar37;\n        piVar9[0x67] = iVar32;\n        *(byte *)(piVar9 + 0x68) =\n             bVar3 & 0xf | bVar4 | bVar5 | bVar6 | (byte)(((uint)(iVar15 << 3) >> 0x1f) << 4);\n        piVar18 = *(int **)(iVar34 + uVar39 * 4);\n        pcVar38 = *(code **)(puVar36 + 0x30b08c);\n        if (piVar18 != (int *)0x0) {\n          piVar11 = (int *)((int *)*piVar18)[1];\n          piVar16 = (int *)*piVar18;\n          do {\n            piVar12 = piVar16;\n            if (piVar29 == piVar11) {\n              iVar15 = *piVar18;\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              if (iVar15 != 0) goto LAB_00127520;\n              break;\n            }\n            piVar16 = (int *)*piVar12;\n            if (piVar16 == (int *)0x0) {\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              break;\n            }\n            piVar11 = (int *)piVar16[1];\n            if (uVar21 == 0) {\n              trap(7);\n            }\n            pcVar38 = *(code **)(puVar36 + 0x30b08c);\n            piVar18 = piVar12;\n          } while (uVar39 == (uint)piVar11 % uVar21);\n        }\n        puVar13 = (undefined4 *)(*pcVar38)(0xc);\n        *puVar13 = 0;\n        puVar13[1] = piVar29;\n        puVar13[2] = 0;\n        (*pcStack_6c)(piStack_70,piVar17,uVar39,piVar29,puVar13,1);\n        iVar15 = iStack_80;\nLAB_00127520:\n        puVar33 = puVar33 + 1;\n        puVar13 = *(undefined4 **)(puStack_7c + 0x134);\n        *(int **)(iVar15 + 8) = piVar9;\n      } while (puVar13 != puVar33);\n    }" if (parenthesized_expression "(puVar33 != *(undefined4 **)(puVar14 + 0x134))" ( (binary_expression "puVar33 != *(undefined4 **)(puVar14 + 0x134)" identifier != (pointer_expression "*(undefined4 **)(puVar14 + 0x134)" * (cast_expression "(undefined4 **)(puVar14 + 0x134)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + 0x134)" ( (binary_expression "puVar14 + 0x134" identifier + number_literal) ))))) )) (compound_statement "{\n      pcStack_6c = *(code **)(puVar36 + 0x30bd6c);\n      piStack_70 = &iStack_80;\n      puStack_7c = puVar14;\n      do {\n        iVar15 = 0x1a8;\n        piVar29 = (int *)*puVar33;\n        iVar34 = 0x1c;\n        piVar9 = (int *)(**(code **)(puVar36 + 0x30b08c))(0x1a8);\n        piVar18 = piVar9;\n        piVar16 = piVar29;\n        do {\n          iVar10 = *piVar16;\n          iVar31 = piVar16[1];\n          *piVar18 = 0;\n          piVar18[1] = 0;\n          iVar31 = iVar31 - iVar10;\n          piVar18[2] = 0;\n          if (iVar31 >> 2 == 0) {\n            iVar10 = 0;\n          }\n          else {\n            if (0x3fffffff < (uint)(iVar31 >> 2)) {\n              (**(code **)(puVar36 + 0x30b154))();\n              piVar17 = piVar9 + (0x1c - iVar34) * 3;\n              do {\n                do {\n                  if (piVar9 == piVar17) {\n                    (**(code **)(puVar36 + 0x30b110))(piVar9,0x1a8);\n                    (**(code **)(puVar36 + 0x30afa8))(iVar15);\n                  }\n                  piVar17 = piVar17 + -3;\n                } while (*piVar17 == 0);\n                (**(code **)(puVar36 + 0x30afdc))();\n              } while( true );\n            }\n            iVar15 = iVar31;\n            iVar10 = (**(code **)(puVar36 + 0x30b08c))();\n          }\n          *piVar18 = iVar10;\n          piVar18[1] = iVar10;\n          piVar18[2] = iVar10 + iVar31;\n          iVar31 = *piVar16;\n          iVar30 = piVar16[1] - iVar31;\n          if (iVar31 != piVar16[1]) {\n            iVar15 = iVar10;\n            iVar10 = (**(code **)(puVar36 + 0x30f428))(iVar10,iVar31,iVar30);\n          }\n          piVar11 = piVar18 + 3;\n          iVar34 = iVar34 + -1;\n          piVar18[1] = iVar10 + iVar30;\n          piVar16 = piVar16 + 3;\n          piVar18 = piVar11;\n        } while (piVar9 + 0x57 != piVar11);\n        uVar21 = piVar17[1];\n        bVar3 = *(byte *)(piVar9 + 0x68);\n        if (uVar21 == 0) {\n          trap(7);\n        }\n        uVar39 = (uint)piVar29 % uVar21;\n        iStack_74 = piVar29[0x5d];\n        iStack_78 = piVar29[0x5c];\n        iVar31 = piVar29[0x5b];\n        bVar4 = (byte)(((uint)piVar29[0x68] >> 0x1f) << 7);\n        iVar24 = piVar29[0x5f];\n        iVar23 = piVar29[0x5e];\n        iVar26 = piVar29[0x61];\n        iVar25 = piVar29[0x60];\n        iVar28 = piVar29[99];\n        iVar27 = piVar29[0x62];\n        iVar22 = piVar29[0x59];\n        iVar30 = piVar29[0x58];\n        iVar10 = piVar29[0x5a];\n        iVar37 = piVar29[0x66];\n        iVar32 = piVar29[0x67];\n        iVar34 = piVar29[0x65];\n        iVar15 = piVar29[100];\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x7f | bVar4;\n        piVar9[0x65] = iVar34;\n        iVar35 = piVar29[0x68];\n        iVar34 = *piVar17;\n        piVar9[100] = iVar15;\n        piVar9[0x5b] = iVar31;\n        piVar9[0x59] = iVar22;\n        bVar5 = (byte)(((uint)(iVar35 << 1) >> 0x1f) << 6);\n        piVar9[0x58] = iVar30;\n        piVar9[0x5a] = iVar10;\n        piVar9[0x5d] = iStack_74;\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x3f | bVar4 | bVar5;\n        piVar9[0x5c] = iStack_78;\n        iVar15 = piVar29[0x68];\n        piVar9[0x5f] = iVar24;\n        piVar9[0x5e] = iVar23;\n        piVar9[0x61] = iVar26;\n        piVar9[0x60] = iVar25;\n        bVar6 = (byte)(((uint)(iVar15 << 2) >> 0x1f) << 5);\n        piVar9[99] = iVar28;\n        piVar9[0x62] = iVar27;\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x1f | bVar4 | bVar5 | bVar6;\n        iVar15 = piVar29[0x68];\n        piVar9[0x66] = iVar37;\n        piVar9[0x67] = iVar32;\n        *(byte *)(piVar9 + 0x68) =\n             bVar3 & 0xf | bVar4 | bVar5 | bVar6 | (byte)(((uint)(iVar15 << 3) >> 0x1f) << 4);\n        piVar18 = *(int **)(iVar34 + uVar39 * 4);\n        pcVar38 = *(code **)(puVar36 + 0x30b08c);\n        if (piVar18 != (int *)0x0) {\n          piVar11 = (int *)((int *)*piVar18)[1];\n          piVar16 = (int *)*piVar18;\n          do {\n            piVar12 = piVar16;\n            if (piVar29 == piVar11) {\n              iVar15 = *piVar18;\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              if (iVar15 != 0) goto LAB_00127520;\n              break;\n            }\n            piVar16 = (int *)*piVar12;\n            if (piVar16 == (int *)0x0) {\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              break;\n            }\n            piVar11 = (int *)piVar16[1];\n            if (uVar21 == 0) {\n              trap(7);\n            }\n            pcVar38 = *(code **)(puVar36 + 0x30b08c);\n            piVar18 = piVar12;\n          } while (uVar39 == (uint)piVar11 % uVar21);\n        }\n        puVar13 = (undefined4 *)(*pcVar38)(0xc);\n        *puVar13 = 0;\n        puVar13[1] = piVar29;\n        puVar13[2] = 0;\n        (*pcStack_6c)(piStack_70,piVar17,uVar39,piVar29,puVar13,1);\n        iVar15 = iStack_80;\nLAB_00127520:\n        puVar33 = puVar33 + 1;\n        puVar13 = *(undefined4 **)(puStack_7c + 0x134);\n        *(int **)(iVar15 + 8) = piVar9;\n      } while (puVar13 != puVar33);\n    }" { (expression_statement "pcStack_6c = *(code **)(puVar36 + 0x30bd6c);" (assignment_expression "pcStack_6c = *(code **)(puVar36 + 0x30bd6c)" identifier = (pointer_expression "*(code **)(puVar36 + 0x30bd6c)" * (cast_expression "(code **)(puVar36 + 0x30bd6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + 0x30bd6c)" ( (binary_expression "puVar36 + 0x30bd6c" identifier + number_literal) ))))) ;) (expression_statement "piStack_70 = &iStack_80;" (assignment_expression "piStack_70 = &iStack_80" identifier = (pointer_expression "&iStack_80" & identifier)) ;) (expression_statement "puStack_7c = puVar14;" (assignment_expression "puStack_7c = puVar14" identifier = identifier) ;) (do_statement "do {\n        iVar15 = 0x1a8;\n        piVar29 = (int *)*puVar33;\n        iVar34 = 0x1c;\n        piVar9 = (int *)(**(code **)(puVar36 + 0x30b08c))(0x1a8);\n        piVar18 = piVar9;\n        piVar16 = piVar29;\n        do {\n          iVar10 = *piVar16;\n          iVar31 = piVar16[1];\n          *piVar18 = 0;\n          piVar18[1] = 0;\n          iVar31 = iVar31 - iVar10;\n          piVar18[2] = 0;\n          if (iVar31 >> 2 == 0) {\n            iVar10 = 0;\n          }\n          else {\n            if (0x3fffffff < (uint)(iVar31 >> 2)) {\n              (**(code **)(puVar36 + 0x30b154))();\n              piVar17 = piVar9 + (0x1c - iVar34) * 3;\n              do {\n                do {\n                  if (piVar9 == piVar17) {\n                    (**(code **)(puVar36 + 0x30b110))(piVar9,0x1a8);\n                    (**(code **)(puVar36 + 0x30afa8))(iVar15);\n                  }\n                  piVar17 = piVar17 + -3;\n                } while (*piVar17 == 0);\n                (**(code **)(puVar36 + 0x30afdc))();\n              } while( true );\n            }\n            iVar15 = iVar31;\n            iVar10 = (**(code **)(puVar36 + 0x30b08c))();\n          }\n          *piVar18 = iVar10;\n          piVar18[1] = iVar10;\n          piVar18[2] = iVar10 + iVar31;\n          iVar31 = *piVar16;\n          iVar30 = piVar16[1] - iVar31;\n          if (iVar31 != piVar16[1]) {\n            iVar15 = iVar10;\n            iVar10 = (**(code **)(puVar36 + 0x30f428))(iVar10,iVar31,iVar30);\n          }\n          piVar11 = piVar18 + 3;\n          iVar34 = iVar34 + -1;\n          piVar18[1] = iVar10 + iVar30;\n          piVar16 = piVar16 + 3;\n          piVar18 = piVar11;\n        } while (piVar9 + 0x57 != piVar11);\n        uVar21 = piVar17[1];\n        bVar3 = *(byte *)(piVar9 + 0x68);\n        if (uVar21 == 0) {\n          trap(7);\n        }\n        uVar39 = (uint)piVar29 % uVar21;\n        iStack_74 = piVar29[0x5d];\n        iStack_78 = piVar29[0x5c];\n        iVar31 = piVar29[0x5b];\n        bVar4 = (byte)(((uint)piVar29[0x68] >> 0x1f) << 7);\n        iVar24 = piVar29[0x5f];\n        iVar23 = piVar29[0x5e];\n        iVar26 = piVar29[0x61];\n        iVar25 = piVar29[0x60];\n        iVar28 = piVar29[99];\n        iVar27 = piVar29[0x62];\n        iVar22 = piVar29[0x59];\n        iVar30 = piVar29[0x58];\n        iVar10 = piVar29[0x5a];\n        iVar37 = piVar29[0x66];\n        iVar32 = piVar29[0x67];\n        iVar34 = piVar29[0x65];\n        iVar15 = piVar29[100];\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x7f | bVar4;\n        piVar9[0x65] = iVar34;\n        iVar35 = piVar29[0x68];\n        iVar34 = *piVar17;\n        piVar9[100] = iVar15;\n        piVar9[0x5b] = iVar31;\n        piVar9[0x59] = iVar22;\n        bVar5 = (byte)(((uint)(iVar35 << 1) >> 0x1f) << 6);\n        piVar9[0x58] = iVar30;\n        piVar9[0x5a] = iVar10;\n        piVar9[0x5d] = iStack_74;\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x3f | bVar4 | bVar5;\n        piVar9[0x5c] = iStack_78;\n        iVar15 = piVar29[0x68];\n        piVar9[0x5f] = iVar24;\n        piVar9[0x5e] = iVar23;\n        piVar9[0x61] = iVar26;\n        piVar9[0x60] = iVar25;\n        bVar6 = (byte)(((uint)(iVar15 << 2) >> 0x1f) << 5);\n        piVar9[99] = iVar28;\n        piVar9[0x62] = iVar27;\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x1f | bVar4 | bVar5 | bVar6;\n        iVar15 = piVar29[0x68];\n        piVar9[0x66] = iVar37;\n        piVar9[0x67] = iVar32;\n        *(byte *)(piVar9 + 0x68) =\n             bVar3 & 0xf | bVar4 | bVar5 | bVar6 | (byte)(((uint)(iVar15 << 3) >> 0x1f) << 4);\n        piVar18 = *(int **)(iVar34 + uVar39 * 4);\n        pcVar38 = *(code **)(puVar36 + 0x30b08c);\n        if (piVar18 != (int *)0x0) {\n          piVar11 = (int *)((int *)*piVar18)[1];\n          piVar16 = (int *)*piVar18;\n          do {\n            piVar12 = piVar16;\n            if (piVar29 == piVar11) {\n              iVar15 = *piVar18;\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              if (iVar15 != 0) goto LAB_00127520;\n              break;\n            }\n            piVar16 = (int *)*piVar12;\n            if (piVar16 == (int *)0x0) {\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              break;\n            }\n            piVar11 = (int *)piVar16[1];\n            if (uVar21 == 0) {\n              trap(7);\n            }\n            pcVar38 = *(code **)(puVar36 + 0x30b08c);\n            piVar18 = piVar12;\n          } while (uVar39 == (uint)piVar11 % uVar21);\n        }\n        puVar13 = (undefined4 *)(*pcVar38)(0xc);\n        *puVar13 = 0;\n        puVar13[1] = piVar29;\n        puVar13[2] = 0;\n        (*pcStack_6c)(piStack_70,piVar17,uVar39,piVar29,puVar13,1);\n        iVar15 = iStack_80;\nLAB_00127520:\n        puVar33 = puVar33 + 1;\n        puVar13 = *(undefined4 **)(puStack_7c + 0x134);\n        *(int **)(iVar15 + 8) = piVar9;\n      } while (puVar13 != puVar33);" do (compound_statement "{\n        iVar15 = 0x1a8;\n        piVar29 = (int *)*puVar33;\n        iVar34 = 0x1c;\n        piVar9 = (int *)(**(code **)(puVar36 + 0x30b08c))(0x1a8);\n        piVar18 = piVar9;\n        piVar16 = piVar29;\n        do {\n          iVar10 = *piVar16;\n          iVar31 = piVar16[1];\n          *piVar18 = 0;\n          piVar18[1] = 0;\n          iVar31 = iVar31 - iVar10;\n          piVar18[2] = 0;\n          if (iVar31 >> 2 == 0) {\n            iVar10 = 0;\n          }\n          else {\n            if (0x3fffffff < (uint)(iVar31 >> 2)) {\n              (**(code **)(puVar36 + 0x30b154))();\n              piVar17 = piVar9 + (0x1c - iVar34) * 3;\n              do {\n                do {\n                  if (piVar9 == piVar17) {\n                    (**(code **)(puVar36 + 0x30b110))(piVar9,0x1a8);\n                    (**(code **)(puVar36 + 0x30afa8))(iVar15);\n                  }\n                  piVar17 = piVar17 + -3;\n                } while (*piVar17 == 0);\n                (**(code **)(puVar36 + 0x30afdc))();\n              } while( true );\n            }\n            iVar15 = iVar31;\n            iVar10 = (**(code **)(puVar36 + 0x30b08c))();\n          }\n          *piVar18 = iVar10;\n          piVar18[1] = iVar10;\n          piVar18[2] = iVar10 + iVar31;\n          iVar31 = *piVar16;\n          iVar30 = piVar16[1] - iVar31;\n          if (iVar31 != piVar16[1]) {\n            iVar15 = iVar10;\n            iVar10 = (**(code **)(puVar36 + 0x30f428))(iVar10,iVar31,iVar30);\n          }\n          piVar11 = piVar18 + 3;\n          iVar34 = iVar34 + -1;\n          piVar18[1] = iVar10 + iVar30;\n          piVar16 = piVar16 + 3;\n          piVar18 = piVar11;\n        } while (piVar9 + 0x57 != piVar11);\n        uVar21 = piVar17[1];\n        bVar3 = *(byte *)(piVar9 + 0x68);\n        if (uVar21 == 0) {\n          trap(7);\n        }\n        uVar39 = (uint)piVar29 % uVar21;\n        iStack_74 = piVar29[0x5d];\n        iStack_78 = piVar29[0x5c];\n        iVar31 = piVar29[0x5b];\n        bVar4 = (byte)(((uint)piVar29[0x68] >> 0x1f) << 7);\n        iVar24 = piVar29[0x5f];\n        iVar23 = piVar29[0x5e];\n        iVar26 = piVar29[0x61];\n        iVar25 = piVar29[0x60];\n        iVar28 = piVar29[99];\n        iVar27 = piVar29[0x62];\n        iVar22 = piVar29[0x59];\n        iVar30 = piVar29[0x58];\n        iVar10 = piVar29[0x5a];\n        iVar37 = piVar29[0x66];\n        iVar32 = piVar29[0x67];\n        iVar34 = piVar29[0x65];\n        iVar15 = piVar29[100];\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x7f | bVar4;\n        piVar9[0x65] = iVar34;\n        iVar35 = piVar29[0x68];\n        iVar34 = *piVar17;\n        piVar9[100] = iVar15;\n        piVar9[0x5b] = iVar31;\n        piVar9[0x59] = iVar22;\n        bVar5 = (byte)(((uint)(iVar35 << 1) >> 0x1f) << 6);\n        piVar9[0x58] = iVar30;\n        piVar9[0x5a] = iVar10;\n        piVar9[0x5d] = iStack_74;\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x3f | bVar4 | bVar5;\n        piVar9[0x5c] = iStack_78;\n        iVar15 = piVar29[0x68];\n        piVar9[0x5f] = iVar24;\n        piVar9[0x5e] = iVar23;\n        piVar9[0x61] = iVar26;\n        piVar9[0x60] = iVar25;\n        bVar6 = (byte)(((uint)(iVar15 << 2) >> 0x1f) << 5);\n        piVar9[99] = iVar28;\n        piVar9[0x62] = iVar27;\n        *(byte *)(piVar9 + 0x68) = bVar3 & 0x1f | bVar4 | bVar5 | bVar6;\n        iVar15 = piVar29[0x68];\n        piVar9[0x66] = iVar37;\n        piVar9[0x67] = iVar32;\n        *(byte *)(piVar9 + 0x68) =\n             bVar3 & 0xf | bVar4 | bVar5 | bVar6 | (byte)(((uint)(iVar15 << 3) >> 0x1f) << 4);\n        piVar18 = *(int **)(iVar34 + uVar39 * 4);\n        pcVar38 = *(code **)(puVar36 + 0x30b08c);\n        if (piVar18 != (int *)0x0) {\n          piVar11 = (int *)((int *)*piVar18)[1];\n          piVar16 = (int *)*piVar18;\n          do {\n            piVar12 = piVar16;\n            if (piVar29 == piVar11) {\n              iVar15 = *piVar18;\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              if (iVar15 != 0) goto LAB_00127520;\n              break;\n            }\n            piVar16 = (int *)*piVar12;\n            if (piVar16 == (int *)0x0) {\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              break;\n            }\n            piVar11 = (int *)piVar16[1];\n            if (uVar21 == 0) {\n              trap(7);\n            }\n            pcVar38 = *(code **)(puVar36 + 0x30b08c);\n            piVar18 = piVar12;\n          } while (uVar39 == (uint)piVar11 % uVar21);\n        }\n        puVar13 = (undefined4 *)(*pcVar38)(0xc);\n        *puVar13 = 0;\n        puVar13[1] = piVar29;\n        puVar13[2] = 0;\n        (*pcStack_6c)(piStack_70,piVar17,uVar39,piVar29,puVar13,1);\n        iVar15 = iStack_80;\nLAB_00127520:\n        puVar33 = puVar33 + 1;\n        puVar13 = *(undefined4 **)(puStack_7c + 0x134);\n        *(int **)(iVar15 + 8) = piVar9;\n      }" { (expression_statement "iVar15 = 0x1a8;" (assignment_expression "iVar15 = 0x1a8" identifier = number_literal) ;) (expression_statement "piVar29 = (int *)*puVar33;" (assignment_expression "piVar29 = (int *)*puVar33" identifier = (cast_expression "(int *)*puVar33" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar33" * identifier))) ;) (expression_statement "iVar34 = 0x1c;" (assignment_expression "iVar34 = 0x1c" identifier = number_literal) ;) (expression_statement "piVar9 = (int *)(**(code **)(puVar36 + 0x30b08c))(0x1a8);" (assignment_expression "piVar9 = (int *)(**(code **)(puVar36 + 0x30b08c))(0x1a8)" identifier = (cast_expression "(int *)(**(code **)(puVar36 + 0x30b08c))(0x1a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar36 + 0x30b08c))(0x1a8)" (parenthesized_expression "(**(code **)(puVar36 + 0x30b08c))" ( (pointer_expression "**(code **)(puVar36 + 0x30b08c)" * (pointer_expression "*(code **)(puVar36 + 0x30b08c)" * (cast_expression "(code **)(puVar36 + 0x30b08c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + 0x30b08c)" ( (binary_expression "puVar36 + 0x30b08c" identifier + number_literal) ))))) )) (argument_list "(0x1a8)" ( number_literal ))))) ;) (expression_statement "piVar18 = piVar9;" (assignment_expression "piVar18 = piVar9" identifier = identifier) ;) (expression_statement "piVar16 = piVar29;" (assignment_expression "piVar16 = piVar29" identifier = identifier) ;) (do_statement "do {\n          iVar10 = *piVar16;\n          iVar31 = piVar16[1];\n          *piVar18 = 0;\n          piVar18[1] = 0;\n          iVar31 = iVar31 - iVar10;\n          piVar18[2] = 0;\n          if (iVar31 >> 2 == 0) {\n            iVar10 = 0;\n          }\n          else {\n            if (0x3fffffff < (uint)(iVar31 >> 2)) {\n              (**(code **)(puVar36 + 0x30b154))();\n              piVar17 = piVar9 + (0x1c - iVar34) * 3;\n              do {\n                do {\n                  if (piVar9 == piVar17) {\n                    (**(code **)(puVar36 + 0x30b110))(piVar9,0x1a8);\n                    (**(code **)(puVar36 + 0x30afa8))(iVar15);\n                  }\n                  piVar17 = piVar17 + -3;\n                } while (*piVar17 == 0);\n                (**(code **)(puVar36 + 0x30afdc))();\n              } while( true );\n            }\n            iVar15 = iVar31;\n            iVar10 = (**(code **)(puVar36 + 0x30b08c))();\n          }\n          *piVar18 = iVar10;\n          piVar18[1] = iVar10;\n          piVar18[2] = iVar10 + iVar31;\n          iVar31 = *piVar16;\n          iVar30 = piVar16[1] - iVar31;\n          if (iVar31 != piVar16[1]) {\n            iVar15 = iVar10;\n            iVar10 = (**(code **)(puVar36 + 0x30f428))(iVar10,iVar31,iVar30);\n          }\n          piVar11 = piVar18 + 3;\n          iVar34 = iVar34 + -1;\n          piVar18[1] = iVar10 + iVar30;\n          piVar16 = piVar16 + 3;\n          piVar18 = piVar11;\n        } while (piVar9 + 0x57 != piVar11);" do (compound_statement "{\n          iVar10 = *piVar16;\n          iVar31 = piVar16[1];\n          *piVar18 = 0;\n          piVar18[1] = 0;\n          iVar31 = iVar31 - iVar10;\n          piVar18[2] = 0;\n          if (iVar31 >> 2 == 0) {\n            iVar10 = 0;\n          }\n          else {\n            if (0x3fffffff < (uint)(iVar31 >> 2)) {\n              (**(code **)(puVar36 + 0x30b154))();\n              piVar17 = piVar9 + (0x1c - iVar34) * 3;\n              do {\n                do {\n                  if (piVar9 == piVar17) {\n                    (**(code **)(puVar36 + 0x30b110))(piVar9,0x1a8);\n                    (**(code **)(puVar36 + 0x30afa8))(iVar15);\n                  }\n                  piVar17 = piVar17 + -3;\n                } while (*piVar17 == 0);\n                (**(code **)(puVar36 + 0x30afdc))();\n              } while( true );\n            }\n            iVar15 = iVar31;\n            iVar10 = (**(code **)(puVar36 + 0x30b08c))();\n          }\n          *piVar18 = iVar10;\n          piVar18[1] = iVar10;\n          piVar18[2] = iVar10 + iVar31;\n          iVar31 = *piVar16;\n          iVar30 = piVar16[1] - iVar31;\n          if (iVar31 != piVar16[1]) {\n            iVar15 = iVar10;\n            iVar10 = (**(code **)(puVar36 + 0x30f428))(iVar10,iVar31,iVar30);\n          }\n          piVar11 = piVar18 + 3;\n          iVar34 = iVar34 + -1;\n          piVar18[1] = iVar10 + iVar30;\n          piVar16 = piVar16 + 3;\n          piVar18 = piVar11;\n        }" { (expression_statement "iVar10 = *piVar16;" (assignment_expression "iVar10 = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) (expression_statement "iVar31 = piVar16[1];" (assignment_expression "iVar31 = piVar16[1]" identifier = (subscript_expression "piVar16[1]" identifier [ number_literal ])) ;) (expression_statement "*piVar18 = 0;" (assignment_expression "*piVar18 = 0" (pointer_expression "*piVar18" * identifier) = number_literal) ;) (expression_statement "piVar18[1] = 0;" (assignment_expression "piVar18[1] = 0" (subscript_expression "piVar18[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar31 = iVar31 - iVar10;" (assignment_expression "iVar31 = iVar31 - iVar10" identifier = (binary_expression "iVar31 - iVar10" identifier - identifier)) ;) (expression_statement "piVar18[2] = 0;" (assignment_expression "piVar18[2] = 0" (subscript_expression "piVar18[2]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar31 >> 2 == 0) {\n            iVar10 = 0;\n          }\n          else {\n            if (0x3fffffff < (uint)(iVar31 >> 2)) {\n              (**(code **)(puVar36 + 0x30b154))();\n              piVar17 = piVar9 + (0x1c - iVar34) * 3;\n              do {\n                do {\n                  if (piVar9 == piVar17) {\n                    (**(code **)(puVar36 + 0x30b110))(piVar9,0x1a8);\n                    (**(code **)(puVar36 + 0x30afa8))(iVar15);\n                  }\n                  piVar17 = piVar17 + -3;\n                } while (*piVar17 == 0);\n                (**(code **)(puVar36 + 0x30afdc))();\n              } while( true );\n            }\n            iVar15 = iVar31;\n            iVar10 = (**(code **)(puVar36 + 0x30b08c))();\n          }" if (parenthesized_expression "(iVar31 >> 2 == 0)" ( (binary_expression "iVar31 >> 2 == 0" (binary_expression "iVar31 >> 2" identifier >> number_literal) == number_literal) )) (compound_statement "{\n            iVar10 = 0;\n          }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            if (0x3fffffff < (uint)(iVar31 >> 2)) {\n              (**(code **)(puVar36 + 0x30b154))();\n              piVar17 = piVar9 + (0x1c - iVar34) * 3;\n              do {\n                do {\n                  if (piVar9 == piVar17) {\n                    (**(code **)(puVar36 + 0x30b110))(piVar9,0x1a8);\n                    (**(code **)(puVar36 + 0x30afa8))(iVar15);\n                  }\n                  piVar17 = piVar17 + -3;\n                } while (*piVar17 == 0);\n                (**(code **)(puVar36 + 0x30afdc))();\n              } while( true );\n            }\n            iVar15 = iVar31;\n            iVar10 = (**(code **)(puVar36 + 0x30b08c))();\n          }" else (compound_statement "{\n            if (0x3fffffff < (uint)(iVar31 >> 2)) {\n              (**(code **)(puVar36 + 0x30b154))();\n              piVar17 = piVar9 + (0x1c - iVar34) * 3;\n              do {\n                do {\n                  if (piVar9 == piVar17) {\n                    (**(code **)(puVar36 + 0x30b110))(piVar9,0x1a8);\n                    (**(code **)(puVar36 + 0x30afa8))(iVar15);\n                  }\n                  piVar17 = piVar17 + -3;\n                } while (*piVar17 == 0);\n                (**(code **)(puVar36 + 0x30afdc))();\n              } while( true );\n            }\n            iVar15 = iVar31;\n            iVar10 = (**(code **)(puVar36 + 0x30b08c))();\n          }" { (if_statement "if (0x3fffffff < (uint)(iVar31 >> 2)) {\n              (**(code **)(puVar36 + 0x30b154))();\n              piVar17 = piVar9 + (0x1c - iVar34) * 3;\n              do {\n                do {\n                  if (piVar9 == piVar17) {\n                    (**(code **)(puVar36 + 0x30b110))(piVar9,0x1a8);\n                    (**(code **)(puVar36 + 0x30afa8))(iVar15);\n                  }\n                  piVar17 = piVar17 + -3;\n                } while (*piVar17 == 0);\n                (**(code **)(puVar36 + 0x30afdc))();\n              } while( true );\n            }" if (parenthesized_expression "(0x3fffffff < (uint)(iVar31 >> 2))" ( (binary_expression "0x3fffffff < (uint)(iVar31 >> 2)" number_literal < (call_expression "(uint)(iVar31 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar31 >> 2)" ( (binary_expression "iVar31 >> 2" identifier >> number_literal) )))) )) (compound_statement "{\n              (**(code **)(puVar36 + 0x30b154))();\n              piVar17 = piVar9 + (0x1c - iVar34) * 3;\n              do {\n                do {\n                  if (piVar9 == piVar17) {\n                    (**(code **)(puVar36 + 0x30b110))(piVar9,0x1a8);\n                    (**(code **)(puVar36 + 0x30afa8))(iVar15);\n                  }\n                  piVar17 = piVar17 + -3;\n                } while (*piVar17 == 0);\n                (**(code **)(puVar36 + 0x30afdc))();\n              } while( true );\n            }" { (expression_statement "(**(code **)(puVar36 + 0x30b154))();" (call_expression "(**(code **)(puVar36 + 0x30b154))()" (parenthesized_expression "(**(code **)(puVar36 + 0x30b154))" ( (pointer_expression "**(code **)(puVar36 + 0x30b154)" * (pointer_expression "*(code **)(puVar36 + 0x30b154)" * (cast_expression "(code **)(puVar36 + 0x30b154)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + 0x30b154)" ( (binary_expression "puVar36 + 0x30b154" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "piVar17 = piVar9 + (0x1c - iVar34) * 3;" (assignment_expression "piVar17 = piVar9 + (0x1c - iVar34) * 3" identifier = (binary_expression "piVar9 + (0x1c - iVar34) * 3" identifier + (binary_expression "(0x1c - iVar34) * 3" (parenthesized_expression "(0x1c - iVar34)" ( (binary_expression "0x1c - iVar34" number_literal - identifier) )) * number_literal))) ;) (do_statement "do {\n                do {\n                  if (piVar9 == piVar17) {\n                    (**(code **)(puVar36 + 0x30b110))(piVar9,0x1a8);\n                    (**(code **)(puVar36 + 0x30afa8))(iVar15);\n                  }\n                  piVar17 = piVar17 + -3;\n                } while (*piVar17 == 0);\n                (**(code **)(puVar36 + 0x30afdc))();\n              } while( true );" do (compound_statement "{\n                do {\n                  if (piVar9 == piVar17) {\n                    (**(code **)(puVar36 + 0x30b110))(piVar9,0x1a8);\n                    (**(code **)(puVar36 + 0x30afa8))(iVar15);\n                  }\n                  piVar17 = piVar17 + -3;\n                } while (*piVar17 == 0);\n                (**(code **)(puVar36 + 0x30afdc))();\n              }" { (do_statement "do {\n                  if (piVar9 == piVar17) {\n                    (**(code **)(puVar36 + 0x30b110))(piVar9,0x1a8);\n                    (**(code **)(puVar36 + 0x30afa8))(iVar15);\n                  }\n                  piVar17 = piVar17 + -3;\n                } while (*piVar17 == 0);" do (compound_statement "{\n                  if (piVar9 == piVar17) {\n                    (**(code **)(puVar36 + 0x30b110))(piVar9,0x1a8);\n                    (**(code **)(puVar36 + 0x30afa8))(iVar15);\n                  }\n                  piVar17 = piVar17 + -3;\n                }" { (if_statement "if (piVar9 == piVar17) {\n                    (**(code **)(puVar36 + 0x30b110))(piVar9,0x1a8);\n                    (**(code **)(puVar36 + 0x30afa8))(iVar15);\n                  }" if (parenthesized_expression "(piVar9 == piVar17)" ( (binary_expression "piVar9 == piVar17" identifier == identifier) )) (compound_statement "{\n                    (**(code **)(puVar36 + 0x30b110))(piVar9,0x1a8);\n                    (**(code **)(puVar36 + 0x30afa8))(iVar15);\n                  }" { (expression_statement "(**(code **)(puVar36 + 0x30b110))(piVar9,0x1a8);" (call_expression "(**(code **)(puVar36 + 0x30b110))(piVar9,0x1a8)" (parenthesized_expression "(**(code **)(puVar36 + 0x30b110))" ( (pointer_expression "**(code **)(puVar36 + 0x30b110)" * (pointer_expression "*(code **)(puVar36 + 0x30b110)" * (cast_expression "(code **)(puVar36 + 0x30b110)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + 0x30b110)" ( (binary_expression "puVar36 + 0x30b110" identifier + number_literal) ))))) )) (argument_list "(piVar9,0x1a8)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puVar36 + 0x30afa8))(iVar15);" (call_expression "(**(code **)(puVar36 + 0x30afa8))(iVar15)" (parenthesized_expression "(**(code **)(puVar36 + 0x30afa8))" ( (pointer_expression "**(code **)(puVar36 + 0x30afa8)" * (pointer_expression "*(code **)(puVar36 + 0x30afa8)" * (cast_expression "(code **)(puVar36 + 0x30afa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + 0x30afa8)" ( (binary_expression "puVar36 + 0x30afa8" identifier + number_literal) ))))) )) (argument_list "(iVar15)" ( identifier ))) ;) })) (expression_statement "piVar17 = piVar17 + -3;" (assignment_expression "piVar17 = piVar17 + -3" identifier = (binary_expression "piVar17 + -3" identifier + number_literal)) ;) }) while (parenthesized_expression "(*piVar17 == 0)" ( (binary_expression "*piVar17 == 0" (pointer_expression "*piVar17" * identifier) == number_literal) )) ;) (expression_statement "(**(code **)(puVar36 + 0x30afdc))();" (call_expression "(**(code **)(puVar36 + 0x30afdc))()" (parenthesized_expression "(**(code **)(puVar36 + 0x30afdc))" ( (pointer_expression "**(code **)(puVar36 + 0x30afdc)" * (pointer_expression "*(code **)(puVar36 + 0x30afdc)" * (cast_expression "(code **)(puVar36 + 0x30afdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + 0x30afdc)" ( (binary_expression "puVar36 + 0x30afdc" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "iVar15 = iVar31;" (assignment_expression "iVar15 = iVar31" identifier = identifier) ;) (expression_statement "iVar10 = (**(code **)(puVar36 + 0x30b08c))();" (assignment_expression "iVar10 = (**(code **)(puVar36 + 0x30b08c))()" identifier = (call_expression "(**(code **)(puVar36 + 0x30b08c))()" (parenthesized_expression "(**(code **)(puVar36 + 0x30b08c))" ( (pointer_expression "**(code **)(puVar36 + 0x30b08c)" * (pointer_expression "*(code **)(puVar36 + 0x30b08c)" * (cast_expression "(code **)(puVar36 + 0x30b08c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + 0x30b08c)" ( (binary_expression "puVar36 + 0x30b08c" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) }))) (expression_statement "*piVar18 = iVar10;" (assignment_expression "*piVar18 = iVar10" (pointer_expression "*piVar18" * identifier) = identifier) ;) (expression_statement "piVar18[1] = iVar10;" (assignment_expression "piVar18[1] = iVar10" (subscript_expression "piVar18[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18[2] = iVar10 + iVar31;" (assignment_expression "piVar18[2] = iVar10 + iVar31" (subscript_expression "piVar18[2]" identifier [ number_literal ]) = (binary_expression "iVar10 + iVar31" identifier + identifier)) ;) (expression_statement "iVar31 = *piVar16;" (assignment_expression "iVar31 = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) (expression_statement "iVar30 = piVar16[1] - iVar31;" (assignment_expression "iVar30 = piVar16[1] - iVar31" identifier = (binary_expression "piVar16[1] - iVar31" (subscript_expression "piVar16[1]" identifier [ number_literal ]) - identifier)) ;) (if_statement "if (iVar31 != piVar16[1]) {\n            iVar15 = iVar10;\n            iVar10 = (**(code **)(puVar36 + 0x30f428))(iVar10,iVar31,iVar30);\n          }" if (parenthesized_expression "(iVar31 != piVar16[1])" ( (binary_expression "iVar31 != piVar16[1]" identifier != (subscript_expression "piVar16[1]" identifier [ number_literal ])) )) (compound_statement "{\n            iVar15 = iVar10;\n            iVar10 = (**(code **)(puVar36 + 0x30f428))(iVar10,iVar31,iVar30);\n          }" { (expression_statement "iVar15 = iVar10;" (assignment_expression "iVar15 = iVar10" identifier = identifier) ;) (expression_statement "iVar10 = (**(code **)(puVar36 + 0x30f428))(iVar10,iVar31,iVar30);" (assignment_expression "iVar10 = (**(code **)(puVar36 + 0x30f428))(iVar10,iVar31,iVar30)" identifier = (call_expression "(**(code **)(puVar36 + 0x30f428))(iVar10,iVar31,iVar30)" (parenthesized_expression "(**(code **)(puVar36 + 0x30f428))" ( (pointer_expression "**(code **)(puVar36 + 0x30f428)" * (pointer_expression "*(code **)(puVar36 + 0x30f428)" * (cast_expression "(code **)(puVar36 + 0x30f428)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + 0x30f428)" ( (binary_expression "puVar36 + 0x30f428" identifier + number_literal) ))))) )) (argument_list "(iVar10,iVar31,iVar30)" ( identifier , identifier , identifier )))) ;) })) (expression_statement "piVar11 = piVar18 + 3;" (assignment_expression "piVar11 = piVar18 + 3" identifier = (binary_expression "piVar18 + 3" identifier + number_literal)) ;) (expression_statement "iVar34 = iVar34 + -1;" (assignment_expression "iVar34 = iVar34 + -1" identifier = (binary_expression "iVar34 + -1" identifier + number_literal)) ;) (expression_statement "piVar18[1] = iVar10 + iVar30;" (assignment_expression "piVar18[1] = iVar10 + iVar30" (subscript_expression "piVar18[1]" identifier [ number_literal ]) = (binary_expression "iVar10 + iVar30" identifier + identifier)) ;) (expression_statement "piVar16 = piVar16 + 3;" (assignment_expression "piVar16 = piVar16 + 3" identifier = (binary_expression "piVar16 + 3" identifier + number_literal)) ;) (expression_statement "piVar18 = piVar11;" (assignment_expression "piVar18 = piVar11" identifier = identifier) ;) }) while (parenthesized_expression "(piVar9 + 0x57 != piVar11)" ( (binary_expression "piVar9 + 0x57 != piVar11" (binary_expression "piVar9 + 0x57" identifier + number_literal) != identifier) )) ;) (expression_statement "uVar21 = piVar17[1];" (assignment_expression "uVar21 = piVar17[1]" identifier = (subscript_expression "piVar17[1]" identifier [ number_literal ])) ;) (expression_statement "bVar3 = *(byte *)(piVar9 + 0x68);" (assignment_expression "bVar3 = *(byte *)(piVar9 + 0x68)" identifier = (pointer_expression "*(byte *)(piVar9 + 0x68)" * (cast_expression "(byte *)(piVar9 + 0x68)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 0x68)" ( (binary_expression "piVar9 + 0x68" identifier + number_literal) ))))) ;) (if_statement "if (uVar21 == 0) {\n          trap(7);\n        }" if (parenthesized_expression "(uVar21 == 0)" ( (binary_expression "uVar21 == 0" identifier == number_literal) )) (compound_statement "{\n          trap(7);\n        }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar39 = (uint)piVar29 % uVar21;" (assignment_expression "uVar39 = (uint)piVar29 % uVar21" identifier = (binary_expression "(uint)piVar29 % uVar21" (cast_expression "(uint)piVar29" ( (type_descriptor "uint" type_identifier) ) identifier) % identifier)) ;) (expression_statement "iStack_74 = piVar29[0x5d];" (assignment_expression "iStack_74 = piVar29[0x5d]" identifier = (subscript_expression "piVar29[0x5d]" identifier [ number_literal ])) ;) (expression_statement "iStack_78 = piVar29[0x5c];" (assignment_expression "iStack_78 = piVar29[0x5c]" identifier = (subscript_expression "piVar29[0x5c]" identifier [ number_literal ])) ;) (expression_statement "iVar31 = piVar29[0x5b];" (assignment_expression "iVar31 = piVar29[0x5b]" identifier = (subscript_expression "piVar29[0x5b]" identifier [ number_literal ])) ;) (expression_statement "bVar4 = (byte)(((uint)piVar29[0x68] >> 0x1f) << 7);" (assignment_expression "bVar4 = (byte)(((uint)piVar29[0x68] >> 0x1f) << 7)" identifier = (call_expression "(byte)(((uint)piVar29[0x68] >> 0x1f) << 7)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(((uint)piVar29[0x68] >> 0x1f) << 7)" ( (binary_expression "((uint)piVar29[0x68] >> 0x1f) << 7" (parenthesized_expression "((uint)piVar29[0x68] >> 0x1f)" ( (binary_expression "(uint)piVar29[0x68] >> 0x1f" (cast_expression "(uint)piVar29[0x68]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar29[0x68]" identifier [ number_literal ])) >> number_literal) )) << number_literal) )))) ;) (expression_statement "iVar24 = piVar29[0x5f];" (assignment_expression "iVar24 = piVar29[0x5f]" identifier = (subscript_expression "piVar29[0x5f]" identifier [ number_literal ])) ;) (expression_statement "iVar23 = piVar29[0x5e];" (assignment_expression "iVar23 = piVar29[0x5e]" identifier = (subscript_expression "piVar29[0x5e]" identifier [ number_literal ])) ;) (expression_statement "iVar26 = piVar29[0x61];" (assignment_expression "iVar26 = piVar29[0x61]" identifier = (subscript_expression "piVar29[0x61]" identifier [ number_literal ])) ;) (expression_statement "iVar25 = piVar29[0x60];" (assignment_expression "iVar25 = piVar29[0x60]" identifier = (subscript_expression "piVar29[0x60]" identifier [ number_literal ])) ;) (expression_statement "iVar28 = piVar29[99];" (assignment_expression "iVar28 = piVar29[99]" identifier = (subscript_expression "piVar29[99]" identifier [ number_literal ])) ;) (expression_statement "iVar27 = piVar29[0x62];" (assignment_expression "iVar27 = piVar29[0x62]" identifier = (subscript_expression "piVar29[0x62]" identifier [ number_literal ])) ;) (expression_statement "iVar22 = piVar29[0x59];" (assignment_expression "iVar22 = piVar29[0x59]" identifier = (subscript_expression "piVar29[0x59]" identifier [ number_literal ])) ;) (expression_statement "iVar30 = piVar29[0x58];" (assignment_expression "iVar30 = piVar29[0x58]" identifier = (subscript_expression "piVar29[0x58]" identifier [ number_literal ])) ;) (expression_statement "iVar10 = piVar29[0x5a];" (assignment_expression "iVar10 = piVar29[0x5a]" identifier = (subscript_expression "piVar29[0x5a]" identifier [ number_literal ])) ;) (expression_statement "iVar37 = piVar29[0x66];" (assignment_expression "iVar37 = piVar29[0x66]" identifier = (subscript_expression "piVar29[0x66]" identifier [ number_literal ])) ;) (expression_statement "iVar32 = piVar29[0x67];" (assignment_expression "iVar32 = piVar29[0x67]" identifier = (subscript_expression "piVar29[0x67]" identifier [ number_literal ])) ;) (expression_statement "iVar34 = piVar29[0x65];" (assignment_expression "iVar34 = piVar29[0x65]" identifier = (subscript_expression "piVar29[0x65]" identifier [ number_literal ])) ;) (expression_statement "iVar15 = piVar29[100];" (assignment_expression "iVar15 = piVar29[100]" identifier = (subscript_expression "piVar29[100]" identifier [ number_literal ])) ;) (expression_statement "*(byte *)(piVar9 + 0x68) = bVar3 & 0x7f | bVar4;" (assignment_expression "*(byte *)(piVar9 + 0x68) = bVar3 & 0x7f | bVar4" (pointer_expression "*(byte *)(piVar9 + 0x68)" * (cast_expression "(byte *)(piVar9 + 0x68)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 0x68)" ( (binary_expression "piVar9 + 0x68" identifier + number_literal) )))) = (binary_expression "bVar3 & 0x7f | bVar4" (binary_expression "bVar3 & 0x7f" identifier & number_literal) | identifier)) ;) (expression_statement "piVar9[0x65] = iVar34;" (assignment_expression "piVar9[0x65] = iVar34" (subscript_expression "piVar9[0x65]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar35 = piVar29[0x68];" (assignment_expression "iVar35 = piVar29[0x68]" identifier = (subscript_expression "piVar29[0x68]" identifier [ number_literal ])) ;) (expression_statement "iVar34 = *piVar17;" (assignment_expression "iVar34 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (expression_statement "piVar9[100] = iVar15;" (assignment_expression "piVar9[100] = iVar15" (subscript_expression "piVar9[100]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[0x5b] = iVar31;" (assignment_expression "piVar9[0x5b] = iVar31" (subscript_expression "piVar9[0x5b]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[0x59] = iVar22;" (assignment_expression "piVar9[0x59] = iVar22" (subscript_expression "piVar9[0x59]" identifier [ number_literal ]) = identifier) ;) (expression_statement "bVar5 = (byte)(((uint)(iVar35 << 1) >> 0x1f) << 6);" (assignment_expression "bVar5 = (byte)(((uint)(iVar35 << 1) >> 0x1f) << 6)" identifier = (call_expression "(byte)(((uint)(iVar35 << 1) >> 0x1f) << 6)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(((uint)(iVar35 << 1) >> 0x1f) << 6)" ( (binary_expression "((uint)(iVar35 << 1) >> 0x1f) << 6" (parenthesized_expression "((uint)(iVar35 << 1) >> 0x1f)" ( (binary_expression "(uint)(iVar35 << 1) >> 0x1f" (call_expression "(uint)(iVar35 << 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar35 << 1)" ( (binary_expression "iVar35 << 1" identifier << number_literal) ))) >> number_literal) )) << number_literal) )))) ;) (expression_statement "piVar9[0x58] = iVar30;" (assignment_expression "piVar9[0x58] = iVar30" (subscript_expression "piVar9[0x58]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[0x5a] = iVar10;" (assignment_expression "piVar9[0x5a] = iVar10" (subscript_expression "piVar9[0x5a]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[0x5d] = iStack_74;" (assignment_expression "piVar9[0x5d] = iStack_74" (subscript_expression "piVar9[0x5d]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(byte *)(piVar9 + 0x68) = bVar3 & 0x3f | bVar4 | bVar5;" (assignment_expression "*(byte *)(piVar9 + 0x68) = bVar3 & 0x3f | bVar4 | bVar5" (pointer_expression "*(byte *)(piVar9 + 0x68)" * (cast_expression "(byte *)(piVar9 + 0x68)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 0x68)" ( (binary_expression "piVar9 + 0x68" identifier + number_literal) )))) = (binary_expression "bVar3 & 0x3f | bVar4 | bVar5" (binary_expression "bVar3 & 0x3f | bVar4" (binary_expression "bVar3 & 0x3f" identifier & number_literal) | identifier) | identifier)) ;) (expression_statement "piVar9[0x5c] = iStack_78;" (assignment_expression "piVar9[0x5c] = iStack_78" (subscript_expression "piVar9[0x5c]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar15 = piVar29[0x68];" (assignment_expression "iVar15 = piVar29[0x68]" identifier = (subscript_expression "piVar29[0x68]" identifier [ number_literal ])) ;) (expression_statement "piVar9[0x5f] = iVar24;" (assignment_expression "piVar9[0x5f] = iVar24" (subscript_expression "piVar9[0x5f]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[0x5e] = iVar23;" (assignment_expression "piVar9[0x5e] = iVar23" (subscript_expression "piVar9[0x5e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[0x61] = iVar26;" (assignment_expression "piVar9[0x61] = iVar26" (subscript_expression "piVar9[0x61]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[0x60] = iVar25;" (assignment_expression "piVar9[0x60] = iVar25" (subscript_expression "piVar9[0x60]" identifier [ number_literal ]) = identifier) ;) (expression_statement "bVar6 = (byte)(((uint)(iVar15 << 2) >> 0x1f) << 5);" (assignment_expression "bVar6 = (byte)(((uint)(iVar15 << 2) >> 0x1f) << 5)" identifier = (call_expression "(byte)(((uint)(iVar15 << 2) >> 0x1f) << 5)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(((uint)(iVar15 << 2) >> 0x1f) << 5)" ( (binary_expression "((uint)(iVar15 << 2) >> 0x1f) << 5" (parenthesized_expression "((uint)(iVar15 << 2) >> 0x1f)" ( (binary_expression "(uint)(iVar15 << 2) >> 0x1f" (call_expression "(uint)(iVar15 << 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar15 << 2)" ( (binary_expression "iVar15 << 2" identifier << number_literal) ))) >> number_literal) )) << number_literal) )))) ;) (expression_statement "piVar9[99] = iVar28;" (assignment_expression "piVar9[99] = iVar28" (subscript_expression "piVar9[99]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[0x62] = iVar27;" (assignment_expression "piVar9[0x62] = iVar27" (subscript_expression "piVar9[0x62]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(byte *)(piVar9 + 0x68) = bVar3 & 0x1f | bVar4 | bVar5 | bVar6;" (assignment_expression "*(byte *)(piVar9 + 0x68) = bVar3 & 0x1f | bVar4 | bVar5 | bVar6" (pointer_expression "*(byte *)(piVar9 + 0x68)" * (cast_expression "(byte *)(piVar9 + 0x68)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 0x68)" ( (binary_expression "piVar9 + 0x68" identifier + number_literal) )))) = (binary_expression "bVar3 & 0x1f | bVar4 | bVar5 | bVar6" (binary_expression "bVar3 & 0x1f | bVar4 | bVar5" (binary_expression "bVar3 & 0x1f | bVar4" (binary_expression "bVar3 & 0x1f" identifier & number_literal) | identifier) | identifier) | identifier)) ;) (expression_statement "iVar15 = piVar29[0x68];" (assignment_expression "iVar15 = piVar29[0x68]" identifier = (subscript_expression "piVar29[0x68]" identifier [ number_literal ])) ;) (expression_statement "piVar9[0x66] = iVar37;" (assignment_expression "piVar9[0x66] = iVar37" (subscript_expression "piVar9[0x66]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[0x67] = iVar32;" (assignment_expression "piVar9[0x67] = iVar32" (subscript_expression "piVar9[0x67]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(byte *)(piVar9 + 0x68) =\n             bVar3 & 0xf | bVar4 | bVar5 | bVar6 | (byte)(((uint)(iVar15 << 3) >> 0x1f) << 4);" (assignment_expression "*(byte *)(piVar9 + 0x68) =\n             bVar3 & 0xf | bVar4 | bVar5 | bVar6 | (byte)(((uint)(iVar15 << 3) >> 0x1f) << 4)" (pointer_expression "*(byte *)(piVar9 + 0x68)" * (cast_expression "(byte *)(piVar9 + 0x68)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 0x68)" ( (binary_expression "piVar9 + 0x68" identifier + number_literal) )))) = (binary_expression "bVar3 & 0xf | bVar4 | bVar5 | bVar6 | (byte)(((uint)(iVar15 << 3) >> 0x1f) << 4)" (binary_expression "bVar3 & 0xf | bVar4 | bVar5 | bVar6" (binary_expression "bVar3 & 0xf | bVar4 | bVar5" (binary_expression "bVar3 & 0xf | bVar4" (binary_expression "bVar3 & 0xf" identifier & number_literal) | identifier) | identifier) | identifier) | (call_expression "(byte)(((uint)(iVar15 << 3) >> 0x1f) << 4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(((uint)(iVar15 << 3) >> 0x1f) << 4)" ( (binary_expression "((uint)(iVar15 << 3) >> 0x1f) << 4" (parenthesized_expression "((uint)(iVar15 << 3) >> 0x1f)" ( (binary_expression "(uint)(iVar15 << 3) >> 0x1f" (call_expression "(uint)(iVar15 << 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar15 << 3)" ( (binary_expression "iVar15 << 3" identifier << number_literal) ))) >> number_literal) )) << number_literal) ))))) ;) (expression_statement "piVar18 = *(int **)(iVar34 + uVar39 * 4);" (assignment_expression "piVar18 = *(int **)(iVar34 + uVar39 * 4)" identifier = (pointer_expression "*(int **)(iVar34 + uVar39 * 4)" * (cast_expression "(int **)(iVar34 + uVar39 * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar34 + uVar39 * 4)" ( (binary_expression "iVar34 + uVar39 * 4" identifier + (binary_expression "uVar39 * 4" identifier * number_literal)) ))))) ;) (expression_statement "pcVar38 = *(code **)(puVar36 + 0x30b08c);" (assignment_expression "pcVar38 = *(code **)(puVar36 + 0x30b08c)" identifier = (pointer_expression "*(code **)(puVar36 + 0x30b08c)" * (cast_expression "(code **)(puVar36 + 0x30b08c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + 0x30b08c)" ( (binary_expression "puVar36 + 0x30b08c" identifier + number_literal) ))))) ;) (if_statement "if (piVar18 != (int *)0x0) {\n          piVar11 = (int *)((int *)*piVar18)[1];\n          piVar16 = (int *)*piVar18;\n          do {\n            piVar12 = piVar16;\n            if (piVar29 == piVar11) {\n              iVar15 = *piVar18;\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              if (iVar15 != 0) goto LAB_00127520;\n              break;\n            }\n            piVar16 = (int *)*piVar12;\n            if (piVar16 == (int *)0x0) {\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              break;\n            }\n            piVar11 = (int *)piVar16[1];\n            if (uVar21 == 0) {\n              trap(7);\n            }\n            pcVar38 = *(code **)(puVar36 + 0x30b08c);\n            piVar18 = piVar12;\n          } while (uVar39 == (uint)piVar11 % uVar21);\n        }" if (parenthesized_expression "(piVar18 != (int *)0x0)" ( (binary_expression "piVar18 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          piVar11 = (int *)((int *)*piVar18)[1];\n          piVar16 = (int *)*piVar18;\n          do {\n            piVar12 = piVar16;\n            if (piVar29 == piVar11) {\n              iVar15 = *piVar18;\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              if (iVar15 != 0) goto LAB_00127520;\n              break;\n            }\n            piVar16 = (int *)*piVar12;\n            if (piVar16 == (int *)0x0) {\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              break;\n            }\n            piVar11 = (int *)piVar16[1];\n            if (uVar21 == 0) {\n              trap(7);\n            }\n            pcVar38 = *(code **)(puVar36 + 0x30b08c);\n            piVar18 = piVar12;\n          } while (uVar39 == (uint)piVar11 % uVar21);\n        }" { (expression_statement "piVar11 = (int *)((int *)*piVar18)[1];" (assignment_expression "piVar11 = (int *)((int *)*piVar18)[1]" identifier = (cast_expression "(int *)((int *)*piVar18)[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)*piVar18)[1]" (parenthesized_expression "((int *)*piVar18)" ( (cast_expression "(int *)*piVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar18" * identifier)) )) [ number_literal ]))) ;) (expression_statement "piVar16 = (int *)*piVar18;" (assignment_expression "piVar16 = (int *)*piVar18" identifier = (cast_expression "(int *)*piVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar18" * identifier))) ;) (do_statement "do {\n            piVar12 = piVar16;\n            if (piVar29 == piVar11) {\n              iVar15 = *piVar18;\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              if (iVar15 != 0) goto LAB_00127520;\n              break;\n            }\n            piVar16 = (int *)*piVar12;\n            if (piVar16 == (int *)0x0) {\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              break;\n            }\n            piVar11 = (int *)piVar16[1];\n            if (uVar21 == 0) {\n              trap(7);\n            }\n            pcVar38 = *(code **)(puVar36 + 0x30b08c);\n            piVar18 = piVar12;\n          } while (uVar39 == (uint)piVar11 % uVar21);" do (compound_statement "{\n            piVar12 = piVar16;\n            if (piVar29 == piVar11) {\n              iVar15 = *piVar18;\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              if (iVar15 != 0) goto LAB_00127520;\n              break;\n            }\n            piVar16 = (int *)*piVar12;\n            if (piVar16 == (int *)0x0) {\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              break;\n            }\n            piVar11 = (int *)piVar16[1];\n            if (uVar21 == 0) {\n              trap(7);\n            }\n            pcVar38 = *(code **)(puVar36 + 0x30b08c);\n            piVar18 = piVar12;\n          }" { (expression_statement "piVar12 = piVar16;" (assignment_expression "piVar12 = piVar16" identifier = identifier) ;) (if_statement "if (piVar29 == piVar11) {\n              iVar15 = *piVar18;\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              if (iVar15 != 0) goto LAB_00127520;\n              break;\n            }" if (parenthesized_expression "(piVar29 == piVar11)" ( (binary_expression "piVar29 == piVar11" identifier == identifier) )) (compound_statement "{\n              iVar15 = *piVar18;\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              if (iVar15 != 0) goto LAB_00127520;\n              break;\n            }" { (expression_statement "iVar15 = *piVar18;" (assignment_expression "iVar15 = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (expression_statement "pcVar38 = *(code **)(puVar36 + 0x30b08c);" (assignment_expression "pcVar38 = *(code **)(puVar36 + 0x30b08c)" identifier = (pointer_expression "*(code **)(puVar36 + 0x30b08c)" * (cast_expression "(code **)(puVar36 + 0x30b08c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + 0x30b08c)" ( (binary_expression "puVar36 + 0x30b08c" identifier + number_literal) ))))) ;) (if_statement "if (iVar15 != 0) goto LAB_00127520;" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00127520;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "piVar16 = (int *)*piVar12;" (assignment_expression "piVar16 = (int *)*piVar12" identifier = (cast_expression "(int *)*piVar12" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar12" * identifier))) ;) (if_statement "if (piVar16 == (int *)0x0) {\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              break;\n            }" if (parenthesized_expression "(piVar16 == (int *)0x0)" ( (binary_expression "piVar16 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pcVar38 = *(code **)(puVar36 + 0x30b08c);\n              break;\n            }" { (expression_statement "pcVar38 = *(code **)(puVar36 + 0x30b08c);" (assignment_expression "pcVar38 = *(code **)(puVar36 + 0x30b08c)" identifier = (pointer_expression "*(code **)(puVar36 + 0x30b08c)" * (cast_expression "(code **)(puVar36 + 0x30b08c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + 0x30b08c)" ( (binary_expression "puVar36 + 0x30b08c" identifier + number_literal) ))))) ;) (break_statement "break;" break ;) })) (expression_statement "piVar11 = (int *)piVar16[1];" (assignment_expression "piVar11 = (int *)piVar16[1]" identifier = (cast_expression "(int *)piVar16[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar16[1]" identifier [ number_literal ]))) ;) (if_statement "if (uVar21 == 0) {\n              trap(7);\n            }" if (parenthesized_expression "(uVar21 == 0)" ( (binary_expression "uVar21 == 0" identifier == number_literal) )) (compound_statement "{\n              trap(7);\n            }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "pcVar38 = *(code **)(puVar36 + 0x30b08c);" (assignment_expression "pcVar38 = *(code **)(puVar36 + 0x30b08c)" identifier = (pointer_expression "*(code **)(puVar36 + 0x30b08c)" * (cast_expression "(code **)(puVar36 + 0x30b08c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + 0x30b08c)" ( (binary_expression "puVar36 + 0x30b08c" identifier + number_literal) ))))) ;) (expression_statement "piVar18 = piVar12;" (assignment_expression "piVar18 = piVar12" identifier = identifier) ;) }) while (parenthesized_expression "(uVar39 == (uint)piVar11 % uVar21)" ( (binary_expression "uVar39 == (uint)piVar11 % uVar21" identifier == (binary_expression "(uint)piVar11 % uVar21" (cast_expression "(uint)piVar11" ( (type_descriptor "uint" type_identifier) ) identifier) % identifier)) )) ;) })) (expression_statement "puVar13 = (undefined4 *)(*pcVar38)(0xc);" (assignment_expression "puVar13 = (undefined4 *)(*pcVar38)(0xc)" identifier = (cast_expression "(undefined4 *)(*pcVar38)(0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar38)(0xc)" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "(0xc)" ( number_literal ))))) ;) (expression_statement "*puVar13 = 0;" (assignment_expression "*puVar13 = 0" (pointer_expression "*puVar13" * identifier) = number_literal) ;) (expression_statement "puVar13[1] = piVar29;" (assignment_expression "puVar13[1] = piVar29" (subscript_expression "puVar13[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar13[2] = 0;" (assignment_expression "puVar13[2] = 0" (subscript_expression "puVar13[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(*pcStack_6c)(piStack_70,piVar17,uVar39,piVar29,puVar13,1);" (call_expression "(*pcStack_6c)(piStack_70,piVar17,uVar39,piVar29,puVar13,1)" (parenthesized_expression "(*pcStack_6c)" ( (pointer_expression "*pcStack_6c" * identifier) )) (argument_list "(piStack_70,piVar17,uVar39,piVar29,puVar13,1)" ( identifier , identifier , identifier , identifier , identifier , number_literal ))) ;) (expression_statement "iVar15 = iStack_80;" (assignment_expression "iVar15 = iStack_80" identifier = identifier) ;) (labeled_statement "LAB_00127520:\n        puVar33 = puVar33 + 1;" statement_identifier : (expression_statement "puVar33 = puVar33 + 1;" (assignment_expression "puVar33 = puVar33 + 1" identifier = (binary_expression "puVar33 + 1" identifier + number_literal)) ;)) (expression_statement "puVar13 = *(undefined4 **)(puStack_7c + 0x134);" (assignment_expression "puVar13 = *(undefined4 **)(puStack_7c + 0x134)" identifier = (pointer_expression "*(undefined4 **)(puStack_7c + 0x134)" * (cast_expression "(undefined4 **)(puStack_7c + 0x134)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_7c + 0x134)" ( (binary_expression "puStack_7c + 0x134" identifier + number_literal) ))))) ;) (expression_statement "*(int **)(iVar15 + 8) = piVar9;" (assignment_expression "*(int **)(iVar15 + 8) = piVar9" (pointer_expression "*(int **)(iVar15 + 8)" * (cast_expression "(int **)(iVar15 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 8)" ( (binary_expression "iVar15 + 8" identifier + number_literal) )))) = identifier) ;) }) while (parenthesized_expression "(puVar13 != puVar33)" ( (binary_expression "puVar13 != puVar33" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })) (expression_statement "uVar7 = (*(code *)PTR_operator_new___004322dc)(pr_datasz);" (assignment_expression "uVar7 = (*(code *)PTR_operator_new___004322dc)(pr_datasz)" identifier = (call_expression "(*(code *)PTR_operator_new___004322dc)(pr_datasz)" (parenthesized_expression "(*(code *)PTR_operator_new___004322dc)" ( (pointer_expression "*(code *)PTR_operator_new___004322dc" * (cast_expression "(code *)PTR_operator_new___004322dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pr_datasz)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_memcpy_00436788)(uVar7,pr_data,pr_datasz);" (call_expression "(*(code *)PTR_memcpy_00436788)(uVar7,pr_data,pr_datasz)" (parenthesized_expression "(*(code *)PTR_memcpy_00436788)" ( (pointer_expression "*(code *)PTR_memcpy_00436788" * (cast_expression "(code *)PTR_memcpy_00436788" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7,pr_data,pr_datasz)" ( identifier , identifier , identifier ))) ;) (expression_statement "__args_0 = (piecewise_construct_t *)&(this->gnu_properties_)._M_t._M_impl.super__Rb_tree_header;" (assignment_expression "__args_0 = (piecewise_construct_t *)&(this->gnu_properties_)._M_t._M_impl.super__Rb_tree_header" identifier = (cast_expression "(piecewise_construct_t *)&(this->gnu_properties_)._M_t._M_impl.super__Rb_tree_header" ( (type_descriptor "piecewise_construct_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->gnu_properties_)._M_t._M_impl.super__Rb_tree_header" & (field_expression "(this->gnu_properties_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(this->gnu_properties_)._M_t._M_impl" (field_expression "(this->gnu_properties_)._M_t" (parenthesized_expression "(this->gnu_properties_)" ( (field_expression "this->gnu_properties_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)))) ;) (expression_statement "p_Var8 = (this->gnu_properties_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;" (assignment_expression "p_Var8 = (this->gnu_properties_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" identifier = (field_expression "(this->gnu_properties_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "(this->gnu_properties_)._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "(this->gnu_properties_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(this->gnu_properties_)._M_t._M_impl" (field_expression "(this->gnu_properties_)._M_t" (parenthesized_expression "(this->gnu_properties_)" ( (field_expression "this->gnu_properties_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "p_Var19 = (_Base_ptr)__args_0;" (assignment_expression "p_Var19 = (_Base_ptr)__args_0" identifier = (cast_expression "(_Base_ptr)__args_0" ( (type_descriptor "_Base_ptr" type_identifier) ) identifier)) ;) (if_statement "if (p_Var8 != (_Base_ptr)0x0) {\n    do {\n      while (p_Var20 = p_Var8, local_res8[0] <= p_Var20[1]._M_color) {\n        p_Var8 = p_Var20->_M_left;\n        p_Var19 = p_Var20;\n        if (p_Var20->_M_left == (_Base_ptr)0x0) goto LAB_00127220;\n      }\n      pp_Var1 = &p_Var20->_M_right;\n      p_Var8 = *pp_Var1;\n      p_Var20 = p_Var19;\n    } while (*pp_Var1 != (_Base_ptr)0x0);\nLAB_00127220:\n    bVar2 = (_Base_ptr)__args_0 != p_Var20;\n    __args_0 = (piecewise_construct_t *)p_Var20;\n    if ((bVar2) &&\n       (*(_Rb_tree_color *)&((piecewise_construct_t *)((int)p_Var20 + 0x10))->field_0x0 <=\n        local_res8[0])) goto LAB_00127270;\n  }" if (parenthesized_expression "(p_Var8 != (_Base_ptr)0x0)" ( (binary_expression "p_Var8 != (_Base_ptr)0x0" identifier != (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (compound_statement "{\n    do {\n      while (p_Var20 = p_Var8, local_res8[0] <= p_Var20[1]._M_color) {\n        p_Var8 = p_Var20->_M_left;\n        p_Var19 = p_Var20;\n        if (p_Var20->_M_left == (_Base_ptr)0x0) goto LAB_00127220;\n      }\n      pp_Var1 = &p_Var20->_M_right;\n      p_Var8 = *pp_Var1;\n      p_Var20 = p_Var19;\n    } while (*pp_Var1 != (_Base_ptr)0x0);\nLAB_00127220:\n    bVar2 = (_Base_ptr)__args_0 != p_Var20;\n    __args_0 = (piecewise_construct_t *)p_Var20;\n    if ((bVar2) &&\n       (*(_Rb_tree_color *)&((piecewise_construct_t *)((int)p_Var20 + 0x10))->field_0x0 <=\n        local_res8[0])) goto LAB_00127270;\n  }" { (do_statement "do {\n      while (p_Var20 = p_Var8, local_res8[0] <= p_Var20[1]._M_color) {\n        p_Var8 = p_Var20->_M_left;\n        p_Var19 = p_Var20;\n        if (p_Var20->_M_left == (_Base_ptr)0x0) goto LAB_00127220;\n      }\n      pp_Var1 = &p_Var20->_M_right;\n      p_Var8 = *pp_Var1;\n      p_Var20 = p_Var19;\n    } while (*pp_Var1 != (_Base_ptr)0x0);" do (compound_statement "{\n      while (p_Var20 = p_Var8, local_res8[0] <= p_Var20[1]._M_color) {\n        p_Var8 = p_Var20->_M_left;\n        p_Var19 = p_Var20;\n        if (p_Var20->_M_left == (_Base_ptr)0x0) goto LAB_00127220;\n      }\n      pp_Var1 = &p_Var20->_M_right;\n      p_Var8 = *pp_Var1;\n      p_Var20 = p_Var19;\n    }" { (while_statement "while (p_Var20 = p_Var8, local_res8[0] <= p_Var20[1]._M_color) {\n        p_Var8 = p_Var20->_M_left;\n        p_Var19 = p_Var20;\n        if (p_Var20->_M_left == (_Base_ptr)0x0) goto LAB_00127220;\n      }" while (parenthesized_expression "(p_Var20 = p_Var8, local_res8[0] <= p_Var20[1]._M_color)" ( (comma_expression "p_Var20 = p_Var8, local_res8[0] <= p_Var20[1]._M_color" (assignment_expression "p_Var20 = p_Var8" identifier = identifier) , (binary_expression "local_res8[0] <= p_Var20[1]._M_color" (subscript_expression "local_res8[0]" identifier [ number_literal ]) <= (field_expression "p_Var20[1]._M_color" (subscript_expression "p_Var20[1]" identifier [ number_literal ]) . field_identifier))) )) (compound_statement "{\n        p_Var8 = p_Var20->_M_left;\n        p_Var19 = p_Var20;\n        if (p_Var20->_M_left == (_Base_ptr)0x0) goto LAB_00127220;\n      }" { (expression_statement "p_Var8 = p_Var20->_M_left;" (assignment_expression "p_Var8 = p_Var20->_M_left" identifier = (field_expression "p_Var20->_M_left" identifier -> field_identifier)) ;) (expression_statement "p_Var19 = p_Var20;" (assignment_expression "p_Var19 = p_Var20" identifier = identifier) ;) (if_statement "if (p_Var20->_M_left == (_Base_ptr)0x0) goto LAB_00127220;" if (parenthesized_expression "(p_Var20->_M_left == (_Base_ptr)0x0)" ( (binary_expression "p_Var20->_M_left == (_Base_ptr)0x0" (field_expression "p_Var20->_M_left" identifier -> field_identifier) == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_00127220;" goto statement_identifier ;)) })) (expression_statement "pp_Var1 = &p_Var20->_M_right;" (assignment_expression "pp_Var1 = &p_Var20->_M_right" identifier = (pointer_expression "&p_Var20->_M_right" & (field_expression "p_Var20->_M_right" identifier -> field_identifier))) ;) (expression_statement "p_Var8 = *pp_Var1;" (assignment_expression "p_Var8 = *pp_Var1" identifier = (pointer_expression "*pp_Var1" * identifier)) ;) (expression_statement "p_Var20 = p_Var19;" (assignment_expression "p_Var20 = p_Var19" identifier = identifier) ;) }) while (parenthesized_expression "(*pp_Var1 != (_Base_ptr)0x0)" ( (binary_expression "*pp_Var1 != (_Base_ptr)0x0" (pointer_expression "*pp_Var1" * identifier) != (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) ;) (labeled_statement "LAB_00127220:\n    bVar2 = (_Base_ptr)__args_0 != p_Var20;" statement_identifier : (expression_statement "bVar2 = (_Base_ptr)__args_0 != p_Var20;" (assignment_expression "bVar2 = (_Base_ptr)__args_0 != p_Var20" identifier = (binary_expression "(_Base_ptr)__args_0 != p_Var20" (cast_expression "(_Base_ptr)__args_0" ( (type_descriptor "_Base_ptr" type_identifier) ) identifier) != identifier)) ;)) (expression_statement "__args_0 = (piecewise_construct_t *)p_Var20;" (assignment_expression "__args_0 = (piecewise_construct_t *)p_Var20" identifier = (cast_expression "(piecewise_construct_t *)p_Var20" ( (type_descriptor "piecewise_construct_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((bVar2) &&\n       (*(_Rb_tree_color *)&((piecewise_construct_t *)((int)p_Var20 + 0x10))->field_0x0 <=\n        local_res8[0])) goto LAB_00127270;" if (parenthesized_expression "((bVar2) &&\n       (*(_Rb_tree_color *)&((piecewise_construct_t *)((int)p_Var20 + 0x10))->field_0x0 <=\n        local_res8[0]))" ( (binary_expression "(bVar2) &&\n       (*(_Rb_tree_color *)&((piecewise_construct_t *)((int)p_Var20 + 0x10))->field_0x0 <=\n        local_res8[0])" (parenthesized_expression "(bVar2)" ( identifier )) && (parenthesized_expression "(*(_Rb_tree_color *)&((piecewise_construct_t *)((int)p_Var20 + 0x10))->field_0x0 <=\n        local_res8[0])" ( (binary_expression "*(_Rb_tree_color *)&((piecewise_construct_t *)((int)p_Var20 + 0x10))->field_0x0 <=\n        local_res8[0]" (pointer_expression "*(_Rb_tree_color *)&((piecewise_construct_t *)((int)p_Var20 + 0x10))->field_0x0" * (cast_expression "(_Rb_tree_color *)&((piecewise_construct_t *)((int)p_Var20 + 0x10))->field_0x0" ( (type_descriptor "_Rb_tree_color *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((piecewise_construct_t *)((int)p_Var20 + 0x10))->field_0x0" & (field_expression "((piecewise_construct_t *)((int)p_Var20 + 0x10))->field_0x0" (parenthesized_expression "((piecewise_construct_t *)((int)p_Var20 + 0x10))" ( (cast_expression "(piecewise_construct_t *)((int)p_Var20 + 0x10)" ( (type_descriptor "piecewise_construct_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p_Var20 + 0x10)" ( (binary_expression "(int)p_Var20 + 0x10" (cast_expression "(int)p_Var20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )) -> field_identifier)))) <= (subscript_expression "local_res8[0]" identifier [ number_literal ])) ))) )) (goto_statement "goto LAB_00127270;" goto statement_identifier ;)) })) (expression_statement "local_20[0] = local_res8;" (assignment_expression "local_20[0] = local_res8" (subscript_expression "local_20[0]" identifier [ number_literal ]) = identifier) ;) (ERROR "std::\n  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Layout::Gnu_property>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Layout::Gnu_property>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Layout::Gnu_property>_>_>\n  ::\n  _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<unsigned_int_const&>,_std::tuple<>_>\n            ((_Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Layout::Gnu_property>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Layout::Gnu_property>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Layout::Gnu_property>_>_>\n              *)&local_18,(const_iterator)&this->gnu_properties_,__args_0,\n             (tuple<unsigned_int_const&> *)(PTR_s_alize_xindex_004323b4 + -0x15bc),\n             (tuple<> *)local_20);\n  p_Var20 = (_Base_ptr)local_18;\nLAB_00127270:\n  *(size_t *)((int)p_Var20 + 0x14) = pr_datasz;\n  *(undefined4 *)((int)p_Var20 + 0x18) = uVar7;" (comma_expression "std::\n  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Layout::Gnu_property>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Layout::Gnu_property>_>,_std::less<unsigned_int>,_std" identifier (ERROR "::\n  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Layout::Gnu_property>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Layout::Gnu_property>_>,_std::less<unsigned_int>" : : (comma_expression "_Rb_tree<unsigned_int,_std" (binary_expression "_Rb_tree<unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int_const,_gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (comma_expression "Layout::Gnu_property>,_std" identifier (ERROR "::Gnu_property>" : : identifier >) , identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,_gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (comma_expression "Layout::Gnu_property>_>,_std" identifier (ERROR "::Gnu_property>_>" : : (binary_expression "Gnu_property>_" identifier > identifier) >) , identifier) : : (binary_expression "less<unsigned_int" identifier < identifier) >) , identifier) : : identifier < identifier : : (comma_expression "pair<unsigned_int_const,_gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (comma_expression "Layout::Gnu_property>_>_>\n  ::\n  _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std" identifier (ERROR "::Gnu_property>_>_>\n  ::\n  _M_emplace_hint_unique<const_std::piecewise_construct_t&" : : (binary_expression "Gnu_property>_>_" (binary_expression "Gnu_property>_" identifier > identifier) > identifier) > : : (binary_expression "_M_emplace_hint_unique<const_std" identifier < identifier) : : identifier &) , identifier) : : (comma_expression "tuple<unsigned_int_const&>,_std" (binary_expression "tuple<unsigned_int_const" identifier < identifier) (ERROR "&>" & >) , identifier) : : (binary_expression "tuple<>_" identifier < (ERROR ">" >) identifier) > ( ( (ERROR "_Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Layout::Gnu_property>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Layout::Gnu_property>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Layout::Gnu_property>_>_>\n              *)&local_18,(const_iterator)&this->gnu_properties_,__args_0,\n             (tuple<unsigned_int_const&> *)(PTR_s_alize_xindex_004323b4 + -0x15bc),\n             (tuple<> *)local_20);\n  p_Var20 = (_Base_ptr)local_18;" (comma_expression "_Rb_tree<unsigned_int,_std" (binary_expression "_Rb_tree<unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int_const,_gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : identifier : : (binary_expression "Gnu_property>,_std" identifier > (ERROR "," ,) identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,_gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : identifier : : (binary_expression "Gnu_property>_>,_std" (binary_expression "Gnu_property>_" identifier > identifier) > (ERROR "," ,) identifier) : : (binary_expression "less<unsigned_int>,_std" (binary_expression "less<unsigned_int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,_gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : identifier : : (comma_expression "Gnu_property>_>_>\n              *)&local_18,(const_iterator)&this->gnu_properties_,__args_0,\n             (tuple<unsigned_int_const&> *)(PTR_s_alize_xindex_004323b4 + -0x15bc),\n             (tuple<> *)local_20)" (binary_expression "Gnu_property>_>_>\n              *)&local_18" (binary_expression "Gnu_property>_>_" (binary_expression "Gnu_property>_" identifier > identifier) > identifier) > (pointer_expression "*)&local_18" * (ERROR ")" )) (pointer_expression "&local_18" & identifier))) , (comma_expression "(const_iterator)&this->gnu_properties_,__args_0,\n             (tuple<unsigned_int_const&> *)(PTR_s_alize_xindex_004323b4 + -0x15bc),\n             (tuple<> *)local_20)" (binary_expression "(const_iterator)&this->gnu_properties_" (parenthesized_expression "(const_iterator)" ( identifier )) & (field_expression "this->gnu_properties_" identifier -> field_identifier)) , (comma_expression "__args_0,\n             (tuple<unsigned_int_const&> *)(PTR_s_alize_xindex_004323b4 + -0x15bc),\n             (tuple<> *)local_20)" identifier , (comma_expression "(tuple<unsigned_int_const&> *)(PTR_s_alize_xindex_004323b4 + -0x15bc),\n             (tuple<> *)local_20)" (call_expression "(tuple<unsigned_int_const&> *)(PTR_s_alize_xindex_004323b4 + -0x15bc)" (parenthesized_expression "(tuple<unsigned_int_const&> *)" ( (binary_expression "tuple<unsigned_int_const&> *" (binary_expression "tuple<unsigned_int_const" identifier < identifier) (ERROR "&" &) > (pointer_expression "*" * identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x15bc)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x15bc" identifier + number_literal) ))) , (parenthesized_expression "(tuple<> *)local_20)" ( (binary_expression "tuple<> *)local_20" identifier < (ERROR ">" >) (pointer_expression "*)local_20" * (ERROR ")" )) identifier)) )))))) ; (assignment_expression "p_Var20 = (_Base_ptr)local_18" identifier = (cast_expression "(_Base_ptr)local_18" ( (type_descriptor "_Base_ptr" type_identifier) ) identifier)) ;) (binary_expression "LAB_00127270:\n  *(size_t *)((int)p_Var20 + 0x14) = pr_datasz;\n  *(undefined4 *)((int)p_Var20 + 0x18) = uVar7" (binary_expression "LAB_00127270:\n  *(size_t *)((int)p_Var20 + 0x14) = pr_datasz" identifier (ERROR ":" :) * (cast_expression "(size_t *)((int)p_Var20 + 0x14) = pr_datasz" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (assignment_expression "((int)p_Var20 + 0x14) = pr_datasz" (parenthesized_expression "((int)p_Var20 + 0x14)" ( (binary_expression "(int)p_Var20 + 0x14" (cast_expression "(int)p_Var20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) = identifier))) (ERROR ";" ;) * (cast_expression "(undefined4 *)((int)p_Var20 + 0x18) = uVar7" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "((int)p_Var20 + 0x18) = uVar7" (parenthesized_expression "((int)p_Var20 + 0x18)" ( (binary_expression "(int)p_Var20 + 0x18" (cast_expression "(int)p_Var20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) = identifier))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00127178(int param_1,int param_2,uint param_3,undefined4 param_4,undefined4 param_5)\n\n{\n  int *piVar1;\n  bool bVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  uint local_res8 [2];\n  uint *local_20;\n  undefined1 auStack_1c [4];\n  int local_18 [2];\n  \n  local_res8[0] = param_3;\n  if (param_2 != 5) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x2c4c,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4);\n    return;\n  }\n  uVar4 = (*(code *)PTR_operator_new___004322dc)(param_4);\n  (*(code *)PTR_memcpy_00436788)(uVar4,param_5,param_4);\n  iVar5 = param_1 + 0x284;\n  iVar3 = *(int *)(param_1 + 0x288);\n  iVar6 = iVar5;\n  if (*(int *)(param_1 + 0x288) != 0) {\n    do {\n      while (iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)) {\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }\n      piVar1 = (int *)(iVar7 + 0xc);\n      iVar3 = *piVar1;\n      iVar7 = iVar6;\n    } while (*piVar1 != 0);\nLAB_00127220:\n    bVar2 = iVar5 != iVar7;\n    iVar5 = iVar7;\n    if ((bVar2) && (*(uint *)(iVar7 + 0x10) <= local_res8[0])) goto LAB_00127270;\n  }\n  local_20 = local_res8;\n  std::\n  _Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n  ::\n  _M_emplace_hint_unique<std::piecewise_construct_t_const&,std::tuple<unsigned_int_const&>,std::tuple<>>\n            ((_Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n              *)local_18,param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c);\n  iVar7 = local_18[0];\nLAB_00127270:\n  *(undefined4 *)(iVar7 + 0x14) = param_4;\n  *(undefined4 *)(iVar7 + 0x18) = uVar4;\n  return;\n}\n\n" (function_definition "void FUN_00127178(int param_1,int param_2,uint param_3,undefined4 param_4,undefined4 param_5)\n\n{\n  int *piVar1;\n  bool bVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  uint local_res8 [2];\n  uint *local_20;\n  undefined1 auStack_1c [4];\n  int local_18 [2];\n  \n  local_res8[0] = param_3;\n  if (param_2 != 5) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x2c4c,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4);\n    return;\n  }\n  uVar4 = (*(code *)PTR_operator_new___004322dc)(param_4);\n  (*(code *)PTR_memcpy_00436788)(uVar4,param_5,param_4);\n  iVar5 = param_1 + 0x284;\n  iVar3 = *(int *)(param_1 + 0x288);\n  iVar6 = iVar5;\n  if (*(int *)(param_1 + 0x288) != 0) {\n    do {\n      while (iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)) {\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }\n      piVar1 = (int *)(iVar7 + 0xc);\n      iVar3 = *piVar1;\n      iVar7 = iVar6;\n    } while (*piVar1 != 0);\nLAB_00127220:\n    bVar2 = iVar5 != iVar7;\n    iVar5 = iVar7;\n    if ((bVar2) && (*(uint *)(iVar7 + 0x10) <= local_res8[0])) goto LAB_00127270;\n  }\n  local_20 = local_res8;\n  std::\n  _Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n  ::\n  _M_emplace_hint_unique<std::piecewise_construct_t_const&,std::tuple<unsigned_int_const&>,std::tuple<>>\n            ((_Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n              *)local_18,param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c);\n  iVar7 = local_18[0];\nLAB_00127270:\n  *(undefined4 *)(iVar7 + 0x14) = param_4;\n  *(undefined4 *)(iVar7 + 0x18) = uVar4;\n  return;\n}" primitive_type (function_declarator "FUN_00127178(int param_1,int param_2,uint param_3,undefined4 param_4,undefined4 param_5)" identifier (parameter_list "(int param_1,int param_2,uint param_3,undefined4 param_4,undefined4 param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) ))) (compound_statement "{\n  int *piVar1;\n  bool bVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  uint local_res8 [2];\n  uint *local_20;\n  undefined1 auStack_1c [4];\n  int local_18 [2];\n  \n  local_res8[0] = param_3;\n  if (param_2 != 5) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x2c4c,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4);\n    return;\n  }\n  uVar4 = (*(code *)PTR_operator_new___004322dc)(param_4);\n  (*(code *)PTR_memcpy_00436788)(uVar4,param_5,param_4);\n  iVar5 = param_1 + 0x284;\n  iVar3 = *(int *)(param_1 + 0x288);\n  iVar6 = iVar5;\n  if (*(int *)(param_1 + 0x288) != 0) {\n    do {\n      while (iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)) {\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }\n      piVar1 = (int *)(iVar7 + 0xc);\n      iVar3 = *piVar1;\n      iVar7 = iVar6;\n    } while (*piVar1 != 0);\nLAB_00127220:\n    bVar2 = iVar5 != iVar7;\n    iVar5 = iVar7;\n    if ((bVar2) && (*(uint *)(iVar7 + 0x10) <= local_res8[0])) goto LAB_00127270;\n  }\n  local_20 = local_res8;\n  std::\n  _Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n  ::\n  _M_emplace_hint_unique<std::piecewise_construct_t_const&,std::tuple<unsigned_int_const&>,std::tuple<>>\n            ((_Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n              *)local_18,param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c);\n  iVar7 = local_18[0];\nLAB_00127270:\n  *(undefined4 *)(iVar7 + 0x14) = param_4;\n  *(undefined4 *)(iVar7 + 0x18) = uVar4;\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint local_res8 [2];" type_identifier (array_declarator "local_res8 [2]" identifier [ number_literal ]) ;) (declaration "uint *local_20;" type_identifier (pointer_declarator "*local_20" * identifier) ;) (declaration "undefined1 auStack_1c [4];" type_identifier (array_declarator "auStack_1c [4]" identifier [ number_literal ]) ;) (declaration "int local_18 [2];" primitive_type (array_declarator "local_18 [2]" identifier [ number_literal ]) ;) (expression_statement "local_res8[0] = param_3;" (assignment_expression "local_res8[0] = param_3" (subscript_expression "local_res8[0]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (param_2 != 5) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x2c4c,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4);\n    return;\n  }" if (parenthesized_expression "(param_2 != 5)" ( (binary_expression "param_2 != 5" identifier != number_literal) )) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x2c4c,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4);\n    return;\n  }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x2c4c,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x2c4c,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4)" (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 + -0x2c4c,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x2c4c" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + -0x16f4" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar4 = (*(code *)PTR_operator_new___004322dc)(param_4);" (assignment_expression "uVar4 = (*(code *)PTR_operator_new___004322dc)(param_4)" identifier = (call_expression "(*(code *)PTR_operator_new___004322dc)(param_4)" (parenthesized_expression "(*(code *)PTR_operator_new___004322dc)" ( (pointer_expression "*(code *)PTR_operator_new___004322dc" * (cast_expression "(code *)PTR_operator_new___004322dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_memcpy_00436788)(uVar4,param_5,param_4);" (call_expression "(*(code *)PTR_memcpy_00436788)(uVar4,param_5,param_4)" (parenthesized_expression "(*(code *)PTR_memcpy_00436788)" ( (pointer_expression "*(code *)PTR_memcpy_00436788" * (cast_expression "(code *)PTR_memcpy_00436788" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4,param_5,param_4)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar5 = param_1 + 0x284;" (assignment_expression "iVar5 = param_1 + 0x284" identifier = (binary_expression "param_1 + 0x284" identifier + number_literal)) ;) (expression_statement "iVar3 = *(int *)(param_1 + 0x288);" (assignment_expression "iVar3 = *(int *)(param_1 + 0x288)" identifier = (pointer_expression "*(int *)(param_1 + 0x288)" * (cast_expression "(int *)(param_1 + 0x288)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x288)" ( (binary_expression "param_1 + 0x288" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = iVar5;" (assignment_expression "iVar6 = iVar5" identifier = identifier) ;) (if_statement "if (*(int *)(param_1 + 0x288) != 0) {\n    do {\n      while (iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)) {\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }\n      piVar1 = (int *)(iVar7 + 0xc);\n      iVar3 = *piVar1;\n      iVar7 = iVar6;\n    } while (*piVar1 != 0);\nLAB_00127220:\n    bVar2 = iVar5 != iVar7;\n    iVar5 = iVar7;\n    if ((bVar2) && (*(uint *)(iVar7 + 0x10) <= local_res8[0])) goto LAB_00127270;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x288) != 0)" ( (binary_expression "*(int *)(param_1 + 0x288) != 0" (pointer_expression "*(int *)(param_1 + 0x288)" * (cast_expression "(int *)(param_1 + 0x288)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x288)" ( (binary_expression "param_1 + 0x288" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    do {\n      while (iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)) {\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }\n      piVar1 = (int *)(iVar7 + 0xc);\n      iVar3 = *piVar1;\n      iVar7 = iVar6;\n    } while (*piVar1 != 0);\nLAB_00127220:\n    bVar2 = iVar5 != iVar7;\n    iVar5 = iVar7;\n    if ((bVar2) && (*(uint *)(iVar7 + 0x10) <= local_res8[0])) goto LAB_00127270;\n  }" { (do_statement "do {\n      while (iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)) {\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }\n      piVar1 = (int *)(iVar7 + 0xc);\n      iVar3 = *piVar1;\n      iVar7 = iVar6;\n    } while (*piVar1 != 0);" do (compound_statement "{\n      while (iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)) {\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }\n      piVar1 = (int *)(iVar7 + 0xc);\n      iVar3 = *piVar1;\n      iVar7 = iVar6;\n    }" { (while_statement "while (iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)) {\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }" while (parenthesized_expression "(iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10))" ( (comma_expression "iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)" (assignment_expression "iVar7 = iVar3" identifier = identifier) , (binary_expression "local_res8[0] <= *(uint *)(iVar7 + 0x10)" (subscript_expression "local_res8[0]" identifier [ number_literal ]) <= (pointer_expression "*(uint *)(iVar7 + 0x10)" * (cast_expression "(uint *)(iVar7 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) )))))) )) (compound_statement "{\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }" { (expression_statement "iVar3 = *(int *)(iVar7 + 8);" (assignment_expression "iVar3 = *(int *)(iVar7 + 8)" identifier = (pointer_expression "*(int *)(iVar7 + 8)" * (cast_expression "(int *)(iVar7 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = iVar7;" (assignment_expression "iVar6 = iVar7" identifier = identifier) ;) (if_statement "if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;" if (parenthesized_expression "(*(int *)(iVar7 + 8) == 0)" ( (binary_expression "*(int *)(iVar7 + 8) == 0" (pointer_expression "*(int *)(iVar7 + 8)" * (cast_expression "(int *)(iVar7 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_00127220;" goto statement_identifier ;)) })) (expression_statement "piVar1 = (int *)(iVar7 + 0xc);" (assignment_expression "piVar1 = (int *)(iVar7 + 0xc)" identifier = (cast_expression "(int *)(iVar7 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) )))) ;) (expression_statement "iVar3 = *piVar1;" (assignment_expression "iVar3 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (expression_statement "iVar7 = iVar6;" (assignment_expression "iVar7 = iVar6" identifier = identifier) ;) }) while (parenthesized_expression "(*piVar1 != 0)" ( (binary_expression "*piVar1 != 0" (pointer_expression "*piVar1" * identifier) != number_literal) )) ;) (labeled_statement "LAB_00127220:\n    bVar2 = iVar5 != iVar7;" statement_identifier : (expression_statement "bVar2 = iVar5 != iVar7;" (assignment_expression "bVar2 = iVar5 != iVar7" identifier = (binary_expression "iVar5 != iVar7" identifier != identifier)) ;)) (expression_statement "iVar5 = iVar7;" (assignment_expression "iVar5 = iVar7" identifier = identifier) ;) (if_statement "if ((bVar2) && (*(uint *)(iVar7 + 0x10) <= local_res8[0])) goto LAB_00127270;" if (parenthesized_expression "((bVar2) && (*(uint *)(iVar7 + 0x10) <= local_res8[0]))" ( (binary_expression "(bVar2) && (*(uint *)(iVar7 + 0x10) <= local_res8[0])" (parenthesized_expression "(bVar2)" ( identifier )) && (parenthesized_expression "(*(uint *)(iVar7 + 0x10) <= local_res8[0])" ( (binary_expression "*(uint *)(iVar7 + 0x10) <= local_res8[0]" (pointer_expression "*(uint *)(iVar7 + 0x10)" * (cast_expression "(uint *)(iVar7 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) )))) <= (subscript_expression "local_res8[0]" identifier [ number_literal ])) ))) )) (goto_statement "goto LAB_00127270;" goto statement_identifier ;)) })) (expression_statement "local_20 = local_res8;" (assignment_expression "local_20 = local_res8" identifier = identifier) ;) (ERROR "std::\n  _Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n  ::\n  _M_emplace_hint_unique<std::piecewise_construct_t_const&,std::tuple<unsigned_int_const&>,std::" (comma_expression "std::\n  _Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std" identifier (ERROR "::\n  _Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>" : : (comma_expression "_Rb_tree<unsigned_int,std" (binary_expression "_Rb_tree<unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int_const,gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (comma_expression "Layout::Gnu_property>,std" identifier (ERROR "::Gnu_property>" : : identifier >) , identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (comma_expression "Layout::Gnu_property>>,std" identifier (ERROR "::Gnu_property>>" : : identifier >>) , identifier) : : (binary_expression "less<unsigned_int" identifier < identifier) >) , identifier) : : identifier < identifier : : (comma_expression "pair<unsigned_int_const,gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (comma_expression "Layout::Gnu_property>>>\n  ::\n  _M_emplace_hint_unique<std::piecewise_construct_t_const&,std" identifier (ERROR "::Gnu_property>>>\n  ::\n  _M_emplace_hint_unique<std::piecewise_construct_t_const&" : : identifier >> > : : (binary_expression "_M_emplace_hint_unique<std" identifier < identifier) : : identifier &) , identifier) : : (comma_expression "tuple<unsigned_int_const&>,std" (binary_expression "tuple<unsigned_int_const" identifier < identifier) (ERROR "&>" & >) , identifier) : :) (expression_statement "tuple<>>\n            ((_Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n              *)local_18,param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c);" (binary_expression "tuple<>>\n            ((_Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n              *)local_18,param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c)" identifier (ERROR "<" <) >> (parenthesized_expression "((_Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n              *)local_18,param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c)" ( (parenthesized_expression "(_Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n              *)local_18,param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c)" ( (ERROR "_Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::" (comma_expression "_Rb_tree<unsigned_int,std" (binary_expression "_Rb_tree<unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int_const,gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : identifier : : (binary_expression "Gnu_property>,std" identifier > (ERROR "," ,) identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : identifier : : (binary_expression "Gnu_property>>,std" identifier >> (ERROR "," ,) identifier) : : (binary_expression "less<unsigned_int>,std" (binary_expression "less<unsigned_int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : identifier : :) (comma_expression "Gnu_property>>>\n              *)local_18,param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c" (binary_expression "Gnu_property>>>\n              *)local_18" identifier >> (ERROR ">" >) (pointer_expression "*)local_18" * (ERROR ")" )) identifier)) , (comma_expression "param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c" (binary_expression "param_1 + 0x280" identifier + number_literal) , (comma_expression "iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c" identifier , (comma_expression "PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c" (binary_expression "PTR_s_alize_xindex_004323b4 + -0x15bc" identifier + number_literal) , (comma_expression "&local_20,\n             auStack_1c" (pointer_expression "&local_20" & identifier) , identifier))))) )) ))) ;) (expression_statement "iVar7 = local_18[0];" (assignment_expression "iVar7 = local_18[0]" identifier = (subscript_expression "local_18[0]" identifier [ number_literal ])) ;) (labeled_statement "LAB_00127270:\n  *(undefined4 *)(iVar7 + 0x14) = param_4;" statement_identifier : (expression_statement "*(undefined4 *)(iVar7 + 0x14) = param_4;" (assignment_expression "*(undefined4 *)(iVar7 + 0x14) = param_4" (pointer_expression "*(undefined4 *)(iVar7 + 0x14)" * (cast_expression "(undefined4 *)(iVar7 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(iVar7 + 0x18) = uVar4;" (assignment_expression "*(undefined4 *)(iVar7 + 0x18) = uVar4" (pointer_expression "*(undefined4 *)(iVar7 + 0x18)" * (cast_expression "(undefined4 *)(iVar7 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (subscript_expression IDENT [ LIT ]) <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT != IDENT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( IDENT )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= (subscript_expression IDENT [ LIT ])) ))) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (ERROR (comma_expression IDENT (ERROR : : (comma_expression (binary_expression IDENT < IDENT) , IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , IDENT) : : (comma_expression IDENT (ERROR : : IDENT >) , IDENT) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , IDENT) : : (comma_expression IDENT (ERROR : : IDENT >>) , IDENT) : : (binary_expression IDENT < IDENT) >) , IDENT) : : IDENT < IDENT : : (comma_expression (binary_expression IDENT < IDENT) , IDENT) : : (comma_expression IDENT (ERROR : : IDENT >> > : : (binary_expression IDENT < IDENT) : : IDENT &) , IDENT) : : (comma_expression (binary_expression IDENT < IDENT) (ERROR & >) , IDENT) : :) (expression_statement (binary_expression IDENT (ERROR <) >> (parenthesized_expression ( (parenthesized_expression ( (ERROR (comma_expression (binary_expression IDENT < IDENT) , IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , IDENT) : : IDENT : : (binary_expression IDENT > (ERROR ,) IDENT) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , IDENT) : : IDENT : : (binary_expression IDENT >> (ERROR ,) IDENT) : : (binary_expression (binary_expression IDENT < IDENT) > (ERROR ,) IDENT) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , IDENT) : : IDENT : :) (comma_expression (binary_expression IDENT >> (ERROR >) (pointer_expression * (ERROR )) IDENT)) , (comma_expression (binary_expression IDENT + LIT) , (comma_expression IDENT , (comma_expression (binary_expression IDENT + LIT) , (comma_expression (pointer_expression & IDENT) , IDENT))))) )) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (return_statement return ;) })))
(function_definition "void FUN_00127178(int param_1,int param_2,uint param_3,undefined4 param_4,undefined4 param_5)\n\n{\n  int *piVar1;\n  bool bVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  uint local_res8 [2];\n  uint *local_20;\n  undefined1 auStack_1c [4];\n  int local_18 [2];\n  \n  local_res8[0] = param_3;\n  if (param_2 != 5) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x2c4c,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4);\n    return;\n  }\n  uVar4 = (*(code *)PTR_operator_new___004322dc)(param_4);\n  (*(code *)PTR_memcpy_00436788)(uVar4,param_5,param_4);\n  iVar5 = param_1 + 0x284;\n  iVar3 = *(int *)(param_1 + 0x288);\n  iVar6 = iVar5;\n  if (*(int *)(param_1 + 0x288) != 0) {\n    do {\n      while (iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)) {\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }\n      piVar1 = (int *)(iVar7 + 0xc);\n      iVar3 = *piVar1;\n      iVar7 = iVar6;\n    } while (*piVar1 != 0);\nLAB_00127220:\n    bVar2 = iVar5 != iVar7;\n    iVar5 = iVar7;\n    if ((bVar2) && (*(uint *)(iVar7 + 0x10) <= local_res8[0])) goto LAB_00127270;\n  }\n  local_20 = local_res8;\n  std::\n  _Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n  ::\n  _M_emplace_hint_unique<std::piecewise_construct_t_const&,std::tuple<unsigned_int_const&>,std::tuple<>>\n            ((_Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n              *)local_18,param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c);\n  iVar7 = local_18[0];\nLAB_00127270:\n  *(undefined4 *)(iVar7 + 0x14) = param_4;\n  *(undefined4 *)(iVar7 + 0x18) = uVar4;\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00127178(int param_1,int param_2,uint param_3,undefined4 param_4,undefined4 param_5)" (identifier "FUN_00127178") (parameter_list "(int param_1,int param_2,uint param_3,undefined4 param_4,undefined4 param_5)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "uint param_3" (type_identifier "uint") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) () ")"))) (compound_statement "{\n  int *piVar1;\n  bool bVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  uint local_res8 [2];\n  uint *local_20;\n  undefined1 auStack_1c [4];\n  int local_18 [2];\n  \n  local_res8[0] = param_3;\n  if (param_2 != 5) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x2c4c,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4);\n    return;\n  }\n  uVar4 = (*(code *)PTR_operator_new___004322dc)(param_4);\n  (*(code *)PTR_memcpy_00436788)(uVar4,param_5,param_4);\n  iVar5 = param_1 + 0x284;\n  iVar3 = *(int *)(param_1 + 0x288);\n  iVar6 = iVar5;\n  if (*(int *)(param_1 + 0x288) != 0) {\n    do {\n      while (iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)) {\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }\n      piVar1 = (int *)(iVar7 + 0xc);\n      iVar3 = *piVar1;\n      iVar7 = iVar6;\n    } while (*piVar1 != 0);\nLAB_00127220:\n    bVar2 = iVar5 != iVar7;\n    iVar5 = iVar7;\n    if ((bVar2) && (*(uint *)(iVar7 + 0x10) <= local_res8[0])) goto LAB_00127270;\n  }\n  local_20 = local_res8;\n  std::\n  _Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n  ::\n  _M_emplace_hint_unique<std::piecewise_construct_t_const&,std::tuple<unsigned_int_const&>,std::tuple<>>\n            ((_Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n              *)local_18,param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c);\n  iVar7 = local_18[0];\nLAB_00127270:\n  *(undefined4 *)(iVar7 + 0x14) = param_4;\n  *(undefined4 *)(iVar7 + 0x18) = uVar4;\n  return;\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "bool bVar2;" (primitive_type "bool") (identifier "bVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "uint local_res8 [2];" (type_identifier "uint") (array_declarator "local_res8 [2]" (identifier "local_res8") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "uint *local_20;" (type_identifier "uint") (pointer_declarator "*local_20" (* "*") (identifier "local_20")) (; ";")) (declaration "undefined1 auStack_1c [4];" (type_identifier "undefined1") (array_declarator "auStack_1c [4]" (identifier "auStack_1c") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "int local_18 [2];" (primitive_type "int") (array_declarator "local_18 [2]" (identifier "local_18") ([ "[") (number_literal "2") (] "]")) (; ";")) (expression_statement "local_res8[0] = param_3;" (assignment_expression "local_res8[0] = param_3" (subscript_expression "local_res8[0]" (identifier "local_res8") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "param_3")) (; ";")) (if_statement "if (param_2 != 5) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x2c4c,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4);\n    return;\n  }" (if "if") (parenthesized_expression "(param_2 != 5)" (( "(") (binary_expression "param_2 != 5" (identifier "param_2") (!= "!=") (number_literal "5")) () ")")) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x2c4c,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4);\n    return;\n  }" ({ "{") (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x2c4c,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x2c4c,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4)" (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 + -0x2c4c,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4)" (( "(") (binary_expression "PTR_s_alize_xindex_004323b4 + -0x2c4c" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x2c4c")) (, ",") (number_literal "0x973") (, ",") (binary_expression "PTR_s_alize_xindex_004323b4 + -0x16f4" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x16f4")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar4 = (*(code *)PTR_operator_new___004322dc)(param_4);" (assignment_expression "uVar4 = (*(code *)PTR_operator_new___004322dc)(param_4)" (identifier "uVar4") (= "=") (call_expression "(*(code *)PTR_operator_new___004322dc)(param_4)" (parenthesized_expression "(*(code *)PTR_operator_new___004322dc)" (( "(") (pointer_expression "*(code *)PTR_operator_new___004322dc" (* "*") (cast_expression "(code *)PTR_operator_new___004322dc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_new___004322dc"))) () ")")) (argument_list "(param_4)" (( "(") (identifier "param_4") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_memcpy_00436788)(uVar4,param_5,param_4);" (call_expression "(*(code *)PTR_memcpy_00436788)(uVar4,param_5,param_4)" (parenthesized_expression "(*(code *)PTR_memcpy_00436788)" (( "(") (pointer_expression "*(code *)PTR_memcpy_00436788" (* "*") (cast_expression "(code *)PTR_memcpy_00436788" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_00436788"))) () ")")) (argument_list "(uVar4,param_5,param_4)" (( "(") (identifier "uVar4") (, ",") (identifier "param_5") (, ",") (identifier "param_4") () ")"))) (; ";")) (expression_statement "iVar5 = param_1 + 0x284;" (assignment_expression "iVar5 = param_1 + 0x284" (identifier "iVar5") (= "=") (binary_expression "param_1 + 0x284" (identifier "param_1") (+ "+") (number_literal "0x284"))) (; ";")) (expression_statement "iVar3 = *(int *)(param_1 + 0x288);" (assignment_expression "iVar3 = *(int *)(param_1 + 0x288)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(param_1 + 0x288)" (* "*") (cast_expression "(int *)(param_1 + 0x288)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x288)" (( "(") (binary_expression "param_1 + 0x288" (identifier "param_1") (+ "+") (number_literal "0x288")) () ")"))))) (; ";")) (expression_statement "iVar6 = iVar5;" (assignment_expression "iVar6 = iVar5" (identifier "iVar6") (= "=") (identifier "iVar5")) (; ";")) (if_statement "if (*(int *)(param_1 + 0x288) != 0) {\n    do {\n      while (iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)) {\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }\n      piVar1 = (int *)(iVar7 + 0xc);\n      iVar3 = *piVar1;\n      iVar7 = iVar6;\n    } while (*piVar1 != 0);\nLAB_00127220:\n    bVar2 = iVar5 != iVar7;\n    iVar5 = iVar7;\n    if ((bVar2) && (*(uint *)(iVar7 + 0x10) <= local_res8[0])) goto LAB_00127270;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x288) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x288) != 0" (pointer_expression "*(int *)(param_1 + 0x288)" (* "*") (cast_expression "(int *)(param_1 + 0x288)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x288)" (( "(") (binary_expression "param_1 + 0x288" (identifier "param_1") (+ "+") (number_literal "0x288")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    do {\n      while (iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)) {\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }\n      piVar1 = (int *)(iVar7 + 0xc);\n      iVar3 = *piVar1;\n      iVar7 = iVar6;\n    } while (*piVar1 != 0);\nLAB_00127220:\n    bVar2 = iVar5 != iVar7;\n    iVar5 = iVar7;\n    if ((bVar2) && (*(uint *)(iVar7 + 0x10) <= local_res8[0])) goto LAB_00127270;\n  }" ({ "{") (do_statement "do {\n      while (iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)) {\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }\n      piVar1 = (int *)(iVar7 + 0xc);\n      iVar3 = *piVar1;\n      iVar7 = iVar6;\n    } while (*piVar1 != 0);" (do "do") (compound_statement "{\n      while (iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)) {\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }\n      piVar1 = (int *)(iVar7 + 0xc);\n      iVar3 = *piVar1;\n      iVar7 = iVar6;\n    }" ({ "{") (while_statement "while (iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)) {\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }" (while "while") (parenthesized_expression "(iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10))" (( "(") (comma_expression "iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)" (assignment_expression "iVar7 = iVar3" (identifier "iVar7") (= "=") (identifier "iVar3")) (, ",") (binary_expression "local_res8[0] <= *(uint *)(iVar7 + 0x10)" (subscript_expression "local_res8[0]" (identifier "local_res8") ([ "[") (number_literal "0") (] "]")) (<= "<=") (pointer_expression "*(uint *)(iVar7 + 0x10)" (* "*") (cast_expression "(uint *)(iVar7 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x10)" (( "(") (binary_expression "iVar7 + 0x10" (identifier "iVar7") (+ "+") (number_literal "0x10")) () ")")))))) () ")")) (compound_statement "{\n        iVar3 = *(int *)(iVar7 + 8);\n        iVar6 = iVar7;\n        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;\n      }" ({ "{") (expression_statement "iVar3 = *(int *)(iVar7 + 8);" (assignment_expression "iVar3 = *(int *)(iVar7 + 8)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(iVar7 + 8)" (* "*") (cast_expression "(int *)(iVar7 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar6 = iVar7;" (assignment_expression "iVar6 = iVar7" (identifier "iVar6") (= "=") (identifier "iVar7")) (; ";")) (if_statement "if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;" (if "if") (parenthesized_expression "(*(int *)(iVar7 + 8) == 0)" (( "(") (binary_expression "*(int *)(iVar7 + 8) == 0" (pointer_expression "*(int *)(iVar7 + 8)" (* "*") (cast_expression "(int *)(iVar7 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00127220;" (goto "goto") (statement_identifier "LAB_00127220") (; ";"))) (} "}"))) (expression_statement "piVar1 = (int *)(iVar7 + 0xc);" (assignment_expression "piVar1 = (int *)(iVar7 + 0xc)" (identifier "piVar1") (= "=") (cast_expression "(int *)(iVar7 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xc)" (( "(") (binary_expression "iVar7 + 0xc" (identifier "iVar7") (+ "+") (number_literal "0xc")) () ")")))) (; ";")) (expression_statement "iVar3 = *piVar1;" (assignment_expression "iVar3 = *piVar1" (identifier "iVar3") (= "=") (pointer_expression "*piVar1" (* "*") (identifier "piVar1"))) (; ";")) (expression_statement "iVar7 = iVar6;" (assignment_expression "iVar7 = iVar6" (identifier "iVar7") (= "=") (identifier "iVar6")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*piVar1 != 0)" (( "(") (binary_expression "*piVar1 != 0" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (!= "!=") (number_literal "0")) () ")")) (; ";")) (labeled_statement "LAB_00127220:\n    bVar2 = iVar5 != iVar7;" (statement_identifier "LAB_00127220") (: ":") (expression_statement "bVar2 = iVar5 != iVar7;" (assignment_expression "bVar2 = iVar5 != iVar7" (identifier "bVar2") (= "=") (binary_expression "iVar5 != iVar7" (identifier "iVar5") (!= "!=") (identifier "iVar7"))) (; ";"))) (expression_statement "iVar5 = iVar7;" (assignment_expression "iVar5 = iVar7" (identifier "iVar5") (= "=") (identifier "iVar7")) (; ";")) (if_statement "if ((bVar2) && (*(uint *)(iVar7 + 0x10) <= local_res8[0])) goto LAB_00127270;" (if "if") (parenthesized_expression "((bVar2) && (*(uint *)(iVar7 + 0x10) <= local_res8[0]))" (( "(") (binary_expression "(bVar2) && (*(uint *)(iVar7 + 0x10) <= local_res8[0])" (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (&& "&&") (parenthesized_expression "(*(uint *)(iVar7 + 0x10) <= local_res8[0])" (( "(") (binary_expression "*(uint *)(iVar7 + 0x10) <= local_res8[0]" (pointer_expression "*(uint *)(iVar7 + 0x10)" (* "*") (cast_expression "(uint *)(iVar7 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x10)" (( "(") (binary_expression "iVar7 + 0x10" (identifier "iVar7") (+ "+") (number_literal "0x10")) () ")")))) (<= "<=") (subscript_expression "local_res8[0]" (identifier "local_res8") ([ "[") (number_literal "0") (] "]"))) () ")"))) () ")")) (goto_statement "goto LAB_00127270;" (goto "goto") (statement_identifier "LAB_00127270") (; ";"))) (} "}"))) (expression_statement "local_20 = local_res8;" (assignment_expression "local_20 = local_res8" (identifier "local_20") (= "=") (identifier "local_res8")) (; ";")) (ERROR "std::\n  _Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n  ::\n  _M_emplace_hint_unique<std::piecewise_construct_t_const&,std::tuple<unsigned_int_const&>,std::" (comma_expression "std::\n  _Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std" (identifier "std") (ERROR "::\n  _Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>" (: ":") (: ":") (comma_expression "_Rb_tree<unsigned_int,std" (binary_expression "_Rb_tree<unsigned_int" (identifier "_Rb_tree") (< "<") (identifier "unsigned_int")) (, ",") (identifier "std")) (: ":") (: ":") (comma_expression "pair<unsigned_int_const,gold" (binary_expression "pair<unsigned_int_const" (identifier "pair") (< "<") (identifier "unsigned_int_const")) (, ",") (identifier "gold")) (: ":") (: ":") (comma_expression "Layout::Gnu_property>,std" (identifier "Layout") (ERROR "::Gnu_property>" (: ":") (: ":") (identifier "Gnu_property") (> ">")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "_Select1st<std" (identifier "_Select1st") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "pair<unsigned_int_const,gold" (binary_expression "pair<unsigned_int_const" (identifier "pair") (< "<") (identifier "unsigned_int_const")) (, ",") (identifier "gold")) (: ":") (: ":") (comma_expression "Layout::Gnu_property>>,std" (identifier "Layout") (ERROR "::Gnu_property>>" (: ":") (: ":") (identifier "Gnu_property") (>> ">>")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "less<unsigned_int" (identifier "less") (< "<") (identifier "unsigned_int")) (> ">")) (, ",") (identifier "std")) (: ":") (: ":") (identifier "allocator") (< "<") (identifier "std") (: ":") (: ":") (comma_expression "pair<unsigned_int_const,gold" (binary_expression "pair<unsigned_int_const" (identifier "pair") (< "<") (identifier "unsigned_int_const")) (, ",") (identifier "gold")) (: ":") (: ":") (comma_expression "Layout::Gnu_property>>>\n  ::\n  _M_emplace_hint_unique<std::piecewise_construct_t_const&,std" (identifier "Layout") (ERROR "::Gnu_property>>>\n  ::\n  _M_emplace_hint_unique<std::piecewise_construct_t_const&" (: ":") (: ":") (identifier "Gnu_property") (>> ">>") (> ">") (: ":") (: ":") (binary_expression "_M_emplace_hint_unique<std" (identifier "_M_emplace_hint_unique") (< "<") (identifier "std")) (: ":") (: ":") (identifier "piecewise_construct_t_const") (& "&")) (, ",") (identifier "std")) (: ":") (: ":") (comma_expression "tuple<unsigned_int_const&>,std" (binary_expression "tuple<unsigned_int_const" (identifier "tuple") (< "<") (identifier "unsigned_int_const")) (ERROR "&>" (& "&") (> ">")) (, ",") (identifier "std")) (: ":") (: ":")) (expression_statement "tuple<>>\n            ((_Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n              *)local_18,param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c);" (binary_expression "tuple<>>\n            ((_Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n              *)local_18,param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c)" (identifier "tuple") (ERROR "<" (< "<")) (>> ">>") (parenthesized_expression "((_Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n              *)local_18,param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c)" (( "(") (parenthesized_expression "(_Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>\n              *)local_18,param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c)" (( "(") (ERROR "_Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::" (comma_expression "_Rb_tree<unsigned_int,std" (binary_expression "_Rb_tree<unsigned_int" (identifier "_Rb_tree") (< "<") (identifier "unsigned_int")) (, ",") (identifier "std")) (: ":") (: ":") (comma_expression "pair<unsigned_int_const,gold" (binary_expression "pair<unsigned_int_const" (identifier "pair") (< "<") (identifier "unsigned_int_const")) (, ",") (identifier "gold")) (: ":") (: ":") (identifier "Layout") (: ":") (: ":") (binary_expression "Gnu_property>,std" (identifier "Gnu_property") (> ">") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":") (binary_expression "_Select1st<std" (identifier "_Select1st") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "pair<unsigned_int_const,gold" (binary_expression "pair<unsigned_int_const" (identifier "pair") (< "<") (identifier "unsigned_int_const")) (, ",") (identifier "gold")) (: ":") (: ":") (identifier "Layout") (: ":") (: ":") (binary_expression "Gnu_property>>,std" (identifier "Gnu_property") (>> ">>") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":") (binary_expression "less<unsigned_int>,std" (binary_expression "less<unsigned_int" (identifier "less") (< "<") (identifier "unsigned_int")) (> ">") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "pair<unsigned_int_const,gold" (binary_expression "pair<unsigned_int_const" (identifier "pair") (< "<") (identifier "unsigned_int_const")) (, ",") (identifier "gold")) (: ":") (: ":") (identifier "Layout") (: ":") (: ":")) (comma_expression "Gnu_property>>>\n              *)local_18,param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c" (binary_expression "Gnu_property>>>\n              *)local_18" (identifier "Gnu_property") (>> ">>") (ERROR ">" (> ">")) (pointer_expression "*)local_18" (* "*") (ERROR ")" () ")")) (identifier "local_18"))) (, ",") (comma_expression "param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c" (binary_expression "param_1 + 0x280" (identifier "param_1") (+ "+") (number_literal "0x280")) (, ",") (comma_expression "iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c" (identifier "iVar5") (, ",") (comma_expression "PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,\n             auStack_1c" (binary_expression "PTR_s_alize_xindex_004323b4 + -0x15bc" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x15bc")) (, ",") (comma_expression "&local_20,\n             auStack_1c" (pointer_expression "&local_20" (& "&") (identifier "local_20")) (, ",") (identifier "auStack_1c")))))) () ")")) () ""))) (; ";")) (expression_statement "iVar7 = local_18[0];" (assignment_expression "iVar7 = local_18[0]" (identifier "iVar7") (= "=") (subscript_expression "local_18[0]" (identifier "local_18") ([ "[") (number_literal "0") (] "]"))) (; ";")) (labeled_statement "LAB_00127270:\n  *(undefined4 *)(iVar7 + 0x14) = param_4;" (statement_identifier "LAB_00127270") (: ":") (expression_statement "*(undefined4 *)(iVar7 + 0x14) = param_4;" (assignment_expression "*(undefined4 *)(iVar7 + 0x14) = param_4" (pointer_expression "*(undefined4 *)(iVar7 + 0x14)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x14)" (( "(") (binary_expression "iVar7 + 0x14" (identifier "iVar7") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "param_4")) (; ";"))) (expression_statement "*(undefined4 *)(iVar7 + 0x18) = uVar4;" (assignment_expression "*(undefined4 *)(iVar7 + 0x18) = uVar4" (pointer_expression "*(undefined4 *)(iVar7 + 0x18)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x18)" (( "(") (binary_expression "iVar7 + 0x18" (identifier "iVar7") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (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: (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 (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) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) body: (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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (identifier)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (ERROR (comma_expression left: (identifier) (ERROR (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) (comma_expression left: (identifier) (ERROR (identifier)) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) (comma_expression left: (identifier) (ERROR (identifier)) right: (identifier)) (binary_expression left: (identifier) right: (identifier))) right: (identifier)) (identifier) (identifier) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) (comma_expression left: (identifier) (ERROR (identifier) (binary_expression left: (identifier) right: (identifier)) (identifier)) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) (ERROR) right: (identifier))) (expression_statement (binary_expression left: (identifier) (ERROR) right: (parenthesized_expression (parenthesized_expression (ERROR (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) (identifier) (binary_expression left: (identifier) (ERROR) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) (identifier) (binary_expression left: (identifier) (ERROR) right: (identifier)) (binary_expression left: (binary_expression left: (identifier) right: (identifier)) (ERROR) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) (identifier)) (comma_expression left: (binary_expression left: (identifier) (ERROR) right: (pointer_expression (ERROR) argument: (identifier))) right: (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (comma_expression left: (identifier) right: (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (comma_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))) (MISSING ")")))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (return_statement))))

void MASKED(int param_1,int param_2,uint param_3,undefined4 param_4,undefined4 param_5)

{
  int *piVar1;
  bool bVar2;
  int iVar3;
  undefined4 uVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  uint local_res8 [2];
  uint *local_20;
  undefined1 auStack_1c [4];
  int local_18 [2];
  
  local_res8[0] = param_3;
  if (param_2 != 5) {
    (*(code *)PTR_do_gold_unreachable_004323c4)
              (PTR_s_alize_xindex_004323b4 + -0x2c4c,0x973,PTR_s_alize_xindex_004323b4 + -0x16f4);
    return;
  }
  uVar4 = (*(code *)PTR_operator_new___004322dc)(param_4);
  (*(code *)PTR_memcpy_00436788)(uVar4,param_5,param_4);
  iVar5 = param_1 + 0x284;
  iVar3 = *(int *)(param_1 + 0x288);
  iVar6 = iVar5;
  if (*(int *)(param_1 + 0x288) != 0) {
    do {
      while (iVar7 = iVar3, local_res8[0] <= *(uint *)(iVar7 + 0x10)) {
        iVar3 = *(int *)(iVar7 + 8);
        iVar6 = iVar7;
        if (*(int *)(iVar7 + 8) == 0) goto LAB_00127220;
      }
      piVar1 = (int *)(iVar7 + 0xc);
      iVar3 = *piVar1;
      iVar7 = iVar6;
    } while (*piVar1 != 0);
LAB_00127220:
    bVar2 = iVar5 != iVar7;
    iVar5 = iVar7;
    if ((bVar2) && (*(uint *)(iVar7 + 0x10) <= local_res8[0])) goto LAB_00127270;
  }
  local_20 = local_res8;
  std::
  _Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>
  ::
  _M_emplace_hint_unique<std::piecewise_construct_t_const&,std::tuple<unsigned_int_const&>,std::tuple<>>
            ((_Rb_tree<unsigned_int,std::pair<unsigned_int_const,gold::Layout::Gnu_property>,std::_Select1st<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>,std::less<unsigned_int>,std::allocator<std::pair<unsigned_int_const,gold::Layout::Gnu_property>>>
              *)local_18,param_1 + 0x280,iVar5,PTR_s_alize_xindex_004323b4 + -0x15bc,&local_20,
             auStack_1c);
  iVar7 = local_18[0];
LAB_00127270:
  *(undefined4 *)(iVar7 + 0x14) = param_4;
  *(undefined4 *)(iVar7 + 0x18) = uVar4;
  return;
}

