
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* DWARF original name: _M_emplace_unique<std::pair<int, gold::Cie*> >
   DWARF original prototype:
   pair<std::_Rb_tree_iterator<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>,_bool>
   _M_emplace_unique<std::pair<int,_gold::Cie*>_>(_Rb_tree<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_gold::Cie*>,_std::_Select1st<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>,_std::less<long_long_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>_>
   * this, pair<int,_gold::Cie*> * __args#0) */

pair<std::_Rb_tree_iterator<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>,_bool> __thiscall
std::
_Rb_tree<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_gold::Cie*>,_std::_Select1st<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>,_std::less<long_long_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>_>
::_M_emplace_unique<std::pair<int,_gold::Cie*>_>
          (_Rb_tree<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_gold::Cie*>,_std::_Select1st<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>,_std::less<long_long_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>_>
           *this,pair<int,_gold::Cie*> *__args_0)

{
  bool bVar1;
  Cie *pCVar2;
  int iVar3;
  uint uVar4;
  pointer pcVar5;
  undefined4 extraout_v1;
  undefined4 uVar6;
  Cie *pCVar7;
  uint *in_a2;
  Cie *pCVar8;
  pointer pcVar9;
  uint uVar10;
  pair<std::_Rb_tree_iterator<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>,_bool> pVar11;
  pair<std::_Rb_tree_iterator<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>,_bool> pVar12;
  
  iVar3 = (*(code *)PTR_operator_new_004c13a8)(0x20);
  uVar10 = *in_a2;
  uVar4 = in_a2[1];
  pCVar8 = (Cie *)__args_0[1].first;
  pcVar9 = (pointer)((int)uVar10 >> 0x1f);
  *(uint *)(iVar3 + 0x14) = uVar10;
  *(uint *)(iVar3 + 0x18) = uVar4;
  *(pointer *)(iVar3 + 0x10) = pcVar9;
  pCVar7 = (Cie *)&__args_0->second;
  if (pCVar8 == (Cie *)0x0) {
LAB_002f8110:
    if (__args_0[1].second != pCVar7) {
      pCVar8 = (Cie *)(*(code *)PTR__Rb_tree_decrement_004c1a5c)(pCVar7);
      pcVar5 = (pCVar8->personality_name_)._M_dataplus._M_p;
      uVar4 = (pCVar8->personality_name_)._M_string_length;
LAB_002f8078:
      if (((pcVar9 <= pcVar5) && ((pcVar9 != pcVar5 || (uVar10 <= uVar4)))) ||
         (pCVar8 = (Cie *)0x0, pCVar7 == (Cie *)0x0)) {
        (*(code *)PTR_operator_delete_004c12fc)(iVar3);
        *(Cie **)&this->_M_impl = pCVar8;
        *(undefined1 *)&(this->_M_impl).super__Rb_tree_header._M_header._M_color = _S_red;
        pVar11.first._M_node = (_Base_ptr)this;
        pVar11._4_4_ = extraout_v1;
        return pVar11;
      }
    }
    if ((Cie *)&__args_0->second == pCVar7) {
      uVar6 = 1;
    }
    else {
      pcVar5 = (pCVar7->personality_name_)._M_dataplus._M_p;
      uVar6 = 1;
      if (pcVar5 <= pcVar9) {
        if ((pcVar5 == pcVar9) && (uVar10 < (pCVar7->personality_name_)._M_string_length)) {
          uVar6 = 1;
        }
        else {
          uVar6 = 0;
        }
      }
    }
    (*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,pCVar7);
    pCVar8 = __args_0[2].second;
    *(int *)&this->_M_impl = iVar3;
    __args_0[2].second = (Cie *)((int)&pCVar8->object_ + 1);
    *(undefined1 *)&(this->_M_impl).super__Rb_tree_header._M_header._M_color = _S_black;
    pVar12.first._M_node = (_Base_ptr)this;
    pVar12._4_4_ = 1;
    return pVar12;
  }
  pcVar5 = (pCVar8->personality_name_)._M_dataplus._M_p;
  uVar4 = (pCVar8->personality_name_)._M_string_length;
  if (pcVar9 < pcVar5) goto LAB_002f8064;
  do {
    if ((pcVar5 == pcVar9) && (uVar10 < uVar4)) goto LAB_002f8064;
    bVar1 = false;
    pCVar2 = *(Cie **)&pCVar8->fde_encoding_;
    pCVar7 = pCVar8;
    while( true ) {
      pCVar8 = pCVar2;
      if (pCVar8 == (Cie *)0x0) {
        pCVar8 = pCVar7;
        if (bVar1) goto LAB_002f8110;
        goto LAB_002f8078;
      }
      pcVar5 = (pCVar8->personality_name_)._M_dataplus._M_p;
      uVar4 = (pCVar8->personality_name_)._M_string_length;
      if (pcVar5 <= pcVar9) break;
LAB_002f8064:
      bVar1 = true;
      pCVar2 = (Cie *)pCVar8->input_offset_;
      pCVar7 = pCVar8;
    }
  } while( true );
}



/* std::pair<std::_Rb_tree_iterator<std::pair<unsigned long long const, gold::Cie*> >, bool>
   std::_Rb_tree<unsigned long long, std::pair<unsigned long long const, gold::Cie*>,
   std::_Select1st<std::pair<unsigned long long const, gold::Cie*> >, std::less<unsigned long long>,
   std::allocator<std::pair<unsigned long long const, gold::Cie*> >
   >::_M_emplace_unique<std::pair<int, gold::Cie*> >(std::pair<int, gold::Cie*>&&) */

pair * std::
       _Rb_tree<unsigned_long_long,std::pair<unsigned_long_long_const,gold::Cie*>,std::_Select1st<std::pair<unsigned_long_long_const,gold::Cie*>>,std::less<unsigned_long_long>,std::allocator<std::pair<unsigned_long_long_const,gold::Cie*>>>
       ::_M_emplace_unique<std::pair<int,gold::Cie*>>(pair *param_1)

{
  bool bVar1;
  int iVar2;
  int iVar3;
  uint uVar4;
  uint uVar5;
  undefined4 uVar6;
  int in_a1;
  int iVar7;
  uint *in_a2;
  int iVar8;
  uint uVar9;
  uint uVar10;
  
  iVar3 = (*(code *)PTR_operator_new_004c13a8)(0x20);
  uVar10 = *in_a2;
  uVar4 = in_a2[1];
  iVar8 = *(int *)(in_a1 + 8);
  uVar9 = (int)uVar10 >> 0x1f;
  *(uint *)(iVar3 + 0x14) = uVar10;
  *(uint *)(iVar3 + 0x18) = uVar4;
  *(uint *)(iVar3 + 0x10) = uVar9;
  iVar7 = in_a1 + 4;
  if (iVar8 == 0) {
LAB_002f8110:
    if (*(int *)(in_a1 + 0xc) != iVar7) {
      iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7);
      uVar4 = *(uint *)(iVar8 + 0x10);
      uVar5 = *(uint *)(iVar8 + 0x14);
LAB_002f8078:
      if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))
      {
        (*(code *)PTR_operator_delete_004c12fc)(iVar3);
        *(int *)param_1 = iVar8;
        param_1[4] = (pair)0x0;
        return param_1;
      }
    }
    if (in_a1 + 4 == iVar7) {
      uVar6 = 1;
    }
    else {
      uVar6 = 1;
      if (*(uint *)(iVar7 + 0x10) <= uVar9) {
        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {
          uVar6 = 1;
        }
        else {
          uVar6 = 0;
        }
      }
    }
    (*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,iVar7);
    iVar8 = *(int *)(in_a1 + 0x14);
    *(int *)param_1 = iVar3;
    *(int *)(in_a1 + 0x14) = iVar8 + 1;
    param_1[4] = (pair)0x1;
    return param_1;
  }
  uVar4 = *(uint *)(iVar8 + 0x10);
  uVar5 = *(uint *)(iVar8 + 0x14);
  if (uVar9 < uVar4) goto LAB_002f8064;
  do {
    if ((uVar4 == uVar9) && (uVar10 < uVar5)) goto LAB_002f8064;
    bVar1 = false;
    iVar2 = *(int *)(iVar8 + 0xc);
    iVar7 = iVar8;
    while( true ) {
      iVar8 = iVar2;
      if (iVar8 == 0) {
        iVar8 = iVar7;
        if (bVar1) goto LAB_002f8110;
        goto LAB_002f8078;
      }
      uVar4 = *(uint *)(iVar8 + 0x10);
      uVar5 = *(uint *)(iVar8 + 0x14);
      if (uVar4 <= uVar9) break;
LAB_002f8064:
      bVar1 = true;
      iVar2 = *(int *)(iVar8 + 8);
      iVar7 = iVar8;
    }
  } while( true );
}


lui gp,0x1d
addiu gp,gp,0x1298
addu gp,gp,t9
addiu sp,sp,-0x40
lw t9,-0x7e98(gp)
sw s5,0x38(sp)
or s5,a0,zero
sw s0,0x24(sp)
li a0,0x20
or s0,a2,zero
sw gp,0x10(sp)
sw s4,0x34(sp)
sw s3,0x30(sp)
sw s2,0x2c(sp)
sw s1,0x28(sp)
sw ra,0x3c(sp)
jalr t9
_or s3,a1,zero
addiu a3,s3,0x4
lw s4,0x0(s0)
or s1,v0,zero
lw v0,0x4(s0)
lw s0,0x8(s3)
sra s2,s4,0x1f
lw gp,0x10(sp)
sw s4,0x14(s1)
sw v0,0x18(s1)
beq s0,zero,0x002f810c
_sw s2,0x10(s1)
lw v1,0x10(s0)
li a1,0x1
sltu v0,s2,v1
bne v0,zero,0x002f8064
_lw a0,0x14(s0)
bne v1,s2,0x002f8040
_sltu v0,s4,a0
bne v0,zero,0x002f8064
_nop
lw v0,0xc(s0)
beq v0,zero,0x002f8070
_or a1,zero,zero
or s0,v0,zero
li a1,0x1
lw v1,0x10(s0)
sltu v0,s2,v1
beq v0,zero,0x002f8030
_lw a0,0x14(s0)
lw v0,0x8(s0)
bne v0,zero,0x002f804c
_nop
bne a1,zero,0x002f8110
_or a1,s0,zero
sltu v0,v1,s2
bne v0,zero,0x002f80d4
_nop
bne s2,v1,0x002f809c
_lw t9,-0x7f44(gp)
sltu a0,a0,s4
bne a0,zero,0x002f80d4
_nop
lw t9,-0x7f44(gp)
jalr t9
_or a0,s1,zero
or v0,s5,zero
lw ra,0x3c(sp)
lw s4,0x34(sp)
lw s3,0x30(sp)
lw s2,0x2c(sp)
lw s1,0x28(sp)
sw s0,0x0(s5)
sb zero,0x4(s5)
lw s0,0x24(sp)
lw s5,0x38(sp)
jr ra
_addiu sp,sp,0x40
beq a1,zero,0x002f8098
_or s0,zero,zero
or s0,a1,zero
beq a3,s0,0x002f8144
_nop
lw v0,0x10(s0)
sltu v1,s2,v0
bne v1,zero,0x002f8104
_li a0,0x1
beq v0,s2,0x002f8198
_nop
or a0,zero,zero
b 0x002f8148
_andi a0,a0,0xff
or s0,a3,zero
lw v0,0xc(s3)
beq v0,s0,0x002f80e0
_lw t9,-0x77e4(gp)
or a0,s0,zero
jalr t9
_sw a3,0x18(sp)
or a1,s0,zero
lw gp,0x10(sp)
or s0,v0,zero
lw v1,0x10(v0)
lw a0,0x14(v0)
b 0x002f8078
_lw a3,0x18(sp)
li a0,0x1
lw t9,-0x77e8(gp)
or a2,s0,zero
jalr t9
_or a1,s1,zero
li v1,0x1
lw v0,0x14(s3)
lw ra,0x3c(sp)
lw s4,0x34(sp)
addiu v0,v0,0x1
lw s2,0x2c(sp)
lw s0,0x24(sp)
sw s1,0x0(s5)
sw v0,0x14(s3)
or v0,s5,zero
sb v1,0x4(s5)
lw s3,0x30(sp)
lw s5,0x38(sp)
lw s1,0x28(sp)
jr ra
_addiu sp,sp,0x40
lw v0,0x14(s0)
sltu s4,s4,v0
beq s4,zero,0x002f8100
_nop
b 0x002f8148
_andi a0,a0,0xff
(translation_unit "/* std::pair<std::_Rb_tree_iterator<std::pair<unsigned long long const, gold::Cie*> >, bool>\n   std::_Rb_tree<unsigned long long, std::pair<unsigned long long const, gold::Cie*>,\n   std::_Select1st<std::pair<unsigned long long const, gold::Cie*> >, std::less<unsigned long long>,\n   std::allocator<std::pair<unsigned long long const, gold::Cie*> >\n   >::_M_emplace_unique<std::pair<int, gold::Cie*> >(std::pair<int, gold::Cie*>&&) */\n\npair * std::\n       _Rb_tree<unsigned_long_long,std::pair<unsigned_long_long_const,gold::Cie*>,std::_Select1st<std::pair<unsigned_long_long_const,gold::Cie*>>,std::less<unsigned_long_long>,std::allocator<std::pair<unsigned_long_long_const,gold::Cie*>>>\n       ::_M_emplace_unique<std::pair<int,gold::Cie*>>(pair *param_1)\n\n{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  int in_a1;\n  int iVar7;\n  uint *in_a2;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  \n  iVar3 = (*(code *)PTR_operator_new_004c13a8)(0x20);\n  uVar10 = *in_a2;\n  uVar4 = in_a2[1];\n  iVar8 = *(int *)(in_a1 + 8);\n  uVar9 = (int)uVar10 >> 0x1f;\n  *(uint *)(iVar3 + 0x14) = uVar10;\n  *(uint *)(iVar3 + 0x18) = uVar4;\n  *(uint *)(iVar3 + 0x10) = uVar9;\n  iVar7 = in_a1 + 4;\n  if (iVar8 == 0) {\nLAB_002f8110:\n    if (*(int *)(in_a1 + 0xc) != iVar7) {\n      iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7);\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\nLAB_002f8078:\n      if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }\n    }\n    if (in_a1 + 4 == iVar7) {\n      uVar6 = 1;\n    }\n    else {\n      uVar6 = 1;\n      if (*(uint *)(iVar7 + 0x10) <= uVar9) {\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }\n    (*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,iVar7);\n    iVar8 = *(int *)(in_a1 + 0x14);\n    *(int *)param_1 = iVar3;\n    *(int *)(in_a1 + 0x14) = iVar8 + 1;\n    param_1[4] = (pair)0x1;\n    return param_1;\n  }\n  uVar4 = *(uint *)(iVar8 + 0x10);\n  uVar5 = *(uint *)(iVar8 + 0x14);\n  if (uVar9 < uVar4) goto LAB_002f8064;\n  do {\n    if ((uVar4 == uVar9) && (uVar10 < uVar5)) goto LAB_002f8064;\n    bVar1 = false;\n    iVar2 = *(int *)(iVar8 + 0xc);\n    iVar7 = iVar8;\n    while( true ) {\n      iVar8 = iVar2;\n      if (iVar8 == 0) {\n        iVar8 = iVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\n      if (uVar4 <= uVar9) break;\nLAB_002f8064:\n      bVar1 = true;\n      iVar2 = *(int *)(iVar8 + 8);\n      iVar7 = iVar8;\n    }\n  } while( true );\n}\n\n" comment (ERROR "pair * std::\n       _Rb_tree<unsigned_long_long,std::pair<unsigned_long_long_const,gold::Cie*>,std::_Select1st<std::pair<unsigned_long_long_const,gold::Cie*>>,std::less<unsigned_long_long>,std::allocator<std::pair<unsigned_long_long_const,gold::Cie*>>>\n       ::_M_emplace_unique<std::pair<int,gold::Cie*>>(pair *param_1)" (binary_expression "pair * std" identifier * identifier) : : (binary_expression "_Rb_tree<unsigned_long_long" identifier < identifier) , (binary_expression "std::pair<unsigned_long_long_const,gold::Cie*>,std::_Select1st<std::pair<unsigned_long_long_const,gold::Cie*>>,std::less<unsigned_long_long>,std::allocator<std::pair<unsigned_long_long_const,gold::Cie*>>>\n       ::_M_emplace_unique<std::pair<int,gold::Cie*>>(pair *param_1)" identifier (ERROR "::pair<unsigned_long_long_const,gold::Cie*>,std::_Select1st<std::pair<unsigned_long_long_const,gold::Cie*>>,std::less<unsigned_long_long>,std::allocator<std::pair<unsigned_long_long_const,gold::Cie*>>>\n       ::_M_emplace_unique<std::pair<int,gold::Cie*" : : (comma_expression "pair<unsigned_long_long_const,gold" (binary_expression "pair<unsigned_long_long_const" identifier < identifier) , identifier) : : (comma_expression "Cie*>,std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<unsigned_long_long_const,gold" (binary_expression "pair<unsigned_long_long_const" identifier < identifier) , identifier) : : (comma_expression "Cie*>>,std" identifier (ERROR "*>>" * >>) , identifier) : : (binary_expression "less<unsigned_long_long>,std" (binary_expression "less<unsigned_long_long" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_long_long_const,gold" (binary_expression "pair<unsigned_long_long_const" identifier < identifier) , identifier) : : identifier * >> > : : (binary_expression "_M_emplace_unique<std" identifier < identifier) : : (comma_expression "pair<int,gold" (binary_expression "pair<int" identifier < identifier) , identifier) : : identifier *) >> (parenthesized_expression "(pair *param_1)" ( (binary_expression "pair *param_1" identifier * identifier) )))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  int in_a1;\n  int iVar7;\n  uint *in_a2;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  \n  iVar3 = (*(code *)PTR_operator_new_004c13a8)(0x20);\n  uVar10 = *in_a2;\n  uVar4 = in_a2[1];\n  iVar8 = *(int *)(in_a1 + 8);\n  uVar9 = (int)uVar10 >> 0x1f;\n  *(uint *)(iVar3 + 0x14) = uVar10;\n  *(uint *)(iVar3 + 0x18) = uVar4;\n  *(uint *)(iVar3 + 0x10) = uVar9;\n  iVar7 = in_a1 + 4;\n  if (iVar8 == 0) {\nLAB_002f8110:\n    if (*(int *)(in_a1 + 0xc) != iVar7) {\n      iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7);\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\nLAB_002f8078:\n      if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }\n    }\n    if (in_a1 + 4 == iVar7) {\n      uVar6 = 1;\n    }\n    else {\n      uVar6 = 1;\n      if (*(uint *)(iVar7 + 0x10) <= uVar9) {\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }\n    (*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,iVar7);\n    iVar8 = *(int *)(in_a1 + 0x14);\n    *(int *)param_1 = iVar3;\n    *(int *)(in_a1 + 0x14) = iVar8 + 1;\n    param_1[4] = (pair)0x1;\n    return param_1;\n  }\n  uVar4 = *(uint *)(iVar8 + 0x10);\n  uVar5 = *(uint *)(iVar8 + 0x14);\n  if (uVar9 < uVar4) goto LAB_002f8064;\n  do {\n    if ((uVar4 == uVar9) && (uVar10 < uVar5)) goto LAB_002f8064;\n    bVar1 = false;\n    iVar2 = *(int *)(iVar8 + 0xc);\n    iVar7 = iVar8;\n    while( true ) {\n      iVar8 = iVar2;\n      if (iVar8 == 0) {\n        iVar8 = iVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\n      if (uVar4 <= uVar9) break;\nLAB_002f8064:\n      bVar1 = true;\n      iVar2 = *(int *)(iVar8 + 8);\n      iVar7 = iVar8;\n    }\n  } while( true );\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int in_a1;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint *in_a2;" type_identifier (pointer_declarator "*in_a2" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (expression_statement "iVar3 = (*(code *)PTR_operator_new_004c13a8)(0x20);" (assignment_expression "iVar3 = (*(code *)PTR_operator_new_004c13a8)(0x20)" identifier = (call_expression "(*(code *)PTR_operator_new_004c13a8)(0x20)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" ( (pointer_expression "*(code *)PTR_operator_new_004c13a8" * (cast_expression "(code *)PTR_operator_new_004c13a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x20)" ( number_literal )))) ;) (expression_statement "uVar10 = *in_a2;" (assignment_expression "uVar10 = *in_a2" identifier = (pointer_expression "*in_a2" * identifier)) ;) (expression_statement "uVar4 = in_a2[1];" (assignment_expression "uVar4 = in_a2[1]" identifier = (subscript_expression "in_a2[1]" identifier [ number_literal ])) ;) (expression_statement "iVar8 = *(int *)(in_a1 + 8);" (assignment_expression "iVar8 = *(int *)(in_a1 + 8)" identifier = (pointer_expression "*(int *)(in_a1 + 8)" * (cast_expression "(int *)(in_a1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_a1 + 8)" ( (binary_expression "in_a1 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = (int)uVar10 >> 0x1f;" (assignment_expression "uVar9 = (int)uVar10 >> 0x1f" identifier = (binary_expression "(int)uVar10 >> 0x1f" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "*(uint *)(iVar3 + 0x14) = uVar10;" (assignment_expression "*(uint *)(iVar3 + 0x14) = uVar10" (pointer_expression "*(uint *)(iVar3 + 0x14)" * (cast_expression "(uint *)(iVar3 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar3 + 0x18) = uVar4;" (assignment_expression "*(uint *)(iVar3 + 0x18) = uVar4" (pointer_expression "*(uint *)(iVar3 + 0x18)" * (cast_expression "(uint *)(iVar3 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x18)" ( (binary_expression "iVar3 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar3 + 0x10) = uVar9;" (assignment_expression "*(uint *)(iVar3 + 0x10) = uVar9" (pointer_expression "*(uint *)(iVar3 + 0x10)" * (cast_expression "(uint *)(iVar3 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x10)" ( (binary_expression "iVar3 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar7 = in_a1 + 4;" (assignment_expression "iVar7 = in_a1 + 4" identifier = (binary_expression "in_a1 + 4" identifier + number_literal)) ;) (if_statement "if (iVar8 == 0) {\nLAB_002f8110:\n    if (*(int *)(in_a1 + 0xc) != iVar7) {\n      iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7);\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\nLAB_002f8078:\n      if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }\n    }\n    if (in_a1 + 4 == iVar7) {\n      uVar6 = 1;\n    }\n    else {\n      uVar6 = 1;\n      if (*(uint *)(iVar7 + 0x10) <= uVar9) {\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }\n    (*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,iVar7);\n    iVar8 = *(int *)(in_a1 + 0x14);\n    *(int *)param_1 = iVar3;\n    *(int *)(in_a1 + 0x14) = iVar8 + 1;\n    param_1[4] = (pair)0x1;\n    return param_1;\n  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_002f8110:\n    if (*(int *)(in_a1 + 0xc) != iVar7) {\n      iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7);\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\nLAB_002f8078:\n      if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }\n    }\n    if (in_a1 + 4 == iVar7) {\n      uVar6 = 1;\n    }\n    else {\n      uVar6 = 1;\n      if (*(uint *)(iVar7 + 0x10) <= uVar9) {\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }\n    (*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,iVar7);\n    iVar8 = *(int *)(in_a1 + 0x14);\n    *(int *)param_1 = iVar3;\n    *(int *)(in_a1 + 0x14) = iVar8 + 1;\n    param_1[4] = (pair)0x1;\n    return param_1;\n  }" { (labeled_statement "LAB_002f8110:\n    if (*(int *)(in_a1 + 0xc) != iVar7) {\n      iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7);\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\nLAB_002f8078:\n      if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }\n    }" statement_identifier : (if_statement "if (*(int *)(in_a1 + 0xc) != iVar7) {\n      iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7);\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\nLAB_002f8078:\n      if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }\n    }" if (parenthesized_expression "(*(int *)(in_a1 + 0xc) != iVar7)" ( (binary_expression "*(int *)(in_a1 + 0xc) != iVar7" (pointer_expression "*(int *)(in_a1 + 0xc)" * (cast_expression "(int *)(in_a1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_a1 + 0xc)" ( (binary_expression "in_a1 + 0xc" identifier + number_literal) )))) != identifier) )) (compound_statement "{\n      iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7);\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\nLAB_002f8078:\n      if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }\n    }" { (expression_statement "iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7);" (assignment_expression "iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7)" identifier = (call_expression "(*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7)" (parenthesized_expression "(*(code *)PTR__Rb_tree_decrement_004c1a5c)" ( (pointer_expression "*(code *)PTR__Rb_tree_decrement_004c1a5c" * (cast_expression "(code *)PTR__Rb_tree_decrement_004c1a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "uVar4 = *(uint *)(iVar8 + 0x10);" (assignment_expression "uVar4 = *(uint *)(iVar8 + 0x10)" identifier = (pointer_expression "*(uint *)(iVar8 + 0x10)" * (cast_expression "(uint *)(iVar8 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x10)" ( (binary_expression "iVar8 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(uint *)(iVar8 + 0x14);" (assignment_expression "uVar5 = *(uint *)(iVar8 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar8 + 0x14)" * (cast_expression "(uint *)(iVar8 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x14)" ( (binary_expression "iVar8 + 0x14" identifier + number_literal) ))))) ;) (labeled_statement "LAB_002f8078:\n      if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }" statement_identifier : (if_statement "if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }" if (parenthesized_expression "(((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))" ( (binary_expression "((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0)" (parenthesized_expression "((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5))))" ( (binary_expression "(uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))" (parenthesized_expression "(uVar9 <= uVar4)" ( (binary_expression "uVar9 <= uVar4" identifier <= identifier) )) && (parenthesized_expression "((uVar9 != uVar4 || (uVar10 <= uVar5)))" ( (parenthesized_expression "(uVar9 != uVar4 || (uVar10 <= uVar5))" ( (binary_expression "uVar9 != uVar4 || (uVar10 <= uVar5)" (binary_expression "uVar9 != uVar4" identifier != identifier) || (parenthesized_expression "(uVar10 <= uVar5)" ( (binary_expression "uVar10 <= uVar5" identifier <= identifier) ))) )) ))) )) || (parenthesized_expression "(iVar8 = 0, iVar7 == 0)" ( (comma_expression "iVar8 = 0, iVar7 == 0" (assignment_expression "iVar8 = 0" identifier = number_literal) , (binary_expression "iVar7 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)(iVar3);" (call_expression "(*(code *)PTR_operator_delete_004c12fc)(iVar3)" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "*(int *)param_1 = iVar8;" (assignment_expression "*(int *)param_1 = iVar8" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "param_1[4] = (pair)0x0;" (assignment_expression "param_1[4] = (pair)0x0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = (cast_expression "(pair)0x0" ( (type_descriptor "pair" type_identifier) ) number_literal)) ;) (return_statement "return param_1;" return identifier ;) }))) }))) (if_statement "if (in_a1 + 4 == iVar7) {\n      uVar6 = 1;\n    }\n    else {\n      uVar6 = 1;\n      if (*(uint *)(iVar7 + 0x10) <= uVar9) {\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }" if (parenthesized_expression "(in_a1 + 4 == iVar7)" ( (binary_expression "in_a1 + 4 == iVar7" (binary_expression "in_a1 + 4" identifier + number_literal) == identifier) )) (compound_statement "{\n      uVar6 = 1;\n    }" { (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) }) (else_clause "else {\n      uVar6 = 1;\n      if (*(uint *)(iVar7 + 0x10) <= uVar9) {\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }" else (compound_statement "{\n      uVar6 = 1;\n      if (*(uint *)(iVar7 + 0x10) <= uVar9) {\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }" { (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (if_statement "if (*(uint *)(iVar7 + 0x10) <= uVar9) {\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }" if (parenthesized_expression "(*(uint *)(iVar7 + 0x10) <= uVar9)" ( (binary_expression "*(uint *)(iVar7 + 0x10) <= uVar9" (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) )))) <= identifier) )) (compound_statement "{\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }" { (if_statement "if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }" if (parenthesized_expression "((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14)))" ( (binary_expression "(*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))" (parenthesized_expression "(*(uint *)(iVar7 + 0x10) == uVar9)" ( (binary_expression "*(uint *)(iVar7 + 0x10) == uVar9" (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) )))) == identifier) )) && (parenthesized_expression "(uVar10 < *(uint *)(iVar7 + 0x14))" ( (binary_expression "uVar10 < *(uint *)(iVar7 + 0x14)" identifier < (pointer_expression "*(uint *)(iVar7 + 0x14)" * (cast_expression "(uint *)(iVar7 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) ))))) ))) )) (compound_statement "{\n          uVar6 = 1;\n        }" { (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) }) (else_clause "else {\n          uVar6 = 0;\n        }" else (compound_statement "{\n          uVar6 = 0;\n        }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) }))) })) }))) (expression_statement "(*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,iVar7);" (call_expression "(*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,iVar7)" (parenthesized_expression "(*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)" ( (pointer_expression "*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58" * (cast_expression "(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar6,iVar3,iVar7)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar8 = *(int *)(in_a1 + 0x14);" (assignment_expression "iVar8 = *(int *)(in_a1 + 0x14)" identifier = (pointer_expression "*(int *)(in_a1 + 0x14)" * (cast_expression "(int *)(in_a1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_a1 + 0x14)" ( (binary_expression "in_a1 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(int *)param_1 = iVar3;" (assignment_expression "*(int *)param_1 = iVar3" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(int *)(in_a1 + 0x14) = iVar8 + 1;" (assignment_expression "*(int *)(in_a1 + 0x14) = iVar8 + 1" (pointer_expression "*(int *)(in_a1 + 0x14)" * (cast_expression "(int *)(in_a1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_a1 + 0x14)" ( (binary_expression "in_a1 + 0x14" identifier + number_literal) )))) = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "param_1[4] = (pair)0x1;" (assignment_expression "param_1[4] = (pair)0x1" (subscript_expression "param_1[4]" identifier [ number_literal ]) = (cast_expression "(pair)0x1" ( (type_descriptor "pair" type_identifier) ) number_literal)) ;) (return_statement "return param_1;" return identifier ;) })) (expression_statement "uVar4 = *(uint *)(iVar8 + 0x10);" (assignment_expression "uVar4 = *(uint *)(iVar8 + 0x10)" identifier = (pointer_expression "*(uint *)(iVar8 + 0x10)" * (cast_expression "(uint *)(iVar8 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x10)" ( (binary_expression "iVar8 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(uint *)(iVar8 + 0x14);" (assignment_expression "uVar5 = *(uint *)(iVar8 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar8 + 0x14)" * (cast_expression "(uint *)(iVar8 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x14)" ( (binary_expression "iVar8 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (uVar9 < uVar4) goto LAB_002f8064;" if (parenthesized_expression "(uVar9 < uVar4)" ( (binary_expression "uVar9 < uVar4" identifier < identifier) )) (goto_statement "goto LAB_002f8064;" goto statement_identifier ;)) (do_statement "do {\n    if ((uVar4 == uVar9) && (uVar10 < uVar5)) goto LAB_002f8064;\n    bVar1 = false;\n    iVar2 = *(int *)(iVar8 + 0xc);\n    iVar7 = iVar8;\n    while( true ) {\n      iVar8 = iVar2;\n      if (iVar8 == 0) {\n        iVar8 = iVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\n      if (uVar4 <= uVar9) break;\nLAB_002f8064:\n      bVar1 = true;\n      iVar2 = *(int *)(iVar8 + 8);\n      iVar7 = iVar8;\n    }\n  } while( true );" do (compound_statement "{\n    if ((uVar4 == uVar9) && (uVar10 < uVar5)) goto LAB_002f8064;\n    bVar1 = false;\n    iVar2 = *(int *)(iVar8 + 0xc);\n    iVar7 = iVar8;\n    while( true ) {\n      iVar8 = iVar2;\n      if (iVar8 == 0) {\n        iVar8 = iVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\n      if (uVar4 <= uVar9) break;\nLAB_002f8064:\n      bVar1 = true;\n      iVar2 = *(int *)(iVar8 + 8);\n      iVar7 = iVar8;\n    }\n  }" { (if_statement "if ((uVar4 == uVar9) && (uVar10 < uVar5)) goto LAB_002f8064;" if (parenthesized_expression "((uVar4 == uVar9) && (uVar10 < uVar5))" ( (binary_expression "(uVar4 == uVar9) && (uVar10 < uVar5)" (parenthesized_expression "(uVar4 == uVar9)" ( (binary_expression "uVar4 == uVar9" identifier == identifier) )) && (parenthesized_expression "(uVar10 < uVar5)" ( (binary_expression "uVar10 < uVar5" identifier < identifier) ))) )) (goto_statement "goto LAB_002f8064;" goto statement_identifier ;)) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "iVar2 = *(int *)(iVar8 + 0xc);" (assignment_expression "iVar2 = *(int *)(iVar8 + 0xc)" identifier = (pointer_expression "*(int *)(iVar8 + 0xc)" * (cast_expression "(int *)(iVar8 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xc)" ( (binary_expression "iVar8 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = iVar8;" (assignment_expression "iVar7 = iVar8" identifier = identifier) ;) (while_statement "while( true ) {\n      iVar8 = iVar2;\n      if (iVar8 == 0) {\n        iVar8 = iVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\n      if (uVar4 <= uVar9) break;\nLAB_002f8064:\n      bVar1 = true;\n      iVar2 = *(int *)(iVar8 + 8);\n      iVar7 = iVar8;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      iVar8 = iVar2;\n      if (iVar8 == 0) {\n        iVar8 = iVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\n      if (uVar4 <= uVar9) break;\nLAB_002f8064:\n      bVar1 = true;\n      iVar2 = *(int *)(iVar8 + 8);\n      iVar7 = iVar8;\n    }" { (expression_statement "iVar8 = iVar2;" (assignment_expression "iVar8 = iVar2" identifier = identifier) ;) (if_statement "if (iVar8 == 0) {\n        iVar8 = iVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar8 = iVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }" { (expression_statement "iVar8 = iVar7;" (assignment_expression "iVar8 = iVar7" identifier = identifier) ;) (if_statement "if (bVar1) goto LAB_002f8110;" if (parenthesized_expression "(bVar1)" ( identifier )) (goto_statement "goto LAB_002f8110;" goto statement_identifier ;)) (goto_statement "goto LAB_002f8078;" goto statement_identifier ;) })) (expression_statement "uVar4 = *(uint *)(iVar8 + 0x10);" (assignment_expression "uVar4 = *(uint *)(iVar8 + 0x10)" identifier = (pointer_expression "*(uint *)(iVar8 + 0x10)" * (cast_expression "(uint *)(iVar8 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x10)" ( (binary_expression "iVar8 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(uint *)(iVar8 + 0x14);" (assignment_expression "uVar5 = *(uint *)(iVar8 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar8 + 0x14)" * (cast_expression "(uint *)(iVar8 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x14)" ( (binary_expression "iVar8 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (uVar4 <= uVar9) break;" if (parenthesized_expression "(uVar4 <= uVar9)" ( (binary_expression "uVar4 <= uVar9" identifier <= identifier) )) (break_statement "break;" break ;)) (labeled_statement "LAB_002f8064:\n      bVar1 = true;" statement_identifier : (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;)) (expression_statement "iVar2 = *(int *)(iVar8 + 8);" (assignment_expression "iVar2 = *(int *)(iVar8 + 8)" identifier = (pointer_expression "*(int *)(iVar8 + 8)" * (cast_expression "(int *)(iVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = iVar8;" (assignment_expression "iVar7 = iVar8" identifier = identifier) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) }))
(translation_unit "/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* DWARF original name: _M_emplace_unique<std::pair<int, gold::Cie*> >\n   DWARF original prototype:\n   pair<std::_Rb_tree_iterator<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>,_bool>\n   _M_emplace_unique<std::pair<int,_gold::Cie*>_>(_Rb_tree<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_gold::Cie*>,_std::_Select1st<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>,_std::less<long_long_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>_>\n   * this, pair<int,_gold::Cie*> * __args#0) */\n\npair<std::_Rb_tree_iterator<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>,_bool> __thiscall\nstd::\n_Rb_tree<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_gold::Cie*>,_std::_Select1st<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>,_std::less<long_long_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>_>\n::_M_emplace_unique<std::pair<int,_gold::Cie*>_>\n          (_Rb_tree<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_gold::Cie*>,_std::_Select1st<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>,_std::less<long_long_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>_>\n           *this,pair<int,_gold::Cie*> *__args_0)\n\n{\n  bool bVar1;\n  Cie *pCVar2;\n  int iVar3;\n  uint uVar4;\n  pointer pcVar5;\n  undefined4 extraout_v1;\n  undefined4 uVar6;\n  Cie *pCVar7;\n  uint *in_a2;\n  Cie *pCVar8;\n  pointer pcVar9;\n  uint uVar10;\n  pair<std::_Rb_tree_iterator<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>,_bool> pVar11;\n  pair<std::_Rb_tree_iterator<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>,_bool> pVar12;\n  \n  iVar3 = (*(code *)PTR_operator_new_004c13a8)(0x20);\n  uVar10 = *in_a2;\n  uVar4 = in_a2[1];\n  pCVar8 = (Cie *)__args_0[1].first;\n  pcVar9 = (pointer)((int)uVar10 >> 0x1f);\n  *(uint *)(iVar3 + 0x14) = uVar10;\n  *(uint *)(iVar3 + 0x18) = uVar4;\n  *(pointer *)(iVar3 + 0x10) = pcVar9;\n  pCVar7 = (Cie *)&__args_0->second;\n  if (pCVar8 == (Cie *)0x0) {\nLAB_002f8110:\n    if (__args_0[1].second != pCVar7) {\n      pCVar8 = (Cie *)(*(code *)PTR__Rb_tree_decrement_004c1a5c)(pCVar7);\n      pcVar5 = (pCVar8->personality_name_)._M_dataplus._M_p;\n      uVar4 = (pCVar8->personality_name_)._M_string_length;\nLAB_002f8078:\n      if (((pcVar9 <= pcVar5) && ((pcVar9 != pcVar5 || (uVar10 <= uVar4)))) ||\n         (pCVar8 = (Cie *)0x0, pCVar7 == (Cie *)0x0)) {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(Cie **)&this->_M_impl = pCVar8;\n        *(undefined1 *)&(this->_M_impl).super__Rb_tree_header._M_header._M_color = _S_red;\n        pVar11.first._M_node = (_Base_ptr)this;\n        pVar11._4_4_ = extraout_v1;\n        return pVar11;\n      }\n    }\n    if ((Cie *)&__args_0->second == pCVar7) {\n      uVar6 = 1;\n    }\n    else {\n      pcVar5 = (pCVar7->personality_name_)._M_dataplus._M_p;\n      uVar6 = 1;\n      if (pcVar5 <= pcVar9) {\n        if ((pcVar5 == pcVar9) && (uVar10 < (pCVar7->personality_name_)._M_string_length)) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }\n    (*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,pCVar7);\n    pCVar8 = __args_0[2].second;\n    *(int *)&this->_M_impl = iVar3;\n    __args_0[2].second = (Cie *)((int)&pCVar8->object_ + 1);\n    *(undefined1 *)&(this->_M_impl).super__Rb_tree_header._M_header._M_color = _S_black;\n    pVar12.first._M_node = (_Base_ptr)this;\n    pVar12._4_4_ = 1;\n    return pVar12;\n  }\n  pcVar5 = (pCVar8->personality_name_)._M_dataplus._M_p;\n  uVar4 = (pCVar8->personality_name_)._M_string_length;\n  if (pcVar9 < pcVar5) goto LAB_002f8064;\n  do {\n    if ((pcVar5 == pcVar9) && (uVar10 < uVar4)) goto LAB_002f8064;\n    bVar1 = false;\n    pCVar2 = *(Cie **)&pCVar8->fde_encoding_;\n    pCVar7 = pCVar8;\n    while( true ) {\n      pCVar8 = pCVar2;\n      if (pCVar8 == (Cie *)0x0) {\n        pCVar8 = pCVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }\n      pcVar5 = (pCVar8->personality_name_)._M_dataplus._M_p;\n      uVar4 = (pCVar8->personality_name_)._M_string_length;\n      if (pcVar5 <= pcVar9) break;\nLAB_002f8064:\n      bVar1 = true;\n      pCVar2 = (Cie *)pCVar8->input_offset_;\n      pCVar7 = pCVar8;\n    }\n  } while( true );\n}\n\n" comment comment comment (ERROR "pair<std::_Rb_tree_iterator<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>,_bool> __thiscall\nstd::\n_Rb_tree<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_gold::Cie*>,_std::_Select1st<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>,_std::less<long_long_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>_>\n::_M_emplace_unique<std::pair<int,_gold::Cie*>_>\n          (_Rb_tree<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_gold::Cie*>,_std::_Select1st<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>,_std::less<long_long_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>_>\n           *this,pair<int,_gold::Cie*> *__args_0)" (binary_expression "pair<std" identifier < identifier) : : (binary_expression "_Rb_tree_iterator<std" identifier < identifier) : : (binary_expression "pair<long_long_unsigned_int_const" identifier < identifier) , (binary_expression "_gold::Cie*>_>,_bool> __thiscall\nstd::\n_Rb_tree<long_long_unsigned_int" (binary_expression "_gold::Cie*>_>,_bool> __thiscall" (binary_expression "_gold::Cie*>_>,_bool" (binary_expression "_gold::Cie*>_" identifier (ERROR "::Cie*" : : identifier *) > identifier) > (ERROR "," ,) identifier) > identifier) (ERROR "std::\n_Rb_tree" identifier : : identifier) < identifier) , (binary_expression "_std::pair<long_long_unsigned_int_const,_gold::Cie*>,_std::_Select1st<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>,_std" (binary_expression "_std::pair<long_long_unsigned_int_const,_gold::Cie*>,_std::_Select1st<std::pair<long_long_unsigned_int_const,_gold::Cie*>_" identifier (ERROR "::pair<long_long_unsigned_int_const,_gold::Cie*>,_std::_Select1st<std::pair<long_long_unsigned_int_const,_gold::Cie*" : : (comma_expression "pair<long_long_unsigned_int_const,_gold" (binary_expression "pair<long_long_unsigned_int_const" identifier < identifier) , identifier) : : (comma_expression "Cie*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<long_long_unsigned_int_const,_gold" (binary_expression "pair<long_long_unsigned_int_const" identifier < identifier) , identifier) : : identifier *) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "less<long_long_unsigned_int>,_std" (binary_expression "less<long_long_unsigned_int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<long_long_unsigned_int_const" identifier < identifier) , (binary_expression "_gold::Cie*>_>_>\n::_M_emplace_unique<std" (binary_expression "_gold::Cie*>_>_>\n::_M_emplace_unique" (binary_expression "_gold::Cie*>_>_" (binary_expression "_gold::Cie*>_" identifier (ERROR "::Cie*" : : identifier *) > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier) : : (binary_expression "pair<int" identifier < identifier) , (binary_expression "_gold::Cie*>_>\n          (_Rb_tree<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_gold::Cie*>,_std::_Select1st<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>,_std::less<long_long_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>_>\n           *this,pair<int,_gold::Cie*> *__args_0)" (binary_expression "_gold::Cie*>_" identifier (ERROR "::Cie*" : : identifier *) > identifier) > (parenthesized_expression "(_Rb_tree<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_gold::Cie*>,_std::_Select1st<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>,_std::less<long_long_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>_>\n           *this,pair<int,_gold::Cie*> *__args_0)" ( (ERROR "_Rb_tree<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_gold::Cie*>,_std::_Select1st<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>,_std::less<long_long_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>_>\n           *this,pair<int,_gold::" (comma_expression "_Rb_tree<long_long_unsigned_int,_std" (binary_expression "_Rb_tree<long_long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<long_long_unsigned_int_const,_gold" (binary_expression "pair<long_long_unsigned_int_const" identifier < identifier) , identifier) : : (comma_expression "Cie*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<long_long_unsigned_int_const,_gold" (binary_expression "pair<long_long_unsigned_int_const" identifier < identifier) , identifier) : : (binary_expression "Cie*>_>,_std" (binary_expression "Cie*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : (binary_expression "less<long_long_unsigned_int>,_std" (binary_expression "less<long_long_unsigned_int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_long_unsigned_int_const,_gold" (binary_expression "pair<long_long_unsigned_int_const" identifier < identifier) , identifier) : : (comma_expression "Cie*>_>_>\n           *this,pair<int,_gold" (binary_expression "Cie*>_>_>\n           *this" (binary_expression "Cie*>_>_" (binary_expression "Cie*>_" identifier * (ERROR ">" >) identifier) > identifier) > (pointer_expression "*this" * identifier)) , (comma_expression "pair<int,_gold" (binary_expression "pair<int" identifier < identifier) , identifier)) : :) (binary_expression "Cie*> *__args_0" identifier * (ERROR ">" >) (pointer_expression "*__args_0" * identifier)) )))) (compound_statement "{\n  bool bVar1;\n  Cie *pCVar2;\n  int iVar3;\n  uint uVar4;\n  pointer pcVar5;\n  undefined4 extraout_v1;\n  undefined4 uVar6;\n  Cie *pCVar7;\n  uint *in_a2;\n  Cie *pCVar8;\n  pointer pcVar9;\n  uint uVar10;\n  pair<std::_Rb_tree_iterator<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>,_bool> pVar11;\n  pair<std::_Rb_tree_iterator<std::pair<long_long_unsigned_int_const,_gold::Cie*>_>,_bool> pVar12;\n  \n  iVar3 = (*(code *)PTR_operator_new_004c13a8)(0x20);\n  uVar10 = *in_a2;\n  uVar4 = in_a2[1];\n  pCVar8 = (Cie *)__args_0[1].first;\n  pcVar9 = (pointer)((int)uVar10 >> 0x1f);\n  *(uint *)(iVar3 + 0x14) = uVar10;\n  *(uint *)(iVar3 + 0x18) = uVar4;\n  *(pointer *)(iVar3 + 0x10) = pcVar9;\n  pCVar7 = (Cie *)&__args_0->second;\n  if (pCVar8 == (Cie *)0x0) {\nLAB_002f8110:\n    if (__args_0[1].second != pCVar7) {\n      pCVar8 = (Cie *)(*(code *)PTR__Rb_tree_decrement_004c1a5c)(pCVar7);\n      pcVar5 = (pCVar8->personality_name_)._M_dataplus._M_p;\n      uVar4 = (pCVar8->personality_name_)._M_string_length;\nLAB_002f8078:\n      if (((pcVar9 <= pcVar5) && ((pcVar9 != pcVar5 || (uVar10 <= uVar4)))) ||\n         (pCVar8 = (Cie *)0x0, pCVar7 == (Cie *)0x0)) {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(Cie **)&this->_M_impl = pCVar8;\n        *(undefined1 *)&(this->_M_impl).super__Rb_tree_header._M_header._M_color = _S_red;\n        pVar11.first._M_node = (_Base_ptr)this;\n        pVar11._4_4_ = extraout_v1;\n        return pVar11;\n      }\n    }\n    if ((Cie *)&__args_0->second == pCVar7) {\n      uVar6 = 1;\n    }\n    else {\n      pcVar5 = (pCVar7->personality_name_)._M_dataplus._M_p;\n      uVar6 = 1;\n      if (pcVar5 <= pcVar9) {\n        if ((pcVar5 == pcVar9) && (uVar10 < (pCVar7->personality_name_)._M_string_length)) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }\n    (*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,pCVar7);\n    pCVar8 = __args_0[2].second;\n    *(int *)&this->_M_impl = iVar3;\n    __args_0[2].second = (Cie *)((int)&pCVar8->object_ + 1);\n    *(undefined1 *)&(this->_M_impl).super__Rb_tree_header._M_header._M_color = _S_black;\n    pVar12.first._M_node = (_Base_ptr)this;\n    pVar12._4_4_ = 1;\n    return pVar12;\n  }\n  pcVar5 = (pCVar8->personality_name_)._M_dataplus._M_p;\n  uVar4 = (pCVar8->personality_name_)._M_string_length;\n  if (pcVar9 < pcVar5) goto LAB_002f8064;\n  do {\n    if ((pcVar5 == pcVar9) && (uVar10 < uVar4)) goto LAB_002f8064;\n    bVar1 = false;\n    pCVar2 = *(Cie **)&pCVar8->fde_encoding_;\n    pCVar7 = pCVar8;\n    while( true ) {\n      pCVar8 = pCVar2;\n      if (pCVar8 == (Cie *)0x0) {\n        pCVar8 = pCVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }\n      pcVar5 = (pCVar8->personality_name_)._M_dataplus._M_p;\n      uVar4 = (pCVar8->personality_name_)._M_string_length;\n      if (pcVar5 <= pcVar9) break;\nLAB_002f8064:\n      bVar1 = true;\n      pCVar2 = (Cie *)pCVar8->input_offset_;\n      pCVar7 = pCVar8;\n    }\n  } while( true );\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "Cie *pCVar2;" type_identifier (pointer_declarator "*pCVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "pointer pcVar5;" type_identifier identifier ;) (declaration "undefined4 extraout_v1;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "Cie *pCVar7;" type_identifier (pointer_declarator "*pCVar7" * identifier) ;) (declaration "uint *in_a2;" type_identifier (pointer_declarator "*in_a2" * identifier) ;) (declaration "Cie *pCVar8;" type_identifier (pointer_declarator "*pCVar8" * identifier) ;) (declaration "pointer pcVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (ERROR "pair<std::_Rb_tree_iterator<std::pair<long_long_unsigned_int_const,_gold::" (binary_expression "pair<std" identifier < identifier) : : (binary_expression "_Rb_tree_iterator<std" identifier < identifier) : : (comma_expression "pair<long_long_unsigned_int_const,_gold" (binary_expression "pair<long_long_unsigned_int_const" identifier < identifier) , identifier) : :) (expression_statement "Cie*>_>,_bool> pVar11;" (binary_expression "Cie*>_>,_bool> pVar11" (binary_expression "Cie*>_>,_bool" (binary_expression "Cie*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) > identifier) ;) (ERROR "pair<std::_Rb_tree_iterator<std::pair<long_long_unsigned_int_const,_gold::" (binary_expression "pair<std" identifier < identifier) : : (binary_expression "_Rb_tree_iterator<std" identifier < identifier) : : (comma_expression "pair<long_long_unsigned_int_const,_gold" (binary_expression "pair<long_long_unsigned_int_const" identifier < identifier) , identifier) : :) (expression_statement "Cie*>_>,_bool> pVar12;" (binary_expression "Cie*>_>,_bool> pVar12" (binary_expression "Cie*>_>,_bool" (binary_expression "Cie*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) > identifier) ;) (expression_statement "iVar3 = (*(code *)PTR_operator_new_004c13a8)(0x20);" (assignment_expression "iVar3 = (*(code *)PTR_operator_new_004c13a8)(0x20)" identifier = (call_expression "(*(code *)PTR_operator_new_004c13a8)(0x20)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" ( (pointer_expression "*(code *)PTR_operator_new_004c13a8" * (cast_expression "(code *)PTR_operator_new_004c13a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x20)" ( number_literal )))) ;) (expression_statement "uVar10 = *in_a2;" (assignment_expression "uVar10 = *in_a2" identifier = (pointer_expression "*in_a2" * identifier)) ;) (expression_statement "uVar4 = in_a2[1];" (assignment_expression "uVar4 = in_a2[1]" identifier = (subscript_expression "in_a2[1]" identifier [ number_literal ])) ;) (expression_statement "pCVar8 = (Cie *)__args_0[1].first;" (assignment_expression "pCVar8 = (Cie *)__args_0[1].first" identifier = (cast_expression "(Cie *)__args_0[1].first" ( (type_descriptor "Cie *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "__args_0[1].first" (subscript_expression "__args_0[1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "pcVar9 = (pointer)((int)uVar10 >> 0x1f);" (assignment_expression "pcVar9 = (pointer)((int)uVar10 >> 0x1f)" identifier = (call_expression "(pointer)((int)uVar10 >> 0x1f)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((int)uVar10 >> 0x1f)" ( (binary_expression "(int)uVar10 >> 0x1f" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (expression_statement "*(uint *)(iVar3 + 0x14) = uVar10;" (assignment_expression "*(uint *)(iVar3 + 0x14) = uVar10" (pointer_expression "*(uint *)(iVar3 + 0x14)" * (cast_expression "(uint *)(iVar3 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar3 + 0x18) = uVar4;" (assignment_expression "*(uint *)(iVar3 + 0x18) = uVar4" (pointer_expression "*(uint *)(iVar3 + 0x18)" * (cast_expression "(uint *)(iVar3 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x18)" ( (binary_expression "iVar3 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(pointer *)(iVar3 + 0x10) = pcVar9;" (assignment_expression "*(pointer *)(iVar3 + 0x10) = pcVar9" (pointer_expression "*(pointer *)(iVar3 + 0x10)" * (cast_expression "(pointer *)(iVar3 + 0x10)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x10)" ( (binary_expression "iVar3 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pCVar7 = (Cie *)&__args_0->second;" (assignment_expression "pCVar7 = (Cie *)&__args_0->second" identifier = (cast_expression "(Cie *)&__args_0->second" ( (type_descriptor "Cie *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__args_0->second" & (field_expression "__args_0->second" identifier -> field_identifier)))) ;) (if_statement "if (pCVar8 == (Cie *)0x0) {\nLAB_002f8110:\n    if (__args_0[1].second != pCVar7) {\n      pCVar8 = (Cie *)(*(code *)PTR__Rb_tree_decrement_004c1a5c)(pCVar7);\n      pcVar5 = (pCVar8->personality_name_)._M_dataplus._M_p;\n      uVar4 = (pCVar8->personality_name_)._M_string_length;\nLAB_002f8078:\n      if (((pcVar9 <= pcVar5) && ((pcVar9 != pcVar5 || (uVar10 <= uVar4)))) ||\n         (pCVar8 = (Cie *)0x0, pCVar7 == (Cie *)0x0)) {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(Cie **)&this->_M_impl = pCVar8;\n        *(undefined1 *)&(this->_M_impl).super__Rb_tree_header._M_header._M_color = _S_red;\n        pVar11.first._M_node = (_Base_ptr)this;\n        pVar11._4_4_ = extraout_v1;\n        return pVar11;\n      }\n    }\n    if ((Cie *)&__args_0->second == pCVar7) {\n      uVar6 = 1;\n    }\n    else {\n      pcVar5 = (pCVar7->personality_name_)._M_dataplus._M_p;\n      uVar6 = 1;\n      if (pcVar5 <= pcVar9) {\n        if ((pcVar5 == pcVar9) && (uVar10 < (pCVar7->personality_name_)._M_string_length)) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }\n    (*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,pCVar7);\n    pCVar8 = __args_0[2].second;\n    *(int *)&this->_M_impl = iVar3;\n    __args_0[2].second = (Cie *)((int)&pCVar8->object_ + 1);\n    *(undefined1 *)&(this->_M_impl).super__Rb_tree_header._M_header._M_color = _S_black;\n    pVar12.first._M_node = (_Base_ptr)this;\n    pVar12._4_4_ = 1;\n    return pVar12;\n  }" if (parenthesized_expression "(pCVar8 == (Cie *)0x0)" ( (binary_expression "pCVar8 == (Cie *)0x0" identifier == (cast_expression "(Cie *)0x0" ( (type_descriptor "Cie *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002f8110:\n    if (__args_0[1].second != pCVar7) {\n      pCVar8 = (Cie *)(*(code *)PTR__Rb_tree_decrement_004c1a5c)(pCVar7);\n      pcVar5 = (pCVar8->personality_name_)._M_dataplus._M_p;\n      uVar4 = (pCVar8->personality_name_)._M_string_length;\nLAB_002f8078:\n      if (((pcVar9 <= pcVar5) && ((pcVar9 != pcVar5 || (uVar10 <= uVar4)))) ||\n         (pCVar8 = (Cie *)0x0, pCVar7 == (Cie *)0x0)) {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(Cie **)&this->_M_impl = pCVar8;\n        *(undefined1 *)&(this->_M_impl).super__Rb_tree_header._M_header._M_color = _S_red;\n        pVar11.first._M_node = (_Base_ptr)this;\n        pVar11._4_4_ = extraout_v1;\n        return pVar11;\n      }\n    }\n    if ((Cie *)&__args_0->second == pCVar7) {\n      uVar6 = 1;\n    }\n    else {\n      pcVar5 = (pCVar7->personality_name_)._M_dataplus._M_p;\n      uVar6 = 1;\n      if (pcVar5 <= pcVar9) {\n        if ((pcVar5 == pcVar9) && (uVar10 < (pCVar7->personality_name_)._M_string_length)) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }\n    (*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,pCVar7);\n    pCVar8 = __args_0[2].second;\n    *(int *)&this->_M_impl = iVar3;\n    __args_0[2].second = (Cie *)((int)&pCVar8->object_ + 1);\n    *(undefined1 *)&(this->_M_impl).super__Rb_tree_header._M_header._M_color = _S_black;\n    pVar12.first._M_node = (_Base_ptr)this;\n    pVar12._4_4_ = 1;\n    return pVar12;\n  }" { (labeled_statement "LAB_002f8110:\n    if (__args_0[1].second != pCVar7) {\n      pCVar8 = (Cie *)(*(code *)PTR__Rb_tree_decrement_004c1a5c)(pCVar7);\n      pcVar5 = (pCVar8->personality_name_)._M_dataplus._M_p;\n      uVar4 = (pCVar8->personality_name_)._M_string_length;\nLAB_002f8078:\n      if (((pcVar9 <= pcVar5) && ((pcVar9 != pcVar5 || (uVar10 <= uVar4)))) ||\n         (pCVar8 = (Cie *)0x0, pCVar7 == (Cie *)0x0)) {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(Cie **)&this->_M_impl = pCVar8;\n        *(undefined1 *)&(this->_M_impl).super__Rb_tree_header._M_header._M_color = _S_red;\n        pVar11.first._M_node = (_Base_ptr)this;\n        pVar11._4_4_ = extraout_v1;\n        return pVar11;\n      }\n    }" statement_identifier : (if_statement "if (__args_0[1].second != pCVar7) {\n      pCVar8 = (Cie *)(*(code *)PTR__Rb_tree_decrement_004c1a5c)(pCVar7);\n      pcVar5 = (pCVar8->personality_name_)._M_dataplus._M_p;\n      uVar4 = (pCVar8->personality_name_)._M_string_length;\nLAB_002f8078:\n      if (((pcVar9 <= pcVar5) && ((pcVar9 != pcVar5 || (uVar10 <= uVar4)))) ||\n         (pCVar8 = (Cie *)0x0, pCVar7 == (Cie *)0x0)) {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(Cie **)&this->_M_impl = pCVar8;\n        *(undefined1 *)&(this->_M_impl).super__Rb_tree_header._M_header._M_color = _S_red;\n        pVar11.first._M_node = (_Base_ptr)this;\n        pVar11._4_4_ = extraout_v1;\n        return pVar11;\n      }\n    }" if (parenthesized_expression "(__args_0[1].second != pCVar7)" ( (binary_expression "__args_0[1].second != pCVar7" (field_expression "__args_0[1].second" (subscript_expression "__args_0[1]" identifier [ number_literal ]) . field_identifier) != identifier) )) (compound_statement "{\n      pCVar8 = (Cie *)(*(code *)PTR__Rb_tree_decrement_004c1a5c)(pCVar7);\n      pcVar5 = (pCVar8->personality_name_)._M_dataplus._M_p;\n      uVar4 = (pCVar8->personality_name_)._M_string_length;\nLAB_002f8078:\n      if (((pcVar9 <= pcVar5) && ((pcVar9 != pcVar5 || (uVar10 <= uVar4)))) ||\n         (pCVar8 = (Cie *)0x0, pCVar7 == (Cie *)0x0)) {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(Cie **)&this->_M_impl = pCVar8;\n        *(undefined1 *)&(this->_M_impl).super__Rb_tree_header._M_header._M_color = _S_red;\n        pVar11.first._M_node = (_Base_ptr)this;\n        pVar11._4_4_ = extraout_v1;\n        return pVar11;\n      }\n    }" { (expression_statement "pCVar8 = (Cie *)(*(code *)PTR__Rb_tree_decrement_004c1a5c)(pCVar7);" (assignment_expression "pCVar8 = (Cie *)(*(code *)PTR__Rb_tree_decrement_004c1a5c)(pCVar7)" identifier = (cast_expression "(Cie *)(*(code *)PTR__Rb_tree_decrement_004c1a5c)(pCVar7)" ( (type_descriptor "Cie *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR__Rb_tree_decrement_004c1a5c)(pCVar7)" (parenthesized_expression "(*(code *)PTR__Rb_tree_decrement_004c1a5c)" ( (pointer_expression "*(code *)PTR__Rb_tree_decrement_004c1a5c" * (cast_expression "(code *)PTR__Rb_tree_decrement_004c1a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pCVar7)" ( identifier ))))) ;) (expression_statement "pcVar5 = (pCVar8->personality_name_)._M_dataplus._M_p;" (assignment_expression "pcVar5 = (pCVar8->personality_name_)._M_dataplus._M_p" identifier = (field_expression "(pCVar8->personality_name_)._M_dataplus._M_p" (field_expression "(pCVar8->personality_name_)._M_dataplus" (parenthesized_expression "(pCVar8->personality_name_)" ( (field_expression "pCVar8->personality_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "uVar4 = (pCVar8->personality_name_)._M_string_length;" (assignment_expression "uVar4 = (pCVar8->personality_name_)._M_string_length" identifier = (field_expression "(pCVar8->personality_name_)._M_string_length" (parenthesized_expression "(pCVar8->personality_name_)" ( (field_expression "pCVar8->personality_name_" identifier -> field_identifier) )) . field_identifier)) ;) (labeled_statement "LAB_002f8078:\n      if (((pcVar9 <= pcVar5) && ((pcVar9 != pcVar5 || (uVar10 <= uVar4)))) ||\n         (pCVar8 = (Cie *)0x0, pCVar7 == (Cie *)0x0)) {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(Cie **)&this->_M_impl = pCVar8;\n        *(undefined1 *)&(this->_M_impl).super__Rb_tree_header._M_header._M_color = _S_red;\n        pVar11.first._M_node = (_Base_ptr)this;\n        pVar11._4_4_ = extraout_v1;\n        return pVar11;\n      }" statement_identifier : (if_statement "if (((pcVar9 <= pcVar5) && ((pcVar9 != pcVar5 || (uVar10 <= uVar4)))) ||\n         (pCVar8 = (Cie *)0x0, pCVar7 == (Cie *)0x0)) {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(Cie **)&this->_M_impl = pCVar8;\n        *(undefined1 *)&(this->_M_impl).super__Rb_tree_header._M_header._M_color = _S_red;\n        pVar11.first._M_node = (_Base_ptr)this;\n        pVar11._4_4_ = extraout_v1;\n        return pVar11;\n      }" if (parenthesized_expression "(((pcVar9 <= pcVar5) && ((pcVar9 != pcVar5 || (uVar10 <= uVar4)))) ||\n         (pCVar8 = (Cie *)0x0, pCVar7 == (Cie *)0x0))" ( (binary_expression "((pcVar9 <= pcVar5) && ((pcVar9 != pcVar5 || (uVar10 <= uVar4)))) ||\n         (pCVar8 = (Cie *)0x0, pCVar7 == (Cie *)0x0)" (parenthesized_expression "((pcVar9 <= pcVar5) && ((pcVar9 != pcVar5 || (uVar10 <= uVar4))))" ( (binary_expression "(pcVar9 <= pcVar5) && ((pcVar9 != pcVar5 || (uVar10 <= uVar4)))" (parenthesized_expression "(pcVar9 <= pcVar5)" ( (binary_expression "pcVar9 <= pcVar5" identifier <= identifier) )) && (parenthesized_expression "((pcVar9 != pcVar5 || (uVar10 <= uVar4)))" ( (parenthesized_expression "(pcVar9 != pcVar5 || (uVar10 <= uVar4))" ( (binary_expression "pcVar9 != pcVar5 || (uVar10 <= uVar4)" (binary_expression "pcVar9 != pcVar5" identifier != identifier) || (parenthesized_expression "(uVar10 <= uVar4)" ( (binary_expression "uVar10 <= uVar4" identifier <= identifier) ))) )) ))) )) || (parenthesized_expression "(pCVar8 = (Cie *)0x0, pCVar7 == (Cie *)0x0)" ( (comma_expression "pCVar8 = (Cie *)0x0, pCVar7 == (Cie *)0x0" (assignment_expression "pCVar8 = (Cie *)0x0" identifier = (cast_expression "(Cie *)0x0" ( (type_descriptor "Cie *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "pCVar7 == (Cie *)0x0" identifier == (cast_expression "(Cie *)0x0" ( (type_descriptor "Cie *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(Cie **)&this->_M_impl = pCVar8;\n        *(undefined1 *)&(this->_M_impl).super__Rb_tree_header._M_header._M_color = _S_red;\n        pVar11.first._M_node = (_Base_ptr)this;\n        pVar11._4_4_ = extraout_v1;\n        return pVar11;\n      }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)(iVar3);" (call_expression "(*(code *)PTR_operator_delete_004c12fc)(iVar3)" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "*(Cie **)&this->_M_impl = pCVar8;" (assignment_expression "*(Cie **)&this->_M_impl = pCVar8" (pointer_expression "*(Cie **)&this->_M_impl" * (cast_expression "(Cie **)&this->_M_impl" ( (type_descriptor "Cie **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&this->_M_impl" & (field_expression "this->_M_impl" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(undefined1 *)&(this->_M_impl).super__Rb_tree_header._M_header._M_color = _S_red;" (assignment_expression "*(undefined1 *)&(this->_M_impl).super__Rb_tree_header._M_header._M_color = _S_red" (pointer_expression "*(undefined1 *)&(this->_M_impl).super__Rb_tree_header._M_header._M_color" * (cast_expression "(undefined1 *)&(this->_M_impl).super__Rb_tree_header._M_header._M_color" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->_M_impl).super__Rb_tree_header._M_header._M_color" & (field_expression "(this->_M_impl).super__Rb_tree_header._M_header._M_color" (field_expression "(this->_M_impl).super__Rb_tree_header._M_header" (field_expression "(this->_M_impl).super__Rb_tree_header" (parenthesized_expression "(this->_M_impl)" ( (field_expression "this->_M_impl" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)))) = identifier) ;) (expression_statement "pVar11.first._M_node = (_Base_ptr)this;" (assignment_expression "pVar11.first._M_node = (_Base_ptr)this" (field_expression "pVar11.first._M_node" (field_expression "pVar11.first" identifier . field_identifier) . field_identifier) = (cast_expression "(_Base_ptr)this" ( (type_descriptor "_Base_ptr" type_identifier) ) identifier)) ;) (expression_statement "pVar11._4_4_ = extraout_v1;" (assignment_expression "pVar11._4_4_ = extraout_v1" (field_expression "pVar11._4_4_" identifier . field_identifier) = identifier) ;) (return_statement "return pVar11;" return identifier ;) }))) }))) (if_statement "if ((Cie *)&__args_0->second == pCVar7) {\n      uVar6 = 1;\n    }\n    else {\n      pcVar5 = (pCVar7->personality_name_)._M_dataplus._M_p;\n      uVar6 = 1;\n      if (pcVar5 <= pcVar9) {\n        if ((pcVar5 == pcVar9) && (uVar10 < (pCVar7->personality_name_)._M_string_length)) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }" if (parenthesized_expression "((Cie *)&__args_0->second == pCVar7)" ( (binary_expression "(Cie *)&__args_0->second == pCVar7" (cast_expression "(Cie *)&__args_0->second" ( (type_descriptor "Cie *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__args_0->second" & (field_expression "__args_0->second" identifier -> field_identifier))) == identifier) )) (compound_statement "{\n      uVar6 = 1;\n    }" { (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) }) (else_clause "else {\n      pcVar5 = (pCVar7->personality_name_)._M_dataplus._M_p;\n      uVar6 = 1;\n      if (pcVar5 <= pcVar9) {\n        if ((pcVar5 == pcVar9) && (uVar10 < (pCVar7->personality_name_)._M_string_length)) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }" else (compound_statement "{\n      pcVar5 = (pCVar7->personality_name_)._M_dataplus._M_p;\n      uVar6 = 1;\n      if (pcVar5 <= pcVar9) {\n        if ((pcVar5 == pcVar9) && (uVar10 < (pCVar7->personality_name_)._M_string_length)) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }" { (expression_statement "pcVar5 = (pCVar7->personality_name_)._M_dataplus._M_p;" (assignment_expression "pcVar5 = (pCVar7->personality_name_)._M_dataplus._M_p" identifier = (field_expression "(pCVar7->personality_name_)._M_dataplus._M_p" (field_expression "(pCVar7->personality_name_)._M_dataplus" (parenthesized_expression "(pCVar7->personality_name_)" ( (field_expression "pCVar7->personality_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (if_statement "if (pcVar5 <= pcVar9) {\n        if ((pcVar5 == pcVar9) && (uVar10 < (pCVar7->personality_name_)._M_string_length)) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }" if (parenthesized_expression "(pcVar5 <= pcVar9)" ( (binary_expression "pcVar5 <= pcVar9" identifier <= identifier) )) (compound_statement "{\n        if ((pcVar5 == pcVar9) && (uVar10 < (pCVar7->personality_name_)._M_string_length)) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }" { (if_statement "if ((pcVar5 == pcVar9) && (uVar10 < (pCVar7->personality_name_)._M_string_length)) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }" if (parenthesized_expression "((pcVar5 == pcVar9) && (uVar10 < (pCVar7->personality_name_)._M_string_length))" ( (binary_expression "(pcVar5 == pcVar9) && (uVar10 < (pCVar7->personality_name_)._M_string_length)" (parenthesized_expression "(pcVar5 == pcVar9)" ( (binary_expression "pcVar5 == pcVar9" identifier == identifier) )) && (parenthesized_expression "(uVar10 < (pCVar7->personality_name_)._M_string_length)" ( (binary_expression "uVar10 < (pCVar7->personality_name_)._M_string_length" identifier < (field_expression "(pCVar7->personality_name_)._M_string_length" (parenthesized_expression "(pCVar7->personality_name_)" ( (field_expression "pCVar7->personality_name_" identifier -> field_identifier) )) . field_identifier)) ))) )) (compound_statement "{\n          uVar6 = 1;\n        }" { (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) }) (else_clause "else {\n          uVar6 = 0;\n        }" else (compound_statement "{\n          uVar6 = 0;\n        }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) }))) })) }))) (expression_statement "(*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,pCVar7);" (call_expression "(*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,pCVar7)" (parenthesized_expression "(*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)" ( (pointer_expression "*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58" * (cast_expression "(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar6,iVar3,pCVar7)" ( identifier , identifier , identifier ))) ;) (expression_statement "pCVar8 = __args_0[2].second;" (assignment_expression "pCVar8 = __args_0[2].second" identifier = (field_expression "__args_0[2].second" (subscript_expression "__args_0[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "*(int *)&this->_M_impl = iVar3;" (assignment_expression "*(int *)&this->_M_impl = iVar3" (pointer_expression "*(int *)&this->_M_impl" * (cast_expression "(int *)&this->_M_impl" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->_M_impl" & (field_expression "this->_M_impl" identifier -> field_identifier)))) = identifier) ;) (expression_statement "__args_0[2].second = (Cie *)((int)&pCVar8->object_ + 1);" (assignment_expression "__args_0[2].second = (Cie *)((int)&pCVar8->object_ + 1)" (field_expression "__args_0[2].second" (subscript_expression "__args_0[2]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(Cie *)((int)&pCVar8->object_ + 1)" ( (type_descriptor "Cie *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pCVar8->object_ + 1)" ( (binary_expression "(int)&pCVar8->object_ + 1" (cast_expression "(int)&pCVar8->object_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pCVar8->object_" & (field_expression "pCVar8->object_" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "*(undefined1 *)&(this->_M_impl).super__Rb_tree_header._M_header._M_color = _S_black;" (assignment_expression "*(undefined1 *)&(this->_M_impl).super__Rb_tree_header._M_header._M_color = _S_black" (pointer_expression "*(undefined1 *)&(this->_M_impl).super__Rb_tree_header._M_header._M_color" * (cast_expression "(undefined1 *)&(this->_M_impl).super__Rb_tree_header._M_header._M_color" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->_M_impl).super__Rb_tree_header._M_header._M_color" & (field_expression "(this->_M_impl).super__Rb_tree_header._M_header._M_color" (field_expression "(this->_M_impl).super__Rb_tree_header._M_header" (field_expression "(this->_M_impl).super__Rb_tree_header" (parenthesized_expression "(this->_M_impl)" ( (field_expression "this->_M_impl" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)))) = identifier) ;) (expression_statement "pVar12.first._M_node = (_Base_ptr)this;" (assignment_expression "pVar12.first._M_node = (_Base_ptr)this" (field_expression "pVar12.first._M_node" (field_expression "pVar12.first" identifier . field_identifier) . field_identifier) = (cast_expression "(_Base_ptr)this" ( (type_descriptor "_Base_ptr" type_identifier) ) identifier)) ;) (expression_statement "pVar12._4_4_ = 1;" (assignment_expression "pVar12._4_4_ = 1" (field_expression "pVar12._4_4_" identifier . field_identifier) = number_literal) ;) (return_statement "return pVar12;" return identifier ;) })) (expression_statement "pcVar5 = (pCVar8->personality_name_)._M_dataplus._M_p;" (assignment_expression "pcVar5 = (pCVar8->personality_name_)._M_dataplus._M_p" identifier = (field_expression "(pCVar8->personality_name_)._M_dataplus._M_p" (field_expression "(pCVar8->personality_name_)._M_dataplus" (parenthesized_expression "(pCVar8->personality_name_)" ( (field_expression "pCVar8->personality_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "uVar4 = (pCVar8->personality_name_)._M_string_length;" (assignment_expression "uVar4 = (pCVar8->personality_name_)._M_string_length" identifier = (field_expression "(pCVar8->personality_name_)._M_string_length" (parenthesized_expression "(pCVar8->personality_name_)" ( (field_expression "pCVar8->personality_name_" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (pcVar9 < pcVar5) goto LAB_002f8064;" if (parenthesized_expression "(pcVar9 < pcVar5)" ( (binary_expression "pcVar9 < pcVar5" identifier < identifier) )) (goto_statement "goto LAB_002f8064;" goto statement_identifier ;)) (do_statement "do {\n    if ((pcVar5 == pcVar9) && (uVar10 < uVar4)) goto LAB_002f8064;\n    bVar1 = false;\n    pCVar2 = *(Cie **)&pCVar8->fde_encoding_;\n    pCVar7 = pCVar8;\n    while( true ) {\n      pCVar8 = pCVar2;\n      if (pCVar8 == (Cie *)0x0) {\n        pCVar8 = pCVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }\n      pcVar5 = (pCVar8->personality_name_)._M_dataplus._M_p;\n      uVar4 = (pCVar8->personality_name_)._M_string_length;\n      if (pcVar5 <= pcVar9) break;\nLAB_002f8064:\n      bVar1 = true;\n      pCVar2 = (Cie *)pCVar8->input_offset_;\n      pCVar7 = pCVar8;\n    }\n  } while( true );" do (compound_statement "{\n    if ((pcVar5 == pcVar9) && (uVar10 < uVar4)) goto LAB_002f8064;\n    bVar1 = false;\n    pCVar2 = *(Cie **)&pCVar8->fde_encoding_;\n    pCVar7 = pCVar8;\n    while( true ) {\n      pCVar8 = pCVar2;\n      if (pCVar8 == (Cie *)0x0) {\n        pCVar8 = pCVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }\n      pcVar5 = (pCVar8->personality_name_)._M_dataplus._M_p;\n      uVar4 = (pCVar8->personality_name_)._M_string_length;\n      if (pcVar5 <= pcVar9) break;\nLAB_002f8064:\n      bVar1 = true;\n      pCVar2 = (Cie *)pCVar8->input_offset_;\n      pCVar7 = pCVar8;\n    }\n  }" { (if_statement "if ((pcVar5 == pcVar9) && (uVar10 < uVar4)) goto LAB_002f8064;" if (parenthesized_expression "((pcVar5 == pcVar9) && (uVar10 < uVar4))" ( (binary_expression "(pcVar5 == pcVar9) && (uVar10 < uVar4)" (parenthesized_expression "(pcVar5 == pcVar9)" ( (binary_expression "pcVar5 == pcVar9" identifier == identifier) )) && (parenthesized_expression "(uVar10 < uVar4)" ( (binary_expression "uVar10 < uVar4" identifier < identifier) ))) )) (goto_statement "goto LAB_002f8064;" goto statement_identifier ;)) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "pCVar2 = *(Cie **)&pCVar8->fde_encoding_;" (assignment_expression "pCVar2 = *(Cie **)&pCVar8->fde_encoding_" identifier = (pointer_expression "*(Cie **)&pCVar8->fde_encoding_" * (cast_expression "(Cie **)&pCVar8->fde_encoding_" ( (type_descriptor "Cie **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pCVar8->fde_encoding_" & (field_expression "pCVar8->fde_encoding_" identifier -> field_identifier))))) ;) (expression_statement "pCVar7 = pCVar8;" (assignment_expression "pCVar7 = pCVar8" identifier = identifier) ;) (while_statement "while( true ) {\n      pCVar8 = pCVar2;\n      if (pCVar8 == (Cie *)0x0) {\n        pCVar8 = pCVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }\n      pcVar5 = (pCVar8->personality_name_)._M_dataplus._M_p;\n      uVar4 = (pCVar8->personality_name_)._M_string_length;\n      if (pcVar5 <= pcVar9) break;\nLAB_002f8064:\n      bVar1 = true;\n      pCVar2 = (Cie *)pCVar8->input_offset_;\n      pCVar7 = pCVar8;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      pCVar8 = pCVar2;\n      if (pCVar8 == (Cie *)0x0) {\n        pCVar8 = pCVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }\n      pcVar5 = (pCVar8->personality_name_)._M_dataplus._M_p;\n      uVar4 = (pCVar8->personality_name_)._M_string_length;\n      if (pcVar5 <= pcVar9) break;\nLAB_002f8064:\n      bVar1 = true;\n      pCVar2 = (Cie *)pCVar8->input_offset_;\n      pCVar7 = pCVar8;\n    }" { (expression_statement "pCVar8 = pCVar2;" (assignment_expression "pCVar8 = pCVar2" identifier = identifier) ;) (if_statement "if (pCVar8 == (Cie *)0x0) {\n        pCVar8 = pCVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }" if (parenthesized_expression "(pCVar8 == (Cie *)0x0)" ( (binary_expression "pCVar8 == (Cie *)0x0" identifier == (cast_expression "(Cie *)0x0" ( (type_descriptor "Cie *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pCVar8 = pCVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }" { (expression_statement "pCVar8 = pCVar7;" (assignment_expression "pCVar8 = pCVar7" identifier = identifier) ;) (if_statement "if (bVar1) goto LAB_002f8110;" if (parenthesized_expression "(bVar1)" ( identifier )) (goto_statement "goto LAB_002f8110;" goto statement_identifier ;)) (goto_statement "goto LAB_002f8078;" goto statement_identifier ;) })) (expression_statement "pcVar5 = (pCVar8->personality_name_)._M_dataplus._M_p;" (assignment_expression "pcVar5 = (pCVar8->personality_name_)._M_dataplus._M_p" identifier = (field_expression "(pCVar8->personality_name_)._M_dataplus._M_p" (field_expression "(pCVar8->personality_name_)._M_dataplus" (parenthesized_expression "(pCVar8->personality_name_)" ( (field_expression "pCVar8->personality_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "uVar4 = (pCVar8->personality_name_)._M_string_length;" (assignment_expression "uVar4 = (pCVar8->personality_name_)._M_string_length" identifier = (field_expression "(pCVar8->personality_name_)._M_string_length" (parenthesized_expression "(pCVar8->personality_name_)" ( (field_expression "pCVar8->personality_name_" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (pcVar5 <= pcVar9) break;" if (parenthesized_expression "(pcVar5 <= pcVar9)" ( (binary_expression "pcVar5 <= pcVar9" identifier <= identifier) )) (break_statement "break;" break ;)) (labeled_statement "LAB_002f8064:\n      bVar1 = true;" statement_identifier : (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;)) (expression_statement "pCVar2 = (Cie *)pCVar8->input_offset_;" (assignment_expression "pCVar2 = (Cie *)pCVar8->input_offset_" identifier = (cast_expression "(Cie *)pCVar8->input_offset_" ( (type_descriptor "Cie *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pCVar8->input_offset_" identifier -> field_identifier))) ;) (expression_statement "pCVar7 = pCVar8;" (assignment_expression "pCVar7 = pCVar8" identifier = identifier) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) }))
(translation_unit "pair * std::\n       _Rb_tree<unsigned_long_long,std::pair<unsigned_long_long_const,gold::Cie*>,std::_Select1st<std::pair<unsigned_long_long_const,gold::Cie*>>,std::less<unsigned_long_long>,std::allocator<std::pair<unsigned_long_long_const,gold::Cie*>>>\n       ::_M_emplace_unique<std::pair<int,gold::Cie*>>(pair *param_1)\n\n{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  int in_a1;\n  int iVar7;\n  uint *in_a2;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  \n  iVar3 = (*(code *)PTR_operator_new_004c13a8)(0x20);\n  uVar10 = *in_a2;\n  uVar4 = in_a2[1];\n  iVar8 = *(int *)(in_a1 + 8);\n  uVar9 = (int)uVar10 >> 0x1f;\n  *(uint *)(iVar3 + 0x14) = uVar10;\n  *(uint *)(iVar3 + 0x18) = uVar4;\n  *(uint *)(iVar3 + 0x10) = uVar9;\n  iVar7 = in_a1 + 4;\n  if (iVar8 == 0) {\nLAB_002f8110:\n    if (*(int *)(in_a1 + 0xc) != iVar7) {\n      iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7);\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\nLAB_002f8078:\n      if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }\n    }\n    if (in_a1 + 4 == iVar7) {\n      uVar6 = 1;\n    }\n    else {\n      uVar6 = 1;\n      if (*(uint *)(iVar7 + 0x10) <= uVar9) {\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }\n    (*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,iVar7);\n    iVar8 = *(int *)(in_a1 + 0x14);\n    *(int *)param_1 = iVar3;\n    *(int *)(in_a1 + 0x14) = iVar8 + 1;\n    param_1[4] = (pair)0x1;\n    return param_1;\n  }\n  uVar4 = *(uint *)(iVar8 + 0x10);\n  uVar5 = *(uint *)(iVar8 + 0x14);\n  if (uVar9 < uVar4) goto LAB_002f8064;\n  do {\n    if ((uVar4 == uVar9) && (uVar10 < uVar5)) goto LAB_002f8064;\n    bVar1 = false;\n    iVar2 = *(int *)(iVar8 + 0xc);\n    iVar7 = iVar8;\n    while( true ) {\n      iVar8 = iVar2;\n      if (iVar8 == 0) {\n        iVar8 = iVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\n      if (uVar4 <= uVar9) break;\nLAB_002f8064:\n      bVar1 = true;\n      iVar2 = *(int *)(iVar8 + 8);\n      iVar7 = iVar8;\n    }\n  } while( true );\n}\n\n" (ERROR "pair * std::\n       _Rb_tree<unsigned_long_long,std::pair<unsigned_long_long_const,gold::Cie*>,std::_Select1st<std::pair<unsigned_long_long_const,gold::Cie*>>,std::less<unsigned_long_long>,std::allocator<std::pair<unsigned_long_long_const,gold::Cie*>>>\n       ::_M_emplace_unique<std::pair<int,gold::Cie*>>(pair *param_1)" (binary_expression "pair * std" identifier * identifier) : : (binary_expression "_Rb_tree<unsigned_long_long" identifier < identifier) , (binary_expression "std::pair<unsigned_long_long_const,gold::Cie*>,std::_Select1st<std::pair<unsigned_long_long_const,gold::Cie*>>,std::less<unsigned_long_long>,std::allocator<std::pair<unsigned_long_long_const,gold::Cie*>>>\n       ::_M_emplace_unique<std::pair<int,gold::Cie*>>(pair *param_1)" identifier (ERROR "::pair<unsigned_long_long_const,gold::Cie*>,std::_Select1st<std::pair<unsigned_long_long_const,gold::Cie*>>,std::less<unsigned_long_long>,std::allocator<std::pair<unsigned_long_long_const,gold::Cie*>>>\n       ::_M_emplace_unique<std::pair<int,gold::Cie*" : : (comma_expression "pair<unsigned_long_long_const,gold" (binary_expression "pair<unsigned_long_long_const" identifier < identifier) , identifier) : : (comma_expression "Cie*>,std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<unsigned_long_long_const,gold" (binary_expression "pair<unsigned_long_long_const" identifier < identifier) , identifier) : : (comma_expression "Cie*>>,std" identifier (ERROR "*>>" * >>) , identifier) : : (binary_expression "less<unsigned_long_long>,std" (binary_expression "less<unsigned_long_long" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_long_long_const,gold" (binary_expression "pair<unsigned_long_long_const" identifier < identifier) , identifier) : : identifier * >> > : : (binary_expression "_M_emplace_unique<std" identifier < identifier) : : (comma_expression "pair<int,gold" (binary_expression "pair<int" identifier < identifier) , identifier) : : identifier *) >> (parenthesized_expression "(pair *param_1)" ( (binary_expression "pair *param_1" identifier * identifier) )))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  int in_a1;\n  int iVar7;\n  uint *in_a2;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  \n  iVar3 = (*(code *)PTR_operator_new_004c13a8)(0x20);\n  uVar10 = *in_a2;\n  uVar4 = in_a2[1];\n  iVar8 = *(int *)(in_a1 + 8);\n  uVar9 = (int)uVar10 >> 0x1f;\n  *(uint *)(iVar3 + 0x14) = uVar10;\n  *(uint *)(iVar3 + 0x18) = uVar4;\n  *(uint *)(iVar3 + 0x10) = uVar9;\n  iVar7 = in_a1 + 4;\n  if (iVar8 == 0) {\nLAB_002f8110:\n    if (*(int *)(in_a1 + 0xc) != iVar7) {\n      iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7);\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\nLAB_002f8078:\n      if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }\n    }\n    if (in_a1 + 4 == iVar7) {\n      uVar6 = 1;\n    }\n    else {\n      uVar6 = 1;\n      if (*(uint *)(iVar7 + 0x10) <= uVar9) {\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }\n    (*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,iVar7);\n    iVar8 = *(int *)(in_a1 + 0x14);\n    *(int *)param_1 = iVar3;\n    *(int *)(in_a1 + 0x14) = iVar8 + 1;\n    param_1[4] = (pair)0x1;\n    return param_1;\n  }\n  uVar4 = *(uint *)(iVar8 + 0x10);\n  uVar5 = *(uint *)(iVar8 + 0x14);\n  if (uVar9 < uVar4) goto LAB_002f8064;\n  do {\n    if ((uVar4 == uVar9) && (uVar10 < uVar5)) goto LAB_002f8064;\n    bVar1 = false;\n    iVar2 = *(int *)(iVar8 + 0xc);\n    iVar7 = iVar8;\n    while( true ) {\n      iVar8 = iVar2;\n      if (iVar8 == 0) {\n        iVar8 = iVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\n      if (uVar4 <= uVar9) break;\nLAB_002f8064:\n      bVar1 = true;\n      iVar2 = *(int *)(iVar8 + 8);\n      iVar7 = iVar8;\n    }\n  } while( true );\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int in_a1;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint *in_a2;" type_identifier (pointer_declarator "*in_a2" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (expression_statement "iVar3 = (*(code *)PTR_operator_new_004c13a8)(0x20);" (assignment_expression "iVar3 = (*(code *)PTR_operator_new_004c13a8)(0x20)" identifier = (call_expression "(*(code *)PTR_operator_new_004c13a8)(0x20)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" ( (pointer_expression "*(code *)PTR_operator_new_004c13a8" * (cast_expression "(code *)PTR_operator_new_004c13a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x20)" ( number_literal )))) ;) (expression_statement "uVar10 = *in_a2;" (assignment_expression "uVar10 = *in_a2" identifier = (pointer_expression "*in_a2" * identifier)) ;) (expression_statement "uVar4 = in_a2[1];" (assignment_expression "uVar4 = in_a2[1]" identifier = (subscript_expression "in_a2[1]" identifier [ number_literal ])) ;) (expression_statement "iVar8 = *(int *)(in_a1 + 8);" (assignment_expression "iVar8 = *(int *)(in_a1 + 8)" identifier = (pointer_expression "*(int *)(in_a1 + 8)" * (cast_expression "(int *)(in_a1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_a1 + 8)" ( (binary_expression "in_a1 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = (int)uVar10 >> 0x1f;" (assignment_expression "uVar9 = (int)uVar10 >> 0x1f" identifier = (binary_expression "(int)uVar10 >> 0x1f" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "*(uint *)(iVar3 + 0x14) = uVar10;" (assignment_expression "*(uint *)(iVar3 + 0x14) = uVar10" (pointer_expression "*(uint *)(iVar3 + 0x14)" * (cast_expression "(uint *)(iVar3 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar3 + 0x18) = uVar4;" (assignment_expression "*(uint *)(iVar3 + 0x18) = uVar4" (pointer_expression "*(uint *)(iVar3 + 0x18)" * (cast_expression "(uint *)(iVar3 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x18)" ( (binary_expression "iVar3 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar3 + 0x10) = uVar9;" (assignment_expression "*(uint *)(iVar3 + 0x10) = uVar9" (pointer_expression "*(uint *)(iVar3 + 0x10)" * (cast_expression "(uint *)(iVar3 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x10)" ( (binary_expression "iVar3 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar7 = in_a1 + 4;" (assignment_expression "iVar7 = in_a1 + 4" identifier = (binary_expression "in_a1 + 4" identifier + number_literal)) ;) (if_statement "if (iVar8 == 0) {\nLAB_002f8110:\n    if (*(int *)(in_a1 + 0xc) != iVar7) {\n      iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7);\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\nLAB_002f8078:\n      if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }\n    }\n    if (in_a1 + 4 == iVar7) {\n      uVar6 = 1;\n    }\n    else {\n      uVar6 = 1;\n      if (*(uint *)(iVar7 + 0x10) <= uVar9) {\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }\n    (*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,iVar7);\n    iVar8 = *(int *)(in_a1 + 0x14);\n    *(int *)param_1 = iVar3;\n    *(int *)(in_a1 + 0x14) = iVar8 + 1;\n    param_1[4] = (pair)0x1;\n    return param_1;\n  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_002f8110:\n    if (*(int *)(in_a1 + 0xc) != iVar7) {\n      iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7);\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\nLAB_002f8078:\n      if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }\n    }\n    if (in_a1 + 4 == iVar7) {\n      uVar6 = 1;\n    }\n    else {\n      uVar6 = 1;\n      if (*(uint *)(iVar7 + 0x10) <= uVar9) {\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }\n    (*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,iVar7);\n    iVar8 = *(int *)(in_a1 + 0x14);\n    *(int *)param_1 = iVar3;\n    *(int *)(in_a1 + 0x14) = iVar8 + 1;\n    param_1[4] = (pair)0x1;\n    return param_1;\n  }" { (labeled_statement "LAB_002f8110:\n    if (*(int *)(in_a1 + 0xc) != iVar7) {\n      iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7);\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\nLAB_002f8078:\n      if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }\n    }" statement_identifier : (if_statement "if (*(int *)(in_a1 + 0xc) != iVar7) {\n      iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7);\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\nLAB_002f8078:\n      if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }\n    }" if (parenthesized_expression "(*(int *)(in_a1 + 0xc) != iVar7)" ( (binary_expression "*(int *)(in_a1 + 0xc) != iVar7" (pointer_expression "*(int *)(in_a1 + 0xc)" * (cast_expression "(int *)(in_a1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_a1 + 0xc)" ( (binary_expression "in_a1 + 0xc" identifier + number_literal) )))) != identifier) )) (compound_statement "{\n      iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7);\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\nLAB_002f8078:\n      if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }\n    }" { (expression_statement "iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7);" (assignment_expression "iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7)" identifier = (call_expression "(*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7)" (parenthesized_expression "(*(code *)PTR__Rb_tree_decrement_004c1a5c)" ( (pointer_expression "*(code *)PTR__Rb_tree_decrement_004c1a5c" * (cast_expression "(code *)PTR__Rb_tree_decrement_004c1a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "uVar4 = *(uint *)(iVar8 + 0x10);" (assignment_expression "uVar4 = *(uint *)(iVar8 + 0x10)" identifier = (pointer_expression "*(uint *)(iVar8 + 0x10)" * (cast_expression "(uint *)(iVar8 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x10)" ( (binary_expression "iVar8 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(uint *)(iVar8 + 0x14);" (assignment_expression "uVar5 = *(uint *)(iVar8 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar8 + 0x14)" * (cast_expression "(uint *)(iVar8 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x14)" ( (binary_expression "iVar8 + 0x14" identifier + number_literal) ))))) ;) (labeled_statement "LAB_002f8078:\n      if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }" statement_identifier : (if_statement "if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }" if (parenthesized_expression "(((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))" ( (binary_expression "((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0)" (parenthesized_expression "((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5))))" ( (binary_expression "(uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))" (parenthesized_expression "(uVar9 <= uVar4)" ( (binary_expression "uVar9 <= uVar4" identifier <= identifier) )) && (parenthesized_expression "((uVar9 != uVar4 || (uVar10 <= uVar5)))" ( (parenthesized_expression "(uVar9 != uVar4 || (uVar10 <= uVar5))" ( (binary_expression "uVar9 != uVar4 || (uVar10 <= uVar5)" (binary_expression "uVar9 != uVar4" identifier != identifier) || (parenthesized_expression "(uVar10 <= uVar5)" ( (binary_expression "uVar10 <= uVar5" identifier <= identifier) ))) )) ))) )) || (parenthesized_expression "(iVar8 = 0, iVar7 == 0)" ( (comma_expression "iVar8 = 0, iVar7 == 0" (assignment_expression "iVar8 = 0" identifier = number_literal) , (binary_expression "iVar7 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)(iVar3);" (call_expression "(*(code *)PTR_operator_delete_004c12fc)(iVar3)" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "*(int *)param_1 = iVar8;" (assignment_expression "*(int *)param_1 = iVar8" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "param_1[4] = (pair)0x0;" (assignment_expression "param_1[4] = (pair)0x0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = (cast_expression "(pair)0x0" ( (type_descriptor "pair" type_identifier) ) number_literal)) ;) (return_statement "return param_1;" return identifier ;) }))) }))) (if_statement "if (in_a1 + 4 == iVar7) {\n      uVar6 = 1;\n    }\n    else {\n      uVar6 = 1;\n      if (*(uint *)(iVar7 + 0x10) <= uVar9) {\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }" if (parenthesized_expression "(in_a1 + 4 == iVar7)" ( (binary_expression "in_a1 + 4 == iVar7" (binary_expression "in_a1 + 4" identifier + number_literal) == identifier) )) (compound_statement "{\n      uVar6 = 1;\n    }" { (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) }) (else_clause "else {\n      uVar6 = 1;\n      if (*(uint *)(iVar7 + 0x10) <= uVar9) {\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }" else (compound_statement "{\n      uVar6 = 1;\n      if (*(uint *)(iVar7 + 0x10) <= uVar9) {\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }" { (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (if_statement "if (*(uint *)(iVar7 + 0x10) <= uVar9) {\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }" if (parenthesized_expression "(*(uint *)(iVar7 + 0x10) <= uVar9)" ( (binary_expression "*(uint *)(iVar7 + 0x10) <= uVar9" (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) )))) <= identifier) )) (compound_statement "{\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }" { (if_statement "if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }" if (parenthesized_expression "((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14)))" ( (binary_expression "(*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))" (parenthesized_expression "(*(uint *)(iVar7 + 0x10) == uVar9)" ( (binary_expression "*(uint *)(iVar7 + 0x10) == uVar9" (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) )))) == identifier) )) && (parenthesized_expression "(uVar10 < *(uint *)(iVar7 + 0x14))" ( (binary_expression "uVar10 < *(uint *)(iVar7 + 0x14)" identifier < (pointer_expression "*(uint *)(iVar7 + 0x14)" * (cast_expression "(uint *)(iVar7 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) ))))) ))) )) (compound_statement "{\n          uVar6 = 1;\n        }" { (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) }) (else_clause "else {\n          uVar6 = 0;\n        }" else (compound_statement "{\n          uVar6 = 0;\n        }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) }))) })) }))) (expression_statement "(*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,iVar7);" (call_expression "(*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,iVar7)" (parenthesized_expression "(*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)" ( (pointer_expression "*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58" * (cast_expression "(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar6,iVar3,iVar7)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar8 = *(int *)(in_a1 + 0x14);" (assignment_expression "iVar8 = *(int *)(in_a1 + 0x14)" identifier = (pointer_expression "*(int *)(in_a1 + 0x14)" * (cast_expression "(int *)(in_a1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_a1 + 0x14)" ( (binary_expression "in_a1 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(int *)param_1 = iVar3;" (assignment_expression "*(int *)param_1 = iVar3" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(int *)(in_a1 + 0x14) = iVar8 + 1;" (assignment_expression "*(int *)(in_a1 + 0x14) = iVar8 + 1" (pointer_expression "*(int *)(in_a1 + 0x14)" * (cast_expression "(int *)(in_a1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_a1 + 0x14)" ( (binary_expression "in_a1 + 0x14" identifier + number_literal) )))) = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "param_1[4] = (pair)0x1;" (assignment_expression "param_1[4] = (pair)0x1" (subscript_expression "param_1[4]" identifier [ number_literal ]) = (cast_expression "(pair)0x1" ( (type_descriptor "pair" type_identifier) ) number_literal)) ;) (return_statement "return param_1;" return identifier ;) })) (expression_statement "uVar4 = *(uint *)(iVar8 + 0x10);" (assignment_expression "uVar4 = *(uint *)(iVar8 + 0x10)" identifier = (pointer_expression "*(uint *)(iVar8 + 0x10)" * (cast_expression "(uint *)(iVar8 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x10)" ( (binary_expression "iVar8 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(uint *)(iVar8 + 0x14);" (assignment_expression "uVar5 = *(uint *)(iVar8 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar8 + 0x14)" * (cast_expression "(uint *)(iVar8 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x14)" ( (binary_expression "iVar8 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (uVar9 < uVar4) goto LAB_002f8064;" if (parenthesized_expression "(uVar9 < uVar4)" ( (binary_expression "uVar9 < uVar4" identifier < identifier) )) (goto_statement "goto LAB_002f8064;" goto statement_identifier ;)) (do_statement "do {\n    if ((uVar4 == uVar9) && (uVar10 < uVar5)) goto LAB_002f8064;\n    bVar1 = false;\n    iVar2 = *(int *)(iVar8 + 0xc);\n    iVar7 = iVar8;\n    while( true ) {\n      iVar8 = iVar2;\n      if (iVar8 == 0) {\n        iVar8 = iVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\n      if (uVar4 <= uVar9) break;\nLAB_002f8064:\n      bVar1 = true;\n      iVar2 = *(int *)(iVar8 + 8);\n      iVar7 = iVar8;\n    }\n  } while( true );" do (compound_statement "{\n    if ((uVar4 == uVar9) && (uVar10 < uVar5)) goto LAB_002f8064;\n    bVar1 = false;\n    iVar2 = *(int *)(iVar8 + 0xc);\n    iVar7 = iVar8;\n    while( true ) {\n      iVar8 = iVar2;\n      if (iVar8 == 0) {\n        iVar8 = iVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\n      if (uVar4 <= uVar9) break;\nLAB_002f8064:\n      bVar1 = true;\n      iVar2 = *(int *)(iVar8 + 8);\n      iVar7 = iVar8;\n    }\n  }" { (if_statement "if ((uVar4 == uVar9) && (uVar10 < uVar5)) goto LAB_002f8064;" if (parenthesized_expression "((uVar4 == uVar9) && (uVar10 < uVar5))" ( (binary_expression "(uVar4 == uVar9) && (uVar10 < uVar5)" (parenthesized_expression "(uVar4 == uVar9)" ( (binary_expression "uVar4 == uVar9" identifier == identifier) )) && (parenthesized_expression "(uVar10 < uVar5)" ( (binary_expression "uVar10 < uVar5" identifier < identifier) ))) )) (goto_statement "goto LAB_002f8064;" goto statement_identifier ;)) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "iVar2 = *(int *)(iVar8 + 0xc);" (assignment_expression "iVar2 = *(int *)(iVar8 + 0xc)" identifier = (pointer_expression "*(int *)(iVar8 + 0xc)" * (cast_expression "(int *)(iVar8 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xc)" ( (binary_expression "iVar8 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = iVar8;" (assignment_expression "iVar7 = iVar8" identifier = identifier) ;) (while_statement "while( true ) {\n      iVar8 = iVar2;\n      if (iVar8 == 0) {\n        iVar8 = iVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\n      if (uVar4 <= uVar9) break;\nLAB_002f8064:\n      bVar1 = true;\n      iVar2 = *(int *)(iVar8 + 8);\n      iVar7 = iVar8;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      iVar8 = iVar2;\n      if (iVar8 == 0) {\n        iVar8 = iVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\n      if (uVar4 <= uVar9) break;\nLAB_002f8064:\n      bVar1 = true;\n      iVar2 = *(int *)(iVar8 + 8);\n      iVar7 = iVar8;\n    }" { (expression_statement "iVar8 = iVar2;" (assignment_expression "iVar8 = iVar2" identifier = identifier) ;) (if_statement "if (iVar8 == 0) {\n        iVar8 = iVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar8 = iVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }" { (expression_statement "iVar8 = iVar7;" (assignment_expression "iVar8 = iVar7" identifier = identifier) ;) (if_statement "if (bVar1) goto LAB_002f8110;" if (parenthesized_expression "(bVar1)" ( identifier )) (goto_statement "goto LAB_002f8110;" goto statement_identifier ;)) (goto_statement "goto LAB_002f8078;" goto statement_identifier ;) })) (expression_statement "uVar4 = *(uint *)(iVar8 + 0x10);" (assignment_expression "uVar4 = *(uint *)(iVar8 + 0x10)" identifier = (pointer_expression "*(uint *)(iVar8 + 0x10)" * (cast_expression "(uint *)(iVar8 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x10)" ( (binary_expression "iVar8 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(uint *)(iVar8 + 0x14);" (assignment_expression "uVar5 = *(uint *)(iVar8 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar8 + 0x14)" * (cast_expression "(uint *)(iVar8 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x14)" ( (binary_expression "iVar8 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (uVar4 <= uVar9) break;" if (parenthesized_expression "(uVar4 <= uVar9)" ( (binary_expression "uVar4 <= uVar9" identifier <= identifier) )) (break_statement "break;" break ;)) (labeled_statement "LAB_002f8064:\n      bVar1 = true;" statement_identifier : (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;)) (expression_statement "iVar2 = *(int *)(iVar8 + 8);" (assignment_expression "iVar2 = *(int *)(iVar8 + 8)" identifier = (pointer_expression "*(int *)(iVar8 + 8)" * (cast_expression "(int *)(iVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = iVar8;" (assignment_expression "iVar7 = iVar8" identifier = identifier) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) }))
(translation_unit (ERROR (binary_expression IDENT * IDENT) : : (binary_expression IDENT < IDENT) , (binary_expression IDENT (ERROR : : (comma_expression (binary_expression IDENT < IDENT) , IDENT) : : (comma_expression IDENT (ERROR * >) , IDENT) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , IDENT) : : (comma_expression IDENT (ERROR * >>) , IDENT) : : (binary_expression (binary_expression IDENT < IDENT) > (ERROR ,) IDENT) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , IDENT) : : IDENT * >> > : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , IDENT) : : IDENT *) >> (parenthesized_expression ( (binary_expression IDENT * IDENT) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (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) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) (compound_statement { (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 (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != IDENT) || (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (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 ( IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (return_statement return IDENT ;) }))) }))) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) && (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) })) }))) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) && (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = BOOL) ;) (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) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = BOOL) ;)) (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) ;) })) }) while (parenthesized_expression ( BOOL )) ;) }))
(ERROR "pair * std::\n       _Rb_tree<unsigned_long_long,std::pair<unsigned_long_long_const,gold::Cie*>,std::_Select1st<std::pair<unsigned_long_long_const,gold::Cie*>>,std::less<unsigned_long_long>,std::allocator<std::pair<unsigned_long_long_const,gold::Cie*>>>\n       ::_M_emplace_unique<std::pair<int,gold::Cie*>>(pair *param_1)" (binary_expression "pair * std" (identifier "pair") (* "*") (identifier "std")) (: ":") (: ":") (binary_expression "_Rb_tree<unsigned_long_long" (identifier "_Rb_tree") (< "<") (identifier "unsigned_long_long")) (, ",") (binary_expression "std::pair<unsigned_long_long_const,gold::Cie*>,std::_Select1st<std::pair<unsigned_long_long_const,gold::Cie*>>,std::less<unsigned_long_long>,std::allocator<std::pair<unsigned_long_long_const,gold::Cie*>>>\n       ::_M_emplace_unique<std::pair<int,gold::Cie*>>(pair *param_1)" (identifier "std") (ERROR "::pair<unsigned_long_long_const,gold::Cie*>,std::_Select1st<std::pair<unsigned_long_long_const,gold::Cie*>>,std::less<unsigned_long_long>,std::allocator<std::pair<unsigned_long_long_const,gold::Cie*>>>\n       ::_M_emplace_unique<std::pair<int,gold::Cie*" (: ":") (: ":") (comma_expression "pair<unsigned_long_long_const,gold" (binary_expression "pair<unsigned_long_long_const" (identifier "pair") (< "<") (identifier "unsigned_long_long_const")) (, ",") (identifier "gold")) (: ":") (: ":") (comma_expression "Cie*>,std" (identifier "Cie") (ERROR "*>" (* "*") (> ">")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "_Select1st<std" (identifier "_Select1st") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "pair<unsigned_long_long_const,gold" (binary_expression "pair<unsigned_long_long_const" (identifier "pair") (< "<") (identifier "unsigned_long_long_const")) (, ",") (identifier "gold")) (: ":") (: ":") (comma_expression "Cie*>>,std" (identifier "Cie") (ERROR "*>>" (* "*") (>> ">>")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "less<unsigned_long_long>,std" (binary_expression "less<unsigned_long_long" (identifier "less") (< "<") (identifier "unsigned_long_long")) (> ">") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "pair<unsigned_long_long_const,gold" (binary_expression "pair<unsigned_long_long_const" (identifier "pair") (< "<") (identifier "unsigned_long_long_const")) (, ",") (identifier "gold")) (: ":") (: ":") (identifier "Cie") (* "*") (>> ">>") (> ">") (: ":") (: ":") (binary_expression "_M_emplace_unique<std" (identifier "_M_emplace_unique") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "pair<int,gold" (binary_expression "pair<int" (identifier "pair") (< "<") (identifier "int")) (, ",") (identifier "gold")) (: ":") (: ":") (identifier "Cie") (* "*")) (>> ">>") (parenthesized_expression "(pair *param_1)" (( "(") (binary_expression "pair *param_1" (identifier "pair") (* "*") (identifier "param_1")) () ")")))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  int in_a1;\n  int iVar7;\n  uint *in_a2;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  \n  iVar3 = (*(code *)PTR_operator_new_004c13a8)(0x20);\n  uVar10 = *in_a2;\n  uVar4 = in_a2[1];\n  iVar8 = *(int *)(in_a1 + 8);\n  uVar9 = (int)uVar10 >> 0x1f;\n  *(uint *)(iVar3 + 0x14) = uVar10;\n  *(uint *)(iVar3 + 0x18) = uVar4;\n  *(uint *)(iVar3 + 0x10) = uVar9;\n  iVar7 = in_a1 + 4;\n  if (iVar8 == 0) {\nLAB_002f8110:\n    if (*(int *)(in_a1 + 0xc) != iVar7) {\n      iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7);\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\nLAB_002f8078:\n      if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }\n    }\n    if (in_a1 + 4 == iVar7) {\n      uVar6 = 1;\n    }\n    else {\n      uVar6 = 1;\n      if (*(uint *)(iVar7 + 0x10) <= uVar9) {\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }\n    (*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,iVar7);\n    iVar8 = *(int *)(in_a1 + 0x14);\n    *(int *)param_1 = iVar3;\n    *(int *)(in_a1 + 0x14) = iVar8 + 1;\n    param_1[4] = (pair)0x1;\n    return param_1;\n  }\n  uVar4 = *(uint *)(iVar8 + 0x10);\n  uVar5 = *(uint *)(iVar8 + 0x14);\n  if (uVar9 < uVar4) goto LAB_002f8064;\n  do {\n    if ((uVar4 == uVar9) && (uVar10 < uVar5)) goto LAB_002f8064;\n    bVar1 = false;\n    iVar2 = *(int *)(iVar8 + 0xc);\n    iVar7 = iVar8;\n    while( true ) {\n      iVar8 = iVar2;\n      if (iVar8 == 0) {\n        iVar8 = iVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\n      if (uVar4 <= uVar9) break;\nLAB_002f8064:\n      bVar1 = true;\n      iVar2 = *(int *)(iVar8 + 8);\n      iVar7 = iVar8;\n    }\n  } while( true );\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "int in_a1;" (primitive_type "int") (identifier "in_a1") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "uint *in_a2;" (type_identifier "uint") (pointer_declarator "*in_a2" (* "*") (identifier "in_a2")) (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (expression_statement "iVar3 = (*(code *)PTR_operator_new_004c13a8)(0x20);" (assignment_expression "iVar3 = (*(code *)PTR_operator_new_004c13a8)(0x20)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_operator_new_004c13a8)(0x20)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" (( "(") (pointer_expression "*(code *)PTR_operator_new_004c13a8" (* "*") (cast_expression "(code *)PTR_operator_new_004c13a8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_new_004c13a8"))) () ")")) (argument_list "(0x20)" (( "(") (number_literal "0x20") () ")")))) (; ";")) (expression_statement "uVar10 = *in_a2;" (assignment_expression "uVar10 = *in_a2" (identifier "uVar10") (= "=") (pointer_expression "*in_a2" (* "*") (identifier "in_a2"))) (; ";")) (expression_statement "uVar4 = in_a2[1];" (assignment_expression "uVar4 = in_a2[1]" (identifier "uVar4") (= "=") (subscript_expression "in_a2[1]" (identifier "in_a2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar8 = *(int *)(in_a1 + 8);" (assignment_expression "iVar8 = *(int *)(in_a1 + 8)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(in_a1 + 8)" (* "*") (cast_expression "(int *)(in_a1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_a1 + 8)" (( "(") (binary_expression "in_a1 + 8" (identifier "in_a1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar9 = (int)uVar10 >> 0x1f;" (assignment_expression "uVar9 = (int)uVar10 >> 0x1f" (identifier "uVar9") (= "=") (binary_expression "(int)uVar10 >> 0x1f" (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10")) (>> ">>") (number_literal "0x1f"))) (; ";")) (expression_statement "*(uint *)(iVar3 + 0x14) = uVar10;" (assignment_expression "*(uint *)(iVar3 + 0x14) = uVar10" (pointer_expression "*(uint *)(iVar3 + 0x14)" (* "*") (cast_expression "(uint *)(iVar3 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x14)" (( "(") (binary_expression "iVar3 + 0x14" (identifier "iVar3") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "*(uint *)(iVar3 + 0x18) = uVar4;" (assignment_expression "*(uint *)(iVar3 + 0x18) = uVar4" (pointer_expression "*(uint *)(iVar3 + 0x18)" (* "*") (cast_expression "(uint *)(iVar3 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x18)" (( "(") (binary_expression "iVar3 + 0x18" (identifier "iVar3") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "*(uint *)(iVar3 + 0x10) = uVar9;" (assignment_expression "*(uint *)(iVar3 + 0x10) = uVar9" (pointer_expression "*(uint *)(iVar3 + 0x10)" (* "*") (cast_expression "(uint *)(iVar3 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x10)" (( "(") (binary_expression "iVar3 + 0x10" (identifier "iVar3") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "iVar7 = in_a1 + 4;" (assignment_expression "iVar7 = in_a1 + 4" (identifier "iVar7") (= "=") (binary_expression "in_a1 + 4" (identifier "in_a1") (+ "+") (number_literal "4"))) (; ";")) (if_statement "if (iVar8 == 0) {\nLAB_002f8110:\n    if (*(int *)(in_a1 + 0xc) != iVar7) {\n      iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7);\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\nLAB_002f8078:\n      if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }\n    }\n    if (in_a1 + 4 == iVar7) {\n      uVar6 = 1;\n    }\n    else {\n      uVar6 = 1;\n      if (*(uint *)(iVar7 + 0x10) <= uVar9) {\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }\n    (*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,iVar7);\n    iVar8 = *(int *)(in_a1 + 0x14);\n    *(int *)param_1 = iVar3;\n    *(int *)(in_a1 + 0x14) = iVar8 + 1;\n    param_1[4] = (pair)0x1;\n    return param_1;\n  }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_002f8110:\n    if (*(int *)(in_a1 + 0xc) != iVar7) {\n      iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7);\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\nLAB_002f8078:\n      if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }\n    }\n    if (in_a1 + 4 == iVar7) {\n      uVar6 = 1;\n    }\n    else {\n      uVar6 = 1;\n      if (*(uint *)(iVar7 + 0x10) <= uVar9) {\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }\n    (*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,iVar7);\n    iVar8 = *(int *)(in_a1 + 0x14);\n    *(int *)param_1 = iVar3;\n    *(int *)(in_a1 + 0x14) = iVar8 + 1;\n    param_1[4] = (pair)0x1;\n    return param_1;\n  }" ({ "{") (labeled_statement "LAB_002f8110:\n    if (*(int *)(in_a1 + 0xc) != iVar7) {\n      iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7);\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\nLAB_002f8078:\n      if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }\n    }" (statement_identifier "LAB_002f8110") (: ":") (if_statement "if (*(int *)(in_a1 + 0xc) != iVar7) {\n      iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7);\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\nLAB_002f8078:\n      if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }\n    }" (if "if") (parenthesized_expression "(*(int *)(in_a1 + 0xc) != iVar7)" (( "(") (binary_expression "*(int *)(in_a1 + 0xc) != iVar7" (pointer_expression "*(int *)(in_a1 + 0xc)" (* "*") (cast_expression "(int *)(in_a1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_a1 + 0xc)" (( "(") (binary_expression "in_a1 + 0xc" (identifier "in_a1") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (identifier "iVar7")) () ")")) (compound_statement "{\n      iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7);\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\nLAB_002f8078:\n      if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }\n    }" ({ "{") (expression_statement "iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7);" (assignment_expression "iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7)" (identifier "iVar8") (= "=") (call_expression "(*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7)" (parenthesized_expression "(*(code *)PTR__Rb_tree_decrement_004c1a5c)" (( "(") (pointer_expression "*(code *)PTR__Rb_tree_decrement_004c1a5c" (* "*") (cast_expression "(code *)PTR__Rb_tree_decrement_004c1a5c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__Rb_tree_decrement_004c1a5c"))) () ")")) (argument_list "(iVar7)" (( "(") (identifier "iVar7") () ")")))) (; ";")) (expression_statement "uVar4 = *(uint *)(iVar8 + 0x10);" (assignment_expression "uVar4 = *(uint *)(iVar8 + 0x10)" (identifier "uVar4") (= "=") (pointer_expression "*(uint *)(iVar8 + 0x10)" (* "*") (cast_expression "(uint *)(iVar8 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x10)" (( "(") (binary_expression "iVar8 + 0x10" (identifier "iVar8") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar5 = *(uint *)(iVar8 + 0x14);" (assignment_expression "uVar5 = *(uint *)(iVar8 + 0x14)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(iVar8 + 0x14)" (* "*") (cast_expression "(uint *)(iVar8 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x14)" (( "(") (binary_expression "iVar8 + 0x14" (identifier "iVar8") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (labeled_statement "LAB_002f8078:\n      if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }" (statement_identifier "LAB_002f8078") (: ":") (if_statement "if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))\n      {\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }" (if "if") (parenthesized_expression "(((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))" (( "(") (binary_expression "((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0)" (parenthesized_expression "((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5))))" (( "(") (binary_expression "(uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))" (parenthesized_expression "(uVar9 <= uVar4)" (( "(") (binary_expression "uVar9 <= uVar4" (identifier "uVar9") (<= "<=") (identifier "uVar4")) () ")")) (&& "&&") (parenthesized_expression "((uVar9 != uVar4 || (uVar10 <= uVar5)))" (( "(") (parenthesized_expression "(uVar9 != uVar4 || (uVar10 <= uVar5))" (( "(") (binary_expression "uVar9 != uVar4 || (uVar10 <= uVar5)" (binary_expression "uVar9 != uVar4" (identifier "uVar9") (!= "!=") (identifier "uVar4")) (|| "||") (parenthesized_expression "(uVar10 <= uVar5)" (( "(") (binary_expression "uVar10 <= uVar5" (identifier "uVar10") (<= "<=") (identifier "uVar5")) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar8 = 0, iVar7 == 0)" (( "(") (comma_expression "iVar8 = 0, iVar7 == 0" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (, ",") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        (*(code *)PTR_operator_delete_004c12fc)(iVar3);\n        *(int *)param_1 = iVar8;\n        param_1[4] = (pair)0x0;\n        return param_1;\n      }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_004c12fc)(iVar3);" (call_expression "(*(code *)PTR_operator_delete_004c12fc)(iVar3)" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_004c12fc" (* "*") (cast_expression "(code *)PTR_operator_delete_004c12fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_004c12fc"))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "*(int *)param_1 = iVar8;" (assignment_expression "*(int *)param_1 = iVar8" (pointer_expression "*(int *)param_1" (* "*") (cast_expression "(int *)param_1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (= "=") (identifier "iVar8")) (; ";")) (expression_statement "param_1[4] = (pair)0x0;" (assignment_expression "param_1[4] = (pair)0x0" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(pair)0x0" (( "(") (type_descriptor "pair" (type_identifier "pair")) () ")") (number_literal "0x0"))) (; ";")) (return_statement "return param_1;" (return "return") (identifier "param_1") (; ";")) (} "}")))) (} "}")))) (if_statement "if (in_a1 + 4 == iVar7) {\n      uVar6 = 1;\n    }\n    else {\n      uVar6 = 1;\n      if (*(uint *)(iVar7 + 0x10) <= uVar9) {\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }" (if "if") (parenthesized_expression "(in_a1 + 4 == iVar7)" (( "(") (binary_expression "in_a1 + 4 == iVar7" (binary_expression "in_a1 + 4" (identifier "in_a1") (+ "+") (number_literal "4")) (== "==") (identifier "iVar7")) () ")")) (compound_statement "{\n      uVar6 = 1;\n    }" ({ "{") (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n      uVar6 = 1;\n      if (*(uint *)(iVar7 + 0x10) <= uVar9) {\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }" (else "else") (compound_statement "{\n      uVar6 = 1;\n      if (*(uint *)(iVar7 + 0x10) <= uVar9) {\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }\n    }" ({ "{") (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (if_statement "if (*(uint *)(iVar7 + 0x10) <= uVar9) {\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }" (if "if") (parenthesized_expression "(*(uint *)(iVar7 + 0x10) <= uVar9)" (( "(") (binary_expression "*(uint *)(iVar7 + 0x10) <= uVar9" (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")) () ")")))) (<= "<=") (identifier "uVar9")) () ")")) (compound_statement "{\n        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }\n      }" ({ "{") (if_statement "if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {\n          uVar6 = 1;\n        }\n        else {\n          uVar6 = 0;\n        }" (if "if") (parenthesized_expression "((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14)))" (( "(") (binary_expression "(*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))" (parenthesized_expression "(*(uint *)(iVar7 + 0x10) == uVar9)" (( "(") (binary_expression "*(uint *)(iVar7 + 0x10) == uVar9" (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")) () ")")))) (== "==") (identifier "uVar9")) () ")")) (&& "&&") (parenthesized_expression "(uVar10 < *(uint *)(iVar7 + 0x14))" (( "(") (binary_expression "uVar10 < *(uint *)(iVar7 + 0x14)" (identifier "uVar10") (< "<") (pointer_expression "*(uint *)(iVar7 + 0x14)" (* "*") (cast_expression "(uint *)(iVar7 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x14)" (( "(") (binary_expression "iVar7 + 0x14" (identifier "iVar7") (+ "+") (number_literal "0x14")) () ")"))))) () ")"))) () ")")) (compound_statement "{\n          uVar6 = 1;\n        }" ({ "{") (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n          uVar6 = 0;\n        }" (else "else") (compound_statement "{\n          uVar6 = 0;\n        }" ({ "{") (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}"))) (} "}")))) (expression_statement "(*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,iVar7);" (call_expression "(*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,iVar7)" (parenthesized_expression "(*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)" (( "(") (pointer_expression "*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58" (* "*") (cast_expression "(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__Rb_tree_insert_and_rebalance_004c1a58"))) () ")")) (argument_list "(uVar6,iVar3,iVar7)" (( "(") (identifier "uVar6") (, ",") (identifier "iVar3") (, ",") (identifier "iVar7") () ")"))) (; ";")) (expression_statement "iVar8 = *(int *)(in_a1 + 0x14);" (assignment_expression "iVar8 = *(int *)(in_a1 + 0x14)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(in_a1 + 0x14)" (* "*") (cast_expression "(int *)(in_a1 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_a1 + 0x14)" (( "(") (binary_expression "in_a1 + 0x14" (identifier "in_a1") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(int *)param_1 = iVar3;" (assignment_expression "*(int *)param_1 = iVar3" (pointer_expression "*(int *)param_1" (* "*") (cast_expression "(int *)param_1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "*(int *)(in_a1 + 0x14) = iVar8 + 1;" (assignment_expression "*(int *)(in_a1 + 0x14) = iVar8 + 1" (pointer_expression "*(int *)(in_a1 + 0x14)" (* "*") (cast_expression "(int *)(in_a1 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_a1 + 0x14)" (( "(") (binary_expression "in_a1 + 0x14" (identifier "in_a1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "param_1[4] = (pair)0x1;" (assignment_expression "param_1[4] = (pair)0x1" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(pair)0x1" (( "(") (type_descriptor "pair" (type_identifier "pair")) () ")") (number_literal "0x1"))) (; ";")) (return_statement "return param_1;" (return "return") (identifier "param_1") (; ";")) (} "}"))) (expression_statement "uVar4 = *(uint *)(iVar8 + 0x10);" (assignment_expression "uVar4 = *(uint *)(iVar8 + 0x10)" (identifier "uVar4") (= "=") (pointer_expression "*(uint *)(iVar8 + 0x10)" (* "*") (cast_expression "(uint *)(iVar8 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x10)" (( "(") (binary_expression "iVar8 + 0x10" (identifier "iVar8") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar5 = *(uint *)(iVar8 + 0x14);" (assignment_expression "uVar5 = *(uint *)(iVar8 + 0x14)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(iVar8 + 0x14)" (* "*") (cast_expression "(uint *)(iVar8 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x14)" (( "(") (binary_expression "iVar8 + 0x14" (identifier "iVar8") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (uVar9 < uVar4) goto LAB_002f8064;" (if "if") (parenthesized_expression "(uVar9 < uVar4)" (( "(") (binary_expression "uVar9 < uVar4" (identifier "uVar9") (< "<") (identifier "uVar4")) () ")")) (goto_statement "goto LAB_002f8064;" (goto "goto") (statement_identifier "LAB_002f8064") (; ";"))) (do_statement "do {\n    if ((uVar4 == uVar9) && (uVar10 < uVar5)) goto LAB_002f8064;\n    bVar1 = false;\n    iVar2 = *(int *)(iVar8 + 0xc);\n    iVar7 = iVar8;\n    while( true ) {\n      iVar8 = iVar2;\n      if (iVar8 == 0) {\n        iVar8 = iVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\n      if (uVar4 <= uVar9) break;\nLAB_002f8064:\n      bVar1 = true;\n      iVar2 = *(int *)(iVar8 + 8);\n      iVar7 = iVar8;\n    }\n  } while( true );" (do "do") (compound_statement "{\n    if ((uVar4 == uVar9) && (uVar10 < uVar5)) goto LAB_002f8064;\n    bVar1 = false;\n    iVar2 = *(int *)(iVar8 + 0xc);\n    iVar7 = iVar8;\n    while( true ) {\n      iVar8 = iVar2;\n      if (iVar8 == 0) {\n        iVar8 = iVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\n      if (uVar4 <= uVar9) break;\nLAB_002f8064:\n      bVar1 = true;\n      iVar2 = *(int *)(iVar8 + 8);\n      iVar7 = iVar8;\n    }\n  }" ({ "{") (if_statement "if ((uVar4 == uVar9) && (uVar10 < uVar5)) goto LAB_002f8064;" (if "if") (parenthesized_expression "((uVar4 == uVar9) && (uVar10 < uVar5))" (( "(") (binary_expression "(uVar4 == uVar9) && (uVar10 < uVar5)" (parenthesized_expression "(uVar4 == uVar9)" (( "(") (binary_expression "uVar4 == uVar9" (identifier "uVar4") (== "==") (identifier "uVar9")) () ")")) (&& "&&") (parenthesized_expression "(uVar10 < uVar5)" (( "(") (binary_expression "uVar10 < uVar5" (identifier "uVar10") (< "<") (identifier "uVar5")) () ")"))) () ")")) (goto_statement "goto LAB_002f8064;" (goto "goto") (statement_identifier "LAB_002f8064") (; ";"))) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (expression_statement "iVar2 = *(int *)(iVar8 + 0xc);" (assignment_expression "iVar2 = *(int *)(iVar8 + 0xc)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(iVar8 + 0xc)" (* "*") (cast_expression "(int *)(iVar8 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0xc)" (( "(") (binary_expression "iVar8 + 0xc" (identifier "iVar8") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar7 = iVar8;" (assignment_expression "iVar7 = iVar8" (identifier "iVar7") (= "=") (identifier "iVar8")) (; ";")) (while_statement "while( true ) {\n      iVar8 = iVar2;\n      if (iVar8 == 0) {\n        iVar8 = iVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\n      if (uVar4 <= uVar9) break;\nLAB_002f8064:\n      bVar1 = true;\n      iVar2 = *(int *)(iVar8 + 8);\n      iVar7 = iVar8;\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      iVar8 = iVar2;\n      if (iVar8 == 0) {\n        iVar8 = iVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }\n      uVar4 = *(uint *)(iVar8 + 0x10);\n      uVar5 = *(uint *)(iVar8 + 0x14);\n      if (uVar4 <= uVar9) break;\nLAB_002f8064:\n      bVar1 = true;\n      iVar2 = *(int *)(iVar8 + 8);\n      iVar7 = iVar8;\n    }" ({ "{") (expression_statement "iVar8 = iVar2;" (assignment_expression "iVar8 = iVar2" (identifier "iVar8") (= "=") (identifier "iVar2")) (; ";")) (if_statement "if (iVar8 == 0) {\n        iVar8 = iVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar8 = iVar7;\n        if (bVar1) goto LAB_002f8110;\n        goto LAB_002f8078;\n      }" ({ "{") (expression_statement "iVar8 = iVar7;" (assignment_expression "iVar8 = iVar7" (identifier "iVar8") (= "=") (identifier "iVar7")) (; ";")) (if_statement "if (bVar1) goto LAB_002f8110;" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (goto_statement "goto LAB_002f8110;" (goto "goto") (statement_identifier "LAB_002f8110") (; ";"))) (goto_statement "goto LAB_002f8078;" (goto "goto") (statement_identifier "LAB_002f8078") (; ";")) (} "}"))) (expression_statement "uVar4 = *(uint *)(iVar8 + 0x10);" (assignment_expression "uVar4 = *(uint *)(iVar8 + 0x10)" (identifier "uVar4") (= "=") (pointer_expression "*(uint *)(iVar8 + 0x10)" (* "*") (cast_expression "(uint *)(iVar8 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x10)" (( "(") (binary_expression "iVar8 + 0x10" (identifier "iVar8") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar5 = *(uint *)(iVar8 + 0x14);" (assignment_expression "uVar5 = *(uint *)(iVar8 + 0x14)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(iVar8 + 0x14)" (* "*") (cast_expression "(uint *)(iVar8 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x14)" (( "(") (binary_expression "iVar8 + 0x14" (identifier "iVar8") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (uVar4 <= uVar9) break;" (if "if") (parenthesized_expression "(uVar4 <= uVar9)" (( "(") (binary_expression "uVar4 <= uVar9" (identifier "uVar4") (<= "<=") (identifier "uVar9")) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_002f8064:\n      bVar1 = true;" (statement_identifier "LAB_002f8064") (: ":") (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";"))) (expression_statement "iVar2 = *(int *)(iVar8 + 8);" (assignment_expression "iVar2 = *(int *)(iVar8 + 8)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(iVar8 + 8)" (* "*") (cast_expression "(int *)(iVar8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 8)" (( "(") (binary_expression "iVar8 + 8" (identifier "iVar8") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar7 = iVar8;" (assignment_expression "iVar7 = iVar8" (identifier "iVar7") (= "=") (identifier "iVar8")) (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))
(translation_unit (ERROR (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) (ERROR (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) (comma_expression left: (identifier) (ERROR) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) (comma_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) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (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 (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (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))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (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: (identifier))) consequence: (compound_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 (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) (return_statement (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (false))) (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))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_statement)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (true)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) condition: (parenthesized_expression (true)))))

/* std::pair<std::_Rb_tree_iterator<std::pair<unsigned long long const, gold::Cie*> >, bool>
   std::_Rb_tree<unsigned long long, std::pair<unsigned long long const, gold::Cie*>,
   std::_Select1st<std::pair<unsigned long long const, gold::Cie*> >, std::less<unsigned long long>,
   std::allocator<std::pair<unsigned long long const, gold::Cie*> >
   >::_M_emplace_unique<std::pair<int, gold::Cie*> >(std::pair<int, gold::Cie*>&&) */

pair * std::
       _Rb_tree<unsigned_long_long,std::pair<unsigned_long_long_const,gold::Cie*>,std::_Select1st<std::pair<unsigned_long_long_const,gold::Cie*>>,std::less<unsigned_long_long>,std::allocator<std::pair<unsigned_long_long_const,gold::Cie*>>>
       ::MASKED(pair *param_1)

{
  bool bVar1;
  int iVar2;
  int iVar3;
  uint uVar4;
  uint uVar5;
  undefined4 uVar6;
  int in_a1;
  int iVar7;
  uint *in_a2;
  int iVar8;
  uint uVar9;
  uint uVar10;
  
  iVar3 = (*(code *)PTR_operator_new_004c13a8)(0x20);
  uVar10 = *in_a2;
  uVar4 = in_a2[1];
  iVar8 = *(int *)(in_a1 + 8);
  uVar9 = (int)uVar10 >> 0x1f;
  *(uint *)(iVar3 + 0x14) = uVar10;
  *(uint *)(iVar3 + 0x18) = uVar4;
  *(uint *)(iVar3 + 0x10) = uVar9;
  iVar7 = in_a1 + 4;
  if (iVar8 == 0) {
LAB_002f8110:
    if (*(int *)(in_a1 + 0xc) != iVar7) {
      iVar8 = (*(code *)PTR__Rb_tree_decrement_004c1a5c)(iVar7);
      uVar4 = *(uint *)(iVar8 + 0x10);
      uVar5 = *(uint *)(iVar8 + 0x14);
LAB_002f8078:
      if (((uVar9 <= uVar4) && ((uVar9 != uVar4 || (uVar10 <= uVar5)))) || (iVar8 = 0, iVar7 == 0))
      {
        (*(code *)PTR_operator_delete_004c12fc)(iVar3);
        *(int *)param_1 = iVar8;
        param_1[4] = (pair)0x0;
        return param_1;
      }
    }
    if (in_a1 + 4 == iVar7) {
      uVar6 = 1;
    }
    else {
      uVar6 = 1;
      if (*(uint *)(iVar7 + 0x10) <= uVar9) {
        if ((*(uint *)(iVar7 + 0x10) == uVar9) && (uVar10 < *(uint *)(iVar7 + 0x14))) {
          uVar6 = 1;
        }
        else {
          uVar6 = 0;
        }
      }
    }
    (*(code *)PTR__Rb_tree_insert_and_rebalance_004c1a58)(uVar6,iVar3,iVar7);
    iVar8 = *(int *)(in_a1 + 0x14);
    *(int *)param_1 = iVar3;
    *(int *)(in_a1 + 0x14) = iVar8 + 1;
    param_1[4] = (pair)0x1;
    return param_1;
  }
  uVar4 = *(uint *)(iVar8 + 0x10);
  uVar5 = *(uint *)(iVar8 + 0x14);
  if (uVar9 < uVar4) goto LAB_002f8064;
  do {
    if ((uVar4 == uVar9) && (uVar10 < uVar5)) goto LAB_002f8064;
    bVar1 = false;
    iVar2 = *(int *)(iVar8 + 0xc);
    iVar7 = iVar8;
    while( true ) {
      iVar8 = iVar2;
      if (iVar8 == 0) {
        iVar8 = iVar7;
        if (bVar1) goto LAB_002f8110;
        goto LAB_002f8078;
      }
      uVar4 = *(uint *)(iVar8 + 0x10);
      uVar5 = *(uint *)(iVar8 + 0x14);
      if (uVar4 <= uVar9) break;
LAB_002f8064:
      bVar1 = true;
      iVar2 = *(int *)(iVar8 + 8);
      iVar7 = iVar8;
    }
  } while( true );
}

