
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* DWARF original prototype: void add_input_section(Script_sections * this, Input_section_spec *
   spec, bool keep) */

void __thiscall
gold::Script_sections::add_input_section(Script_sections *this,Input_section_spec *spec,bool keep)

{
  _Rb_tree_node_base *p_Var1;
  int iVar2;
  uint uVar3;
  int *piVar4;
  _Base_ptr p_Var5;
  _Base_ptr p_Var6;
  int *piVar7;
  undefined *puVar8;
  undefined4 uVar9;
  _Link_type p_Var10;
  _Link_type p_Var11;
  undefined4 *puVar12;
  _Base_ptr p_Var13;
  int *piVar14;
  undefined4 uVar15;
  _Rb_tree_color _Var16;
  _Link_type p_Var17;
  _Link_type p_Var18;
  int iVar19;
  _Base_ptr p_Var20;
  uint uVar21;
  _Base_ptr p_Var22;
  undefined *puVar23;
  code *pcVar24;
  uint uVar25;
  undefined1 auStack_a8 [8];
  _Link_type p_Stack_a0;
  _Link_type p_Stack_9c;
  _Link_type p_Stack_98;
  undefined4 uStack_94;
  undefined1 auStack_90 [16];
  _Rb_tree_node_base _Stack_80;
  _Base_ptr p_Stack_70;
  int iStack_6c;
  int iStack_68;
  undefined1 *puStack_64;
  undefined1 *puStack_60;
  const_iterator cStack_5c;
  int iStack_58;
  int iStack_54;
  int iStack_50;
  
  if (this->output_section_ != (Output_section_definition *)0x0) {
    Output_section_definition::add_input_section(this->output_section_,spec,keep);
    return;
  }
  uVar9 = 0xd9b;
  puVar8 = PTR_s__0043226c + -0x5d54;
  puVar23 = PTR_do_gold_unreachable_004323c4;
  (*(code *)PTR_do_gold_unreachable_004323c4)(puVar8,0xd9b,PTR_s__0043226c + -0x5460);
  p_Var11 = (_Link_type)(auStack_a8 + 4);
  auStack_a8._4_4_ = (_Base_ptr)0x0;
  p_Stack_a0 = (_Link_type)0x0;
  uStack_94 = 0;
  piVar14 = (int *)**(undefined4 **)(puVar8 + 0x10);
  cStack_5c._M_node = (_Base_ptr)auStack_a8;
  p_Stack_9c = p_Var11;
  p_Stack_98 = p_Var11;
  if (piVar14 != (int *)(*(undefined4 **)(puVar8 + 0x10))[1]) {
    iVar19 = *(int *)(puVar23 + 0x2216ac);
    puVar12 = (undefined4 *)*piVar14;
    _Stack_80._M_parent = &_Stack_80;
    _Stack_80._M_left = (_Base_ptr)(auStack_90 + 8);
    _Stack_80._M_right = (_Base_ptr)auStack_90;
    p_Var10 = p_Var11;
    do {
      auStack_90._0_4_ = puVar12;
      std::
      _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>
      ::
      _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>
                ((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>
                  *)_Stack_80._M_parent,cStack_5c,(piecewise_construct_t *)p_Var10,
                 (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>
                  *)(iVar19 + -0x519c),(tuple<> *)_Stack_80._M_right);
      p_Var10 = (_Link_type)_Stack_80._M_color;
      do {
        uVar15 = (**(code **)(puVar23 + 0x2223b8))(uVar9,puVar12[6],puVar12[8]);
        piVar14 = piVar14 + 1;
        iVar2 = *(int *)(puVar8 + 0x10);
        puVar12[0xc] = uVar15;
        *(undefined4 *)((p_Var10->_M_storage)._M_storage + 0x18) = uVar15;
        if (*(int **)(iVar2 + 4) == piVar14) goto LAB_00210d90;
        puVar12 = (undefined4 *)*piVar14;
        p_Var10 = p_Var11;
        if (p_Stack_a0 == (_Link_type)0x0) break;
        uVar21 = puVar12[1];
        uVar15 = *puVar12;
        p_Var17 = p_Stack_a0;
        do {
          uVar25 = *(uint *)((p_Var17->_M_storage)._M_storage + 4);
          uVar3 = uVar21;
          if (uVar25 <= uVar21) {
            uVar3 = uVar25;
          }
          if ((uVar3 == 0) ||
             (iVar2 = (**(code **)(puVar23 + 0x225d1c))
                                (*(undefined4 *)(p_Var17->_M_storage)._M_storage,uVar15,uVar3),
             iVar2 == 0)) {
            if (-1 < (int)(uVar25 - uVar21)) goto LAB_00210ca4;
LAB_00210d7c:
            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_right;
          }
          else {
            if (iVar2 < 0) goto LAB_00210d7c;
LAB_00210ca4:
            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_left;
            p_Var10 = p_Var17;
          }
          p_Var17 = p_Var18;
        } while (p_Var18 != (_Link_type)0x0);
        if (p_Var10 == p_Var11) break;
        uVar25 = *(uint *)((p_Var10->_M_storage)._M_storage + 4);
        uVar3 = uVar25;
        if (uVar21 <= uVar25) {
          uVar3 = uVar21;
        }
        if ((uVar3 == 0) ||
           (iVar2 = (**(code **)(puVar23 + 0x225d1c))
                              (uVar15,*(undefined4 *)(p_Var10->_M_storage)._M_storage,uVar3),
           iVar2 == 0)) {
          iVar2 = uVar21 - uVar25;
        }
      } while (-1 < iVar2);
    } while( true );
  }
LAB_00210d90:
  auStack_90._4_4_ = (_Base_ptr)0x0;
  puVar8[0x1f] = 1;
  piVar14 = (int *)**(int **)(puVar8 + 4);
  if (*(int **)(puVar8 + 4) != piVar14) {
    _Stack_80._M_parent = (_Rb_tree_node_base *)0x0;
    iStack_50 = *(int *)(puVar23 + 0x2216ac);
    puStack_60 = auStack_90 + 4;
    iStack_58 = *(int *)(puVar23 + 0x2216ac) + -0x567c;
    iStack_68 = *(int *)(puVar23 + 0x2216ac) + -0x568c;
    iStack_54 = *(int *)(puVar23 + 0x2216ac) + -0x56e4;
    piVar4 = (int *)piVar14[2];
    puStack_64 = auStack_90;
    do {
      uVar15 = auStack_90._4_4_;
      p_Var5 = (_Base_ptr)(**(code **)(*piVar4 + 0x30))(piVar4,puStack_60,puStack_64);
      _Stack_80._M_left = p_Var5;
      if (p_Var5 != (_Base_ptr)0x0) {
        _Stack_80._M_right =
             (_Base_ptr)(**(code **)(puVar23 + 0x22448c))(p_Var5[5]._M_left,p_Var5[5]._M_right);
        p_Var1 = (_Rb_tree_node_base *)((uint)auStack_90._0_4_ >> 0x18);
        if ((_Base_ptr)auStack_90._4_4_ == (_Base_ptr)0x0) {
          if (p_Var1 != (_Rb_tree_node_base *)0x0) {
            pcVar24 = *(code **)(puVar23 + 0x225c58);
            if ((int)p_Var5[1]._M_color < 1) {
              if ((p_Var5[1]._M_color != _S_red) || (p_Var5[1]._M_parent == (_Base_ptr)0x0))
              goto LAB_00210e64;
              pcVar24 = *(code **)(puVar23 + 0x225c58);
            }
            uVar15 = (*pcVar24)(iStack_54);
            (**(code **)(puVar23 + 0x2221c4))(uVar15,_Stack_80._M_left[2]._M_parent);
          }
LAB_00210e64:
          piVar4 = (int *)**(int **)(puVar8 + 0x10);
          piVar7 = (int *)(*(int **)(puVar8 + 0x10))[1];
          if (piVar4 != piVar7) {
            iVar19 = *(int *)(*piVar4 + 0x30);
            iVar2 = *(int *)(iVar19 + 0x198);
            while (iVar2 != 1) {
              piVar4 = piVar4 + 1;
              if (piVar7 == piVar4) goto LAB_00210ecc;
              iVar19 = *(int *)(*piVar4 + 0x30);
              iVar2 = *(int *)(iVar19 + 0x198);
            }
            (**(code **)(puVar23 + 0x2223b0))(iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);
          }
        }
        else {
          p_Var5 = (_Base_ptr)*(_Rb_tree_color *)auStack_90._4_4_;
          if (auStack_90._4_4_ != uVar15) {
            _Stack_80._M_parent = (_Rb_tree_node_base *)0x0;
          }
          if (p_Var1 != (_Rb_tree_node_base *)0x0) {
            _Stack_80._M_parent = p_Var1;
          }
          if (p_Var5 != *(_Base_ptr *)(auStack_90._4_4_ + 4)) {
            iStack_6c = 0;
            p_Var22 = (_Base_ptr)auStack_90._4_4_;
            do {
              pcVar24 = *(code **)(puVar23 + 0x225c58);
              if (p_Stack_a0 == (_Link_type)0x0) {
LAB_00211058:
                uVar15 = (*pcVar24)(iStack_68);
                (**(code **)(puVar23 + 0x2221c4))(uVar15,p_Var5->_M_color);
                p_Var22 = (_Base_ptr)auStack_90._4_4_;
              }
              else {
                p_Var20 = p_Var5->_M_parent;
                _Var16 = p_Var5->_M_color;
                p_Var10 = p_Stack_a0;
                p_Var17 = p_Var11;
                do {
                  p_Var13 = *(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4);
                  p_Var6 = p_Var20;
                  if (p_Var13 <= p_Var20) {
                    p_Var6 = p_Var13;
                  }
                  if ((p_Var6 == (_Base_ptr)0x0) ||
                     (iVar19 = (**(code **)(puVar23 + 0x225d1c))
                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,
                                          p_Var6), iVar19 == 0)) {
                    if (-1 < (int)p_Var13 - (int)p_Var20) goto LAB_00210f58;
LAB_00211044:
                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;
                  }
                  else {
                    if (iVar19 < 0) goto LAB_00211044;
LAB_00210f58:
                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;
                    p_Var17 = p_Var10;
                  }
                  p_Var10 = p_Var18;
                } while (p_Var18 != (_Link_type)0x0);
                pcVar24 = *(code **)(puVar23 + 0x225c58);
                if (p_Var17 == p_Var11) goto LAB_00211058;
                p_Var13 = *(_Base_ptr *)((p_Var17->_M_storage)._M_storage + 4);
                p_Var6 = p_Var13;
                if (p_Var20 <= p_Var13) {
                  p_Var6 = p_Var20;
                }
                if ((p_Var6 == (_Base_ptr)0x0) ||
                   (p_Stack_70 = p_Var13,
                   iVar19 = (**(code **)(puVar23 + 0x225d1c))
                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6
                                      ), p_Var13 = p_Stack_70, iVar19 == 0)) {
                  iVar19 = (int)p_Var20 - (int)p_Var13;
                  pcVar24 = *(code **)(puVar23 + 0x225c58);
                }
                else {
                  pcVar24 = *(code **)(puVar23 + 0x225c58);
                }
                if (iVar19 < 0) goto LAB_00211058;
                iVar19 = *(int *)((p_Var17->_M_storage)._M_storage + 0x18);
                if (_Stack_80._M_parent == (_Rb_tree_node_base *)0x0) {
                  if (*(int *)(iVar19 + 0x198) == 1) goto LAB_00210fcc;
                  (**(code **)(puVar23 + 0x2223bc))(iVar19,_Stack_80._M_left,_Stack_80._M_right);
                  p_Var22 = (_Base_ptr)auStack_90._4_4_;
                }
                else if (*(int *)(iVar19 + 0x198) == 1) {
LAB_00210fcc:
                  (**(code **)(puVar23 + 0x2223b0))
                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);
                  if (iStack_6c != 0) {
                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);
                    (**(code **)(puVar23 + 0x2221c4))(uVar15);
                  }
                  iStack_6c = 1;
                  p_Var22 = (_Base_ptr)auStack_90._4_4_;
                }
              }
              p_Var5 = (_Base_ptr)&p_Var5[1]._M_left;
            } while (p_Var22->_M_parent != p_Var5);
            if (iStack_6c != 0) goto LAB_00210ecc;
          }
          uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_50 + -0x56bc);
          (**(code **)(puVar23 + 0x2221c4))(uVar15);
        }
      }
LAB_00210ecc:
      piVar14 = (int *)*piVar14;
      if ((int *)*(int *)(puVar8 + 4) == piVar14) break;
      piVar4 = (int *)piVar14[2];
    } while( true );
  }
  std::
  _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>
  ::_M_erase((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>
              *)cStack_5c._M_node,p_Stack_a0);
  return;
}



/* gold::Script_sections::add_input_section(gold::Input_section_spec const*, bool) */

void __thiscall
gold::Script_sections::add_input_section
          (Script_sections *this,Input_section_spec *param_1,bool param_2)

{
  if (*(Output_section_definition **)(this + 8) != (Output_section_definition *)0x0) {
    Output_section_definition::add_input_section
              (*(Output_section_definition **)(this + 8),param_1,param_2);
    return;
  }
  (*(code *)PTR_do_gold_unreachable_004323c4)
            (PTR_DAT_0043226c + -0x5d54,0xd9b,PTR_DAT_0043226c + -0x5460);
  return;
}


lui gp,0x23
addiu gp,gp,-0x69a4
addu gp,gp,t9
addiu sp,sp,-0x20
lw a0,0x8(a0)
sw gp,0x10(sp)
sw ra,0x1c(sp)
beq a0,zero,0x00210ba4
_lw ra,0x1c(sp)
lw t9,-0x50ec(gp)
b 0x00210aa0
_addiu sp,sp,0x20
lw a2,-0x7f64(gp)
li a1,0xd9b
lw a0,-0x7f64(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,-0x5460
jalr t9
_addiu a0,a0,-0x5d54
(translation_unit "/* gold::Script_sections::add_input_section(gold::Input_section_spec const*, bool) */\n\nvoid __thiscall\ngold::Script_sections::add_input_section\n          (Script_sections *this,Input_section_spec *param_1,bool param_2)\n\n{\n  if (*(Output_section_definition **)(this + 8) != (Output_section_definition *)0x0) {\n    Output_section_definition::add_input_section\n              (*(Output_section_definition **)(this + 8),param_1,param_2);\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x5d54,0xd9b,PTR_DAT_0043226c + -0x5460);\n  return;\n}\n\n" comment (function_definition "void __thiscall\ngold::Script_sections::add_input_section\n          (Script_sections *this,Input_section_spec *param_1,bool param_2)\n\n{\n  if (*(Output_section_definition **)(this + 8) != (Output_section_definition *)0x0) {\n    Output_section_definition::add_input_section\n              (*(Output_section_definition **)(this + 8),param_1,param_2);\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x5d54,0xd9b,PTR_DAT_0043226c + -0x5460);\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Script_sections::" identifier : : identifier : :) (function_declarator "add_input_section\n          (Script_sections *this,Input_section_spec *param_1,bool param_2)" identifier (parameter_list "(Script_sections *this,Input_section_spec *param_1,bool param_2)" ( (parameter_declaration "Script_sections *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Input_section_spec *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "bool param_2" primitive_type identifier) ))) (compound_statement "{\n  if (*(Output_section_definition **)(this + 8) != (Output_section_definition *)0x0) {\n    Output_section_definition::add_input_section\n              (*(Output_section_definition **)(this + 8),param_1,param_2);\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x5d54,0xd9b,PTR_DAT_0043226c + -0x5460);\n  return;\n}" { (if_statement "if (*(Output_section_definition **)(this + 8) != (Output_section_definition *)0x0) {\n    Output_section_definition::add_input_section\n              (*(Output_section_definition **)(this + 8),param_1,param_2);\n    return;\n  }" if (parenthesized_expression "(*(Output_section_definition **)(this + 8) != (Output_section_definition *)0x0)" ( (binary_expression "*(Output_section_definition **)(this + 8) != (Output_section_definition *)0x0" (pointer_expression "*(Output_section_definition **)(this + 8)" * (cast_expression "(Output_section_definition **)(this + 8)" ( (type_descriptor "Output_section_definition **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))) != (cast_expression "(Output_section_definition *)0x0" ( (type_descriptor "Output_section_definition *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    Output_section_definition::add_input_section\n              (*(Output_section_definition **)(this + 8),param_1,param_2);\n    return;\n  }" { (labeled_statement "Output_section_definition::add_input_section\n              (*(Output_section_definition **)(this + 8),param_1,param_2);" statement_identifier : (ERROR ":" :) (expression_statement "add_input_section\n              (*(Output_section_definition **)(this + 8),param_1,param_2);" (call_expression "add_input_section\n              (*(Output_section_definition **)(this + 8),param_1,param_2)" identifier (argument_list "(*(Output_section_definition **)(this + 8),param_1,param_2)" ( (pointer_expression "*(Output_section_definition **)(this + 8)" * (cast_expression "(Output_section_definition **)(this + 8)" ( (type_descriptor "Output_section_definition **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))) , identifier , identifier ))) ;)) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x5d54,0xd9b,PTR_DAT_0043226c + -0x5460);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x5d54,0xd9b,PTR_DAT_0043226c + -0x5460)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0043226c + -0x5d54,0xd9b,PTR_DAT_0043226c + -0x5460)" ( (binary_expression "PTR_DAT_0043226c + -0x5d54" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_0043226c + -0x5460" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* DWARF original prototype: void add_input_section(Script_sections * this, Input_section_spec *\n   spec, bool keep) */\n\nvoid __thiscall\ngold::Script_sections::add_input_section(Script_sections *this,Input_section_spec *spec,bool keep)\n\n{\n  _Rb_tree_node_base *p_Var1;\n  int iVar2;\n  uint uVar3;\n  int *piVar4;\n  _Base_ptr p_Var5;\n  _Base_ptr p_Var6;\n  int *piVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  _Link_type p_Var10;\n  _Link_type p_Var11;\n  undefined4 *puVar12;\n  _Base_ptr p_Var13;\n  int *piVar14;\n  undefined4 uVar15;\n  _Rb_tree_color _Var16;\n  _Link_type p_Var17;\n  _Link_type p_Var18;\n  int iVar19;\n  _Base_ptr p_Var20;\n  uint uVar21;\n  _Base_ptr p_Var22;\n  undefined *puVar23;\n  code *pcVar24;\n  uint uVar25;\n  undefined1 auStack_a8 [8];\n  _Link_type p_Stack_a0;\n  _Link_type p_Stack_9c;\n  _Link_type p_Stack_98;\n  undefined4 uStack_94;\n  undefined1 auStack_90 [16];\n  _Rb_tree_node_base _Stack_80;\n  _Base_ptr p_Stack_70;\n  int iStack_6c;\n  int iStack_68;\n  undefined1 *puStack_64;\n  undefined1 *puStack_60;\n  const_iterator cStack_5c;\n  int iStack_58;\n  int iStack_54;\n  int iStack_50;\n  \n  if (this->output_section_ != (Output_section_definition *)0x0) {\n    Output_section_definition::add_input_section(this->output_section_,spec,keep);\n    return;\n  }\n  uVar9 = 0xd9b;\n  puVar8 = PTR_s__0043226c + -0x5d54;\n  puVar23 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)(puVar8,0xd9b,PTR_s__0043226c + -0x5460);\n  p_Var11 = (_Link_type)(auStack_a8 + 4);\n  auStack_a8._4_4_ = (_Base_ptr)0x0;\n  p_Stack_a0 = (_Link_type)0x0;\n  uStack_94 = 0;\n  piVar14 = (int *)**(undefined4 **)(puVar8 + 0x10);\n  cStack_5c._M_node = (_Base_ptr)auStack_a8;\n  p_Stack_9c = p_Var11;\n  p_Stack_98 = p_Var11;\n  if (piVar14 != (int *)(*(undefined4 **)(puVar8 + 0x10))[1]) {\n    iVar19 = *(int *)(puVar23 + 0x2216ac);\n    puVar12 = (undefined4 *)*piVar14;\n    _Stack_80._M_parent = &_Stack_80;\n    _Stack_80._M_left = (_Base_ptr)(auStack_90 + 8);\n    _Stack_80._M_right = (_Base_ptr)auStack_90;\n    p_Var10 = p_Var11;\n    do {\n      auStack_90._0_4_ = puVar12;\n      std::\n      _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n      ::\n      _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                ((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n                  *)_Stack_80._M_parent,cStack_5c,(piecewise_construct_t *)p_Var10,\n                 (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  *)(iVar19 + -0x519c),(tuple<> *)_Stack_80._M_right);\n      p_Var10 = (_Link_type)_Stack_80._M_color;\n      do {\n        uVar15 = (**(code **)(puVar23 + 0x2223b8))(uVar9,puVar12[6],puVar12[8]);\n        piVar14 = piVar14 + 1;\n        iVar2 = *(int *)(puVar8 + 0x10);\n        puVar12[0xc] = uVar15;\n        *(undefined4 *)((p_Var10->_M_storage)._M_storage + 0x18) = uVar15;\n        if (*(int **)(iVar2 + 4) == piVar14) goto LAB_00210d90;\n        puVar12 = (undefined4 *)*piVar14;\n        p_Var10 = p_Var11;\n        if (p_Stack_a0 == (_Link_type)0x0) break;\n        uVar21 = puVar12[1];\n        uVar15 = *puVar12;\n        p_Var17 = p_Stack_a0;\n        do {\n          uVar25 = *(uint *)((p_Var17->_M_storage)._M_storage + 4);\n          uVar3 = uVar21;\n          if (uVar25 <= uVar21) {\n            uVar3 = uVar25;\n          }\n          if ((uVar3 == 0) ||\n             (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                                (*(undefined4 *)(p_Var17->_M_storage)._M_storage,uVar15,uVar3),\n             iVar2 == 0)) {\n            if (-1 < (int)(uVar25 - uVar21)) goto LAB_00210ca4;\nLAB_00210d7c:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_right;\n          }\n          else {\n            if (iVar2 < 0) goto LAB_00210d7c;\nLAB_00210ca4:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_left;\n            p_Var10 = p_Var17;\n          }\n          p_Var17 = p_Var18;\n        } while (p_Var18 != (_Link_type)0x0);\n        if (p_Var10 == p_Var11) break;\n        uVar25 = *(uint *)((p_Var10->_M_storage)._M_storage + 4);\n        uVar3 = uVar25;\n        if (uVar21 <= uVar25) {\n          uVar3 = uVar21;\n        }\n        if ((uVar3 == 0) ||\n           (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                              (uVar15,*(undefined4 *)(p_Var10->_M_storage)._M_storage,uVar3),\n           iVar2 == 0)) {\n          iVar2 = uVar21 - uVar25;\n        }\n      } while (-1 < iVar2);\n    } while( true );\n  }\nLAB_00210d90:\n  auStack_90._4_4_ = (_Base_ptr)0x0;\n  puVar8[0x1f] = 1;\n  piVar14 = (int *)**(int **)(puVar8 + 4);\n  if (*(int **)(puVar8 + 4) != piVar14) {\n    _Stack_80._M_parent = (_Rb_tree_node_base *)0x0;\n    iStack_50 = *(int *)(puVar23 + 0x2216ac);\n    puStack_60 = auStack_90 + 4;\n    iStack_58 = *(int *)(puVar23 + 0x2216ac) + -0x567c;\n    iStack_68 = *(int *)(puVar23 + 0x2216ac) + -0x568c;\n    iStack_54 = *(int *)(puVar23 + 0x2216ac) + -0x56e4;\n    piVar4 = (int *)piVar14[2];\n    puStack_64 = auStack_90;\n    do {\n      uVar15 = auStack_90._4_4_;\n      p_Var5 = (_Base_ptr)(**(code **)(*piVar4 + 0x30))(piVar4,puStack_60,puStack_64);\n      _Stack_80._M_left = p_Var5;\n      if (p_Var5 != (_Base_ptr)0x0) {\n        _Stack_80._M_right =\n             (_Base_ptr)(**(code **)(puVar23 + 0x22448c))(p_Var5[5]._M_left,p_Var5[5]._M_right);\n        p_Var1 = (_Rb_tree_node_base *)((uint)auStack_90._0_4_ >> 0x18);\n        if ((_Base_ptr)auStack_90._4_4_ == (_Base_ptr)0x0) {\n          if (p_Var1 != (_Rb_tree_node_base *)0x0) {\n            pcVar24 = *(code **)(puVar23 + 0x225c58);\n            if ((int)p_Var5[1]._M_color < 1) {\n              if ((p_Var5[1]._M_color != _S_red) || (p_Var5[1]._M_parent == (_Base_ptr)0x0))\n              goto LAB_00210e64;\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n            }\n            uVar15 = (*pcVar24)(iStack_54);\n            (**(code **)(puVar23 + 0x2221c4))(uVar15,_Stack_80._M_left[2]._M_parent);\n          }\nLAB_00210e64:\n          piVar4 = (int *)**(int **)(puVar8 + 0x10);\n          piVar7 = (int *)(*(int **)(puVar8 + 0x10))[1];\n          if (piVar4 != piVar7) {\n            iVar19 = *(int *)(*piVar4 + 0x30);\n            iVar2 = *(int *)(iVar19 + 0x198);\n            while (iVar2 != 1) {\n              piVar4 = piVar4 + 1;\n              if (piVar7 == piVar4) goto LAB_00210ecc;\n              iVar19 = *(int *)(*piVar4 + 0x30);\n              iVar2 = *(int *)(iVar19 + 0x198);\n            }\n            (**(code **)(puVar23 + 0x2223b0))(iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n          }\n        }\n        else {\n          p_Var5 = (_Base_ptr)*(_Rb_tree_color *)auStack_90._4_4_;\n          if (auStack_90._4_4_ != uVar15) {\n            _Stack_80._M_parent = (_Rb_tree_node_base *)0x0;\n          }\n          if (p_Var1 != (_Rb_tree_node_base *)0x0) {\n            _Stack_80._M_parent = p_Var1;\n          }\n          if (p_Var5 != *(_Base_ptr *)(auStack_90._4_4_ + 4)) {\n            iStack_6c = 0;\n            p_Var22 = (_Base_ptr)auStack_90._4_4_;\n            do {\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n              if (p_Stack_a0 == (_Link_type)0x0) {\nLAB_00211058:\n                uVar15 = (*pcVar24)(iStack_68);\n                (**(code **)(puVar23 + 0x2221c4))(uVar15,p_Var5->_M_color);\n                p_Var22 = (_Base_ptr)auStack_90._4_4_;\n              }\n              else {\n                p_Var20 = p_Var5->_M_parent;\n                _Var16 = p_Var5->_M_color;\n                p_Var10 = p_Stack_a0;\n                p_Var17 = p_Var11;\n                do {\n                  p_Var13 = *(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4);\n                  p_Var6 = p_Var20;\n                  if (p_Var13 <= p_Var20) {\n                    p_Var6 = p_Var13;\n                  }\n                  if ((p_Var6 == (_Base_ptr)0x0) ||\n                     (iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0)) {\n                    if (-1 < (int)p_Var13 - (int)p_Var20) goto LAB_00210f58;\nLAB_00211044:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;\n                  }\n                  else {\n                    if (iVar19 < 0) goto LAB_00211044;\nLAB_00210f58:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;\n                    p_Var17 = p_Var10;\n                  }\n                  p_Var10 = p_Var18;\n                } while (p_Var18 != (_Link_type)0x0);\n                pcVar24 = *(code **)(puVar23 + 0x225c58);\n                if (p_Var17 == p_Var11) goto LAB_00211058;\n                p_Var13 = *(_Base_ptr *)((p_Var17->_M_storage)._M_storage + 4);\n                p_Var6 = p_Var13;\n                if (p_Var20 <= p_Var13) {\n                  p_Var6 = p_Var20;\n                }\n                if ((p_Var6 == (_Base_ptr)0x0) ||\n                   (p_Stack_70 = p_Var13,\n                   iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      ), p_Var13 = p_Stack_70, iVar19 == 0)) {\n                  iVar19 = (int)p_Var20 - (int)p_Var13;\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                if (iVar19 < 0) goto LAB_00211058;\n                iVar19 = *(int *)((p_Var17->_M_storage)._M_storage + 0x18);\n                if (_Stack_80._M_parent == (_Rb_tree_node_base *)0x0) {\n                  if (*(int *)(iVar19 + 0x198) == 1) goto LAB_00210fcc;\n                  (**(code **)(puVar23 + 0x2223bc))(iVar19,_Stack_80._M_left,_Stack_80._M_right);\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n                else if (*(int *)(iVar19 + 0x198) == 1) {\nLAB_00210fcc:\n                  (**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n                  if (iStack_6c != 0) {\n                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);\n                    (**(code **)(puVar23 + 0x2221c4))(uVar15);\n                  }\n                  iStack_6c = 1;\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n              }\n              p_Var5 = (_Base_ptr)&p_Var5[1]._M_left;\n            } while (p_Var22->_M_parent != p_Var5);\n            if (iStack_6c != 0) goto LAB_00210ecc;\n          }\n          uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_50 + -0x56bc);\n          (**(code **)(puVar23 + 0x2221c4))(uVar15);\n        }\n      }\nLAB_00210ecc:\n      piVar14 = (int *)*piVar14;\n      if ((int *)*(int *)(puVar8 + 4) == piVar14) break;\n      piVar4 = (int *)piVar14[2];\n    } while( true );\n  }\n  std::\n  _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n  ::_M_erase((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n              *)cStack_5c._M_node,p_Stack_a0);\n  return;\n}\n\n" comment comment comment (function_definition "void __thiscall\ngold::Script_sections::add_input_section(Script_sections *this,Input_section_spec *spec,bool keep)\n\n{\n  _Rb_tree_node_base *p_Var1;\n  int iVar2;\n  uint uVar3;\n  int *piVar4;\n  _Base_ptr p_Var5;\n  _Base_ptr p_Var6;\n  int *piVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  _Link_type p_Var10;\n  _Link_type p_Var11;\n  undefined4 *puVar12;\n  _Base_ptr p_Var13;\n  int *piVar14;\n  undefined4 uVar15;\n  _Rb_tree_color _Var16;\n  _Link_type p_Var17;\n  _Link_type p_Var18;\n  int iVar19;\n  _Base_ptr p_Var20;\n  uint uVar21;\n  _Base_ptr p_Var22;\n  undefined *puVar23;\n  code *pcVar24;\n  uint uVar25;\n  undefined1 auStack_a8 [8];\n  _Link_type p_Stack_a0;\n  _Link_type p_Stack_9c;\n  _Link_type p_Stack_98;\n  undefined4 uStack_94;\n  undefined1 auStack_90 [16];\n  _Rb_tree_node_base _Stack_80;\n  _Base_ptr p_Stack_70;\n  int iStack_6c;\n  int iStack_68;\n  undefined1 *puStack_64;\n  undefined1 *puStack_60;\n  const_iterator cStack_5c;\n  int iStack_58;\n  int iStack_54;\n  int iStack_50;\n  \n  if (this->output_section_ != (Output_section_definition *)0x0) {\n    Output_section_definition::add_input_section(this->output_section_,spec,keep);\n    return;\n  }\n  uVar9 = 0xd9b;\n  puVar8 = PTR_s__0043226c + -0x5d54;\n  puVar23 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)(puVar8,0xd9b,PTR_s__0043226c + -0x5460);\n  p_Var11 = (_Link_type)(auStack_a8 + 4);\n  auStack_a8._4_4_ = (_Base_ptr)0x0;\n  p_Stack_a0 = (_Link_type)0x0;\n  uStack_94 = 0;\n  piVar14 = (int *)**(undefined4 **)(puVar8 + 0x10);\n  cStack_5c._M_node = (_Base_ptr)auStack_a8;\n  p_Stack_9c = p_Var11;\n  p_Stack_98 = p_Var11;\n  if (piVar14 != (int *)(*(undefined4 **)(puVar8 + 0x10))[1]) {\n    iVar19 = *(int *)(puVar23 + 0x2216ac);\n    puVar12 = (undefined4 *)*piVar14;\n    _Stack_80._M_parent = &_Stack_80;\n    _Stack_80._M_left = (_Base_ptr)(auStack_90 + 8);\n    _Stack_80._M_right = (_Base_ptr)auStack_90;\n    p_Var10 = p_Var11;\n    do {\n      auStack_90._0_4_ = puVar12;\n      std::\n      _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n      ::\n      _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                ((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n                  *)_Stack_80._M_parent,cStack_5c,(piecewise_construct_t *)p_Var10,\n                 (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  *)(iVar19 + -0x519c),(tuple<> *)_Stack_80._M_right);\n      p_Var10 = (_Link_type)_Stack_80._M_color;\n      do {\n        uVar15 = (**(code **)(puVar23 + 0x2223b8))(uVar9,puVar12[6],puVar12[8]);\n        piVar14 = piVar14 + 1;\n        iVar2 = *(int *)(puVar8 + 0x10);\n        puVar12[0xc] = uVar15;\n        *(undefined4 *)((p_Var10->_M_storage)._M_storage + 0x18) = uVar15;\n        if (*(int **)(iVar2 + 4) == piVar14) goto LAB_00210d90;\n        puVar12 = (undefined4 *)*piVar14;\n        p_Var10 = p_Var11;\n        if (p_Stack_a0 == (_Link_type)0x0) break;\n        uVar21 = puVar12[1];\n        uVar15 = *puVar12;\n        p_Var17 = p_Stack_a0;\n        do {\n          uVar25 = *(uint *)((p_Var17->_M_storage)._M_storage + 4);\n          uVar3 = uVar21;\n          if (uVar25 <= uVar21) {\n            uVar3 = uVar25;\n          }\n          if ((uVar3 == 0) ||\n             (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                                (*(undefined4 *)(p_Var17->_M_storage)._M_storage,uVar15,uVar3),\n             iVar2 == 0)) {\n            if (-1 < (int)(uVar25 - uVar21)) goto LAB_00210ca4;\nLAB_00210d7c:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_right;\n          }\n          else {\n            if (iVar2 < 0) goto LAB_00210d7c;\nLAB_00210ca4:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_left;\n            p_Var10 = p_Var17;\n          }\n          p_Var17 = p_Var18;\n        } while (p_Var18 != (_Link_type)0x0);\n        if (p_Var10 == p_Var11) break;\n        uVar25 = *(uint *)((p_Var10->_M_storage)._M_storage + 4);\n        uVar3 = uVar25;\n        if (uVar21 <= uVar25) {\n          uVar3 = uVar21;\n        }\n        if ((uVar3 == 0) ||\n           (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                              (uVar15,*(undefined4 *)(p_Var10->_M_storage)._M_storage,uVar3),\n           iVar2 == 0)) {\n          iVar2 = uVar21 - uVar25;\n        }\n      } while (-1 < iVar2);\n    } while( true );\n  }\nLAB_00210d90:\n  auStack_90._4_4_ = (_Base_ptr)0x0;\n  puVar8[0x1f] = 1;\n  piVar14 = (int *)**(int **)(puVar8 + 4);\n  if (*(int **)(puVar8 + 4) != piVar14) {\n    _Stack_80._M_parent = (_Rb_tree_node_base *)0x0;\n    iStack_50 = *(int *)(puVar23 + 0x2216ac);\n    puStack_60 = auStack_90 + 4;\n    iStack_58 = *(int *)(puVar23 + 0x2216ac) + -0x567c;\n    iStack_68 = *(int *)(puVar23 + 0x2216ac) + -0x568c;\n    iStack_54 = *(int *)(puVar23 + 0x2216ac) + -0x56e4;\n    piVar4 = (int *)piVar14[2];\n    puStack_64 = auStack_90;\n    do {\n      uVar15 = auStack_90._4_4_;\n      p_Var5 = (_Base_ptr)(**(code **)(*piVar4 + 0x30))(piVar4,puStack_60,puStack_64);\n      _Stack_80._M_left = p_Var5;\n      if (p_Var5 != (_Base_ptr)0x0) {\n        _Stack_80._M_right =\n             (_Base_ptr)(**(code **)(puVar23 + 0x22448c))(p_Var5[5]._M_left,p_Var5[5]._M_right);\n        p_Var1 = (_Rb_tree_node_base *)((uint)auStack_90._0_4_ >> 0x18);\n        if ((_Base_ptr)auStack_90._4_4_ == (_Base_ptr)0x0) {\n          if (p_Var1 != (_Rb_tree_node_base *)0x0) {\n            pcVar24 = *(code **)(puVar23 + 0x225c58);\n            if ((int)p_Var5[1]._M_color < 1) {\n              if ((p_Var5[1]._M_color != _S_red) || (p_Var5[1]._M_parent == (_Base_ptr)0x0))\n              goto LAB_00210e64;\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n            }\n            uVar15 = (*pcVar24)(iStack_54);\n            (**(code **)(puVar23 + 0x2221c4))(uVar15,_Stack_80._M_left[2]._M_parent);\n          }\nLAB_00210e64:\n          piVar4 = (int *)**(int **)(puVar8 + 0x10);\n          piVar7 = (int *)(*(int **)(puVar8 + 0x10))[1];\n          if (piVar4 != piVar7) {\n            iVar19 = *(int *)(*piVar4 + 0x30);\n            iVar2 = *(int *)(iVar19 + 0x198);\n            while (iVar2 != 1) {\n              piVar4 = piVar4 + 1;\n              if (piVar7 == piVar4) goto LAB_00210ecc;\n              iVar19 = *(int *)(*piVar4 + 0x30);\n              iVar2 = *(int *)(iVar19 + 0x198);\n            }\n            (**(code **)(puVar23 + 0x2223b0))(iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n          }\n        }\n        else {\n          p_Var5 = (_Base_ptr)*(_Rb_tree_color *)auStack_90._4_4_;\n          if (auStack_90._4_4_ != uVar15) {\n            _Stack_80._M_parent = (_Rb_tree_node_base *)0x0;\n          }\n          if (p_Var1 != (_Rb_tree_node_base *)0x0) {\n            _Stack_80._M_parent = p_Var1;\n          }\n          if (p_Var5 != *(_Base_ptr *)(auStack_90._4_4_ + 4)) {\n            iStack_6c = 0;\n            p_Var22 = (_Base_ptr)auStack_90._4_4_;\n            do {\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n              if (p_Stack_a0 == (_Link_type)0x0) {\nLAB_00211058:\n                uVar15 = (*pcVar24)(iStack_68);\n                (**(code **)(puVar23 + 0x2221c4))(uVar15,p_Var5->_M_color);\n                p_Var22 = (_Base_ptr)auStack_90._4_4_;\n              }\n              else {\n                p_Var20 = p_Var5->_M_parent;\n                _Var16 = p_Var5->_M_color;\n                p_Var10 = p_Stack_a0;\n                p_Var17 = p_Var11;\n                do {\n                  p_Var13 = *(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4);\n                  p_Var6 = p_Var20;\n                  if (p_Var13 <= p_Var20) {\n                    p_Var6 = p_Var13;\n                  }\n                  if ((p_Var6 == (_Base_ptr)0x0) ||\n                     (iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0)) {\n                    if (-1 < (int)p_Var13 - (int)p_Var20) goto LAB_00210f58;\nLAB_00211044:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;\n                  }\n                  else {\n                    if (iVar19 < 0) goto LAB_00211044;\nLAB_00210f58:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;\n                    p_Var17 = p_Var10;\n                  }\n                  p_Var10 = p_Var18;\n                } while (p_Var18 != (_Link_type)0x0);\n                pcVar24 = *(code **)(puVar23 + 0x225c58);\n                if (p_Var17 == p_Var11) goto LAB_00211058;\n                p_Var13 = *(_Base_ptr *)((p_Var17->_M_storage)._M_storage + 4);\n                p_Var6 = p_Var13;\n                if (p_Var20 <= p_Var13) {\n                  p_Var6 = p_Var20;\n                }\n                if ((p_Var6 == (_Base_ptr)0x0) ||\n                   (p_Stack_70 = p_Var13,\n                   iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      ), p_Var13 = p_Stack_70, iVar19 == 0)) {\n                  iVar19 = (int)p_Var20 - (int)p_Var13;\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                if (iVar19 < 0) goto LAB_00211058;\n                iVar19 = *(int *)((p_Var17->_M_storage)._M_storage + 0x18);\n                if (_Stack_80._M_parent == (_Rb_tree_node_base *)0x0) {\n                  if (*(int *)(iVar19 + 0x198) == 1) goto LAB_00210fcc;\n                  (**(code **)(puVar23 + 0x2223bc))(iVar19,_Stack_80._M_left,_Stack_80._M_right);\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n                else if (*(int *)(iVar19 + 0x198) == 1) {\nLAB_00210fcc:\n                  (**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n                  if (iStack_6c != 0) {\n                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);\n                    (**(code **)(puVar23 + 0x2221c4))(uVar15);\n                  }\n                  iStack_6c = 1;\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n              }\n              p_Var5 = (_Base_ptr)&p_Var5[1]._M_left;\n            } while (p_Var22->_M_parent != p_Var5);\n            if (iStack_6c != 0) goto LAB_00210ecc;\n          }\n          uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_50 + -0x56bc);\n          (**(code **)(puVar23 + 0x2221c4))(uVar15);\n        }\n      }\nLAB_00210ecc:\n      piVar14 = (int *)*piVar14;\n      if ((int *)*(int *)(puVar8 + 4) == piVar14) break;\n      piVar4 = (int *)piVar14[2];\n    } while( true );\n  }\n  std::\n  _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n  ::_M_erase((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n              *)cStack_5c._M_node,p_Stack_a0);\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Script_sections::" identifier : : identifier : :) (function_declarator "add_input_section(Script_sections *this,Input_section_spec *spec,bool keep)" identifier (parameter_list "(Script_sections *this,Input_section_spec *spec,bool keep)" ( (parameter_declaration "Script_sections *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Input_section_spec *spec" type_identifier (pointer_declarator "*spec" * identifier)) , (parameter_declaration "bool keep" primitive_type identifier) ))) (compound_statement "{\n  _Rb_tree_node_base *p_Var1;\n  int iVar2;\n  uint uVar3;\n  int *piVar4;\n  _Base_ptr p_Var5;\n  _Base_ptr p_Var6;\n  int *piVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  _Link_type p_Var10;\n  _Link_type p_Var11;\n  undefined4 *puVar12;\n  _Base_ptr p_Var13;\n  int *piVar14;\n  undefined4 uVar15;\n  _Rb_tree_color _Var16;\n  _Link_type p_Var17;\n  _Link_type p_Var18;\n  int iVar19;\n  _Base_ptr p_Var20;\n  uint uVar21;\n  _Base_ptr p_Var22;\n  undefined *puVar23;\n  code *pcVar24;\n  uint uVar25;\n  undefined1 auStack_a8 [8];\n  _Link_type p_Stack_a0;\n  _Link_type p_Stack_9c;\n  _Link_type p_Stack_98;\n  undefined4 uStack_94;\n  undefined1 auStack_90 [16];\n  _Rb_tree_node_base _Stack_80;\n  _Base_ptr p_Stack_70;\n  int iStack_6c;\n  int iStack_68;\n  undefined1 *puStack_64;\n  undefined1 *puStack_60;\n  const_iterator cStack_5c;\n  int iStack_58;\n  int iStack_54;\n  int iStack_50;\n  \n  if (this->output_section_ != (Output_section_definition *)0x0) {\n    Output_section_definition::add_input_section(this->output_section_,spec,keep);\n    return;\n  }\n  uVar9 = 0xd9b;\n  puVar8 = PTR_s__0043226c + -0x5d54;\n  puVar23 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)(puVar8,0xd9b,PTR_s__0043226c + -0x5460);\n  p_Var11 = (_Link_type)(auStack_a8 + 4);\n  auStack_a8._4_4_ = (_Base_ptr)0x0;\n  p_Stack_a0 = (_Link_type)0x0;\n  uStack_94 = 0;\n  piVar14 = (int *)**(undefined4 **)(puVar8 + 0x10);\n  cStack_5c._M_node = (_Base_ptr)auStack_a8;\n  p_Stack_9c = p_Var11;\n  p_Stack_98 = p_Var11;\n  if (piVar14 != (int *)(*(undefined4 **)(puVar8 + 0x10))[1]) {\n    iVar19 = *(int *)(puVar23 + 0x2216ac);\n    puVar12 = (undefined4 *)*piVar14;\n    _Stack_80._M_parent = &_Stack_80;\n    _Stack_80._M_left = (_Base_ptr)(auStack_90 + 8);\n    _Stack_80._M_right = (_Base_ptr)auStack_90;\n    p_Var10 = p_Var11;\n    do {\n      auStack_90._0_4_ = puVar12;\n      std::\n      _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n      ::\n      _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                ((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n                  *)_Stack_80._M_parent,cStack_5c,(piecewise_construct_t *)p_Var10,\n                 (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  *)(iVar19 + -0x519c),(tuple<> *)_Stack_80._M_right);\n      p_Var10 = (_Link_type)_Stack_80._M_color;\n      do {\n        uVar15 = (**(code **)(puVar23 + 0x2223b8))(uVar9,puVar12[6],puVar12[8]);\n        piVar14 = piVar14 + 1;\n        iVar2 = *(int *)(puVar8 + 0x10);\n        puVar12[0xc] = uVar15;\n        *(undefined4 *)((p_Var10->_M_storage)._M_storage + 0x18) = uVar15;\n        if (*(int **)(iVar2 + 4) == piVar14) goto LAB_00210d90;\n        puVar12 = (undefined4 *)*piVar14;\n        p_Var10 = p_Var11;\n        if (p_Stack_a0 == (_Link_type)0x0) break;\n        uVar21 = puVar12[1];\n        uVar15 = *puVar12;\n        p_Var17 = p_Stack_a0;\n        do {\n          uVar25 = *(uint *)((p_Var17->_M_storage)._M_storage + 4);\n          uVar3 = uVar21;\n          if (uVar25 <= uVar21) {\n            uVar3 = uVar25;\n          }\n          if ((uVar3 == 0) ||\n             (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                                (*(undefined4 *)(p_Var17->_M_storage)._M_storage,uVar15,uVar3),\n             iVar2 == 0)) {\n            if (-1 < (int)(uVar25 - uVar21)) goto LAB_00210ca4;\nLAB_00210d7c:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_right;\n          }\n          else {\n            if (iVar2 < 0) goto LAB_00210d7c;\nLAB_00210ca4:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_left;\n            p_Var10 = p_Var17;\n          }\n          p_Var17 = p_Var18;\n        } while (p_Var18 != (_Link_type)0x0);\n        if (p_Var10 == p_Var11) break;\n        uVar25 = *(uint *)((p_Var10->_M_storage)._M_storage + 4);\n        uVar3 = uVar25;\n        if (uVar21 <= uVar25) {\n          uVar3 = uVar21;\n        }\n        if ((uVar3 == 0) ||\n           (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                              (uVar15,*(undefined4 *)(p_Var10->_M_storage)._M_storage,uVar3),\n           iVar2 == 0)) {\n          iVar2 = uVar21 - uVar25;\n        }\n      } while (-1 < iVar2);\n    } while( true );\n  }\nLAB_00210d90:\n  auStack_90._4_4_ = (_Base_ptr)0x0;\n  puVar8[0x1f] = 1;\n  piVar14 = (int *)**(int **)(puVar8 + 4);\n  if (*(int **)(puVar8 + 4) != piVar14) {\n    _Stack_80._M_parent = (_Rb_tree_node_base *)0x0;\n    iStack_50 = *(int *)(puVar23 + 0x2216ac);\n    puStack_60 = auStack_90 + 4;\n    iStack_58 = *(int *)(puVar23 + 0x2216ac) + -0x567c;\n    iStack_68 = *(int *)(puVar23 + 0x2216ac) + -0x568c;\n    iStack_54 = *(int *)(puVar23 + 0x2216ac) + -0x56e4;\n    piVar4 = (int *)piVar14[2];\n    puStack_64 = auStack_90;\n    do {\n      uVar15 = auStack_90._4_4_;\n      p_Var5 = (_Base_ptr)(**(code **)(*piVar4 + 0x30))(piVar4,puStack_60,puStack_64);\n      _Stack_80._M_left = p_Var5;\n      if (p_Var5 != (_Base_ptr)0x0) {\n        _Stack_80._M_right =\n             (_Base_ptr)(**(code **)(puVar23 + 0x22448c))(p_Var5[5]._M_left,p_Var5[5]._M_right);\n        p_Var1 = (_Rb_tree_node_base *)((uint)auStack_90._0_4_ >> 0x18);\n        if ((_Base_ptr)auStack_90._4_4_ == (_Base_ptr)0x0) {\n          if (p_Var1 != (_Rb_tree_node_base *)0x0) {\n            pcVar24 = *(code **)(puVar23 + 0x225c58);\n            if ((int)p_Var5[1]._M_color < 1) {\n              if ((p_Var5[1]._M_color != _S_red) || (p_Var5[1]._M_parent == (_Base_ptr)0x0))\n              goto LAB_00210e64;\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n            }\n            uVar15 = (*pcVar24)(iStack_54);\n            (**(code **)(puVar23 + 0x2221c4))(uVar15,_Stack_80._M_left[2]._M_parent);\n          }\nLAB_00210e64:\n          piVar4 = (int *)**(int **)(puVar8 + 0x10);\n          piVar7 = (int *)(*(int **)(puVar8 + 0x10))[1];\n          if (piVar4 != piVar7) {\n            iVar19 = *(int *)(*piVar4 + 0x30);\n            iVar2 = *(int *)(iVar19 + 0x198);\n            while (iVar2 != 1) {\n              piVar4 = piVar4 + 1;\n              if (piVar7 == piVar4) goto LAB_00210ecc;\n              iVar19 = *(int *)(*piVar4 + 0x30);\n              iVar2 = *(int *)(iVar19 + 0x198);\n            }\n            (**(code **)(puVar23 + 0x2223b0))(iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n          }\n        }\n        else {\n          p_Var5 = (_Base_ptr)*(_Rb_tree_color *)auStack_90._4_4_;\n          if (auStack_90._4_4_ != uVar15) {\n            _Stack_80._M_parent = (_Rb_tree_node_base *)0x0;\n          }\n          if (p_Var1 != (_Rb_tree_node_base *)0x0) {\n            _Stack_80._M_parent = p_Var1;\n          }\n          if (p_Var5 != *(_Base_ptr *)(auStack_90._4_4_ + 4)) {\n            iStack_6c = 0;\n            p_Var22 = (_Base_ptr)auStack_90._4_4_;\n            do {\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n              if (p_Stack_a0 == (_Link_type)0x0) {\nLAB_00211058:\n                uVar15 = (*pcVar24)(iStack_68);\n                (**(code **)(puVar23 + 0x2221c4))(uVar15,p_Var5->_M_color);\n                p_Var22 = (_Base_ptr)auStack_90._4_4_;\n              }\n              else {\n                p_Var20 = p_Var5->_M_parent;\n                _Var16 = p_Var5->_M_color;\n                p_Var10 = p_Stack_a0;\n                p_Var17 = p_Var11;\n                do {\n                  p_Var13 = *(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4);\n                  p_Var6 = p_Var20;\n                  if (p_Var13 <= p_Var20) {\n                    p_Var6 = p_Var13;\n                  }\n                  if ((p_Var6 == (_Base_ptr)0x0) ||\n                     (iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0)) {\n                    if (-1 < (int)p_Var13 - (int)p_Var20) goto LAB_00210f58;\nLAB_00211044:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;\n                  }\n                  else {\n                    if (iVar19 < 0) goto LAB_00211044;\nLAB_00210f58:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;\n                    p_Var17 = p_Var10;\n                  }\n                  p_Var10 = p_Var18;\n                } while (p_Var18 != (_Link_type)0x0);\n                pcVar24 = *(code **)(puVar23 + 0x225c58);\n                if (p_Var17 == p_Var11) goto LAB_00211058;\n                p_Var13 = *(_Base_ptr *)((p_Var17->_M_storage)._M_storage + 4);\n                p_Var6 = p_Var13;\n                if (p_Var20 <= p_Var13) {\n                  p_Var6 = p_Var20;\n                }\n                if ((p_Var6 == (_Base_ptr)0x0) ||\n                   (p_Stack_70 = p_Var13,\n                   iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      ), p_Var13 = p_Stack_70, iVar19 == 0)) {\n                  iVar19 = (int)p_Var20 - (int)p_Var13;\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                if (iVar19 < 0) goto LAB_00211058;\n                iVar19 = *(int *)((p_Var17->_M_storage)._M_storage + 0x18);\n                if (_Stack_80._M_parent == (_Rb_tree_node_base *)0x0) {\n                  if (*(int *)(iVar19 + 0x198) == 1) goto LAB_00210fcc;\n                  (**(code **)(puVar23 + 0x2223bc))(iVar19,_Stack_80._M_left,_Stack_80._M_right);\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n                else if (*(int *)(iVar19 + 0x198) == 1) {\nLAB_00210fcc:\n                  (**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n                  if (iStack_6c != 0) {\n                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);\n                    (**(code **)(puVar23 + 0x2221c4))(uVar15);\n                  }\n                  iStack_6c = 1;\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n              }\n              p_Var5 = (_Base_ptr)&p_Var5[1]._M_left;\n            } while (p_Var22->_M_parent != p_Var5);\n            if (iStack_6c != 0) goto LAB_00210ecc;\n          }\n          uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_50 + -0x56bc);\n          (**(code **)(puVar23 + 0x2221c4))(uVar15);\n        }\n      }\nLAB_00210ecc:\n      piVar14 = (int *)*piVar14;\n      if ((int *)*(int *)(puVar8 + 4) == piVar14) break;\n      piVar4 = (int *)piVar14[2];\n    } while( true );\n  }\n  std::\n  _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n  ::_M_erase((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n              *)cStack_5c._M_node,p_Stack_a0);\n  return;\n}" { (declaration "_Rb_tree_node_base *p_Var1;" type_identifier (pointer_declarator "*p_Var1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "_Base_ptr p_Var5;" type_identifier identifier ;) (declaration "_Base_ptr p_Var6;" type_identifier identifier ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "_Link_type p_Var10;" type_identifier identifier ;) (declaration "_Link_type p_Var11;" type_identifier identifier ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "_Base_ptr p_Var13;" type_identifier identifier ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "_Rb_tree_color _Var16;" type_identifier identifier ;) (declaration "_Link_type p_Var17;" type_identifier identifier ;) (declaration "_Link_type p_Var18;" type_identifier identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "_Base_ptr p_Var20;" type_identifier identifier ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "_Base_ptr p_Var22;" type_identifier identifier ;) (declaration "undefined *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "code *pcVar24;" type_identifier (pointer_declarator "*pcVar24" * identifier) ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "undefined1 auStack_a8 [8];" type_identifier (array_declarator "auStack_a8 [8]" identifier [ number_literal ]) ;) (declaration "_Link_type p_Stack_a0;" type_identifier identifier ;) (declaration "_Link_type p_Stack_9c;" type_identifier identifier ;) (declaration "_Link_type p_Stack_98;" type_identifier identifier ;) (declaration "undefined4 uStack_94;" type_identifier identifier ;) (declaration "undefined1 auStack_90 [16];" type_identifier (array_declarator "auStack_90 [16]" identifier [ number_literal ]) ;) (declaration "_Rb_tree_node_base _Stack_80;" type_identifier identifier ;) (declaration "_Base_ptr p_Stack_70;" type_identifier identifier ;) (declaration "int iStack_6c;" primitive_type identifier ;) (declaration "int iStack_68;" primitive_type identifier ;) (declaration "undefined1 *puStack_64;" type_identifier (pointer_declarator "*puStack_64" * identifier) ;) (declaration "undefined1 *puStack_60;" type_identifier (pointer_declarator "*puStack_60" * identifier) ;) (declaration "const_iterator cStack_5c;" type_identifier identifier ;) (declaration "int iStack_58;" primitive_type identifier ;) (declaration "int iStack_54;" primitive_type identifier ;) (declaration "int iStack_50;" primitive_type identifier ;) (if_statement "if (this->output_section_ != (Output_section_definition *)0x0) {\n    Output_section_definition::add_input_section(this->output_section_,spec,keep);\n    return;\n  }" if (parenthesized_expression "(this->output_section_ != (Output_section_definition *)0x0)" ( (binary_expression "this->output_section_ != (Output_section_definition *)0x0" (field_expression "this->output_section_" identifier -> field_identifier) != (cast_expression "(Output_section_definition *)0x0" ( (type_descriptor "Output_section_definition *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    Output_section_definition::add_input_section(this->output_section_,spec,keep);\n    return;\n  }" { (labeled_statement "Output_section_definition::add_input_section(this->output_section_,spec,keep);" statement_identifier : (ERROR ":" :) (expression_statement "add_input_section(this->output_section_,spec,keep);" (call_expression "add_input_section(this->output_section_,spec,keep)" identifier (argument_list "(this->output_section_,spec,keep)" ( (field_expression "this->output_section_" identifier -> field_identifier) , identifier , identifier ))) ;)) (return_statement "return;" return ;) })) (expression_statement "uVar9 = 0xd9b;" (assignment_expression "uVar9 = 0xd9b" identifier = number_literal) ;) (expression_statement "puVar8 = PTR_s__0043226c + -0x5d54;" (assignment_expression "puVar8 = PTR_s__0043226c + -0x5d54" identifier = (binary_expression "PTR_s__0043226c + -0x5d54" identifier + number_literal)) ;) (expression_statement "puVar23 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar23 = PTR_do_gold_unreachable_004323c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar8,0xd9b,PTR_s__0043226c + -0x5460);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar8,0xd9b,PTR_s__0043226c + -0x5460)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar8,0xd9b,PTR_s__0043226c + -0x5460)" ( identifier , number_literal , (binary_expression "PTR_s__0043226c + -0x5460" identifier + number_literal) ))) ;) (expression_statement "p_Var11 = (_Link_type)(auStack_a8 + 4);" (assignment_expression "p_Var11 = (_Link_type)(auStack_a8 + 4)" identifier = (call_expression "(_Link_type)(auStack_a8 + 4)" (parenthesized_expression "(_Link_type)" ( identifier )) (argument_list "(auStack_a8 + 4)" ( (binary_expression "auStack_a8 + 4" identifier + number_literal) )))) ;) (expression_statement "auStack_a8._4_4_ = (_Base_ptr)0x0;" (assignment_expression "auStack_a8._4_4_ = (_Base_ptr)0x0" (field_expression "auStack_a8._4_4_" identifier . field_identifier) = (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) ;) (expression_statement "p_Stack_a0 = (_Link_type)0x0;" (assignment_expression "p_Stack_a0 = (_Link_type)0x0" identifier = (cast_expression "(_Link_type)0x0" ( (type_descriptor "_Link_type" type_identifier) ) number_literal)) ;) (expression_statement "uStack_94 = 0;" (assignment_expression "uStack_94 = 0" identifier = number_literal) ;) (expression_statement "piVar14 = (int *)**(undefined4 **)(puVar8 + 0x10);" (assignment_expression "piVar14 = (int *)**(undefined4 **)(puVar8 + 0x10)" identifier = (cast_expression "(int *)**(undefined4 **)(puVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar8 + 0x10)" * (pointer_expression "*(undefined4 **)(puVar8 + 0x10)" * (cast_expression "(undefined4 **)(puVar8 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x10)" ( (binary_expression "puVar8 + 0x10" identifier + number_literal) ))))))) ;) (expression_statement "cStack_5c._M_node = (_Base_ptr)auStack_a8;" (assignment_expression "cStack_5c._M_node = (_Base_ptr)auStack_a8" (field_expression "cStack_5c._M_node" identifier . field_identifier) = (cast_expression "(_Base_ptr)auStack_a8" ( (type_descriptor "_Base_ptr" type_identifier) ) identifier)) ;) (expression_statement "p_Stack_9c = p_Var11;" (assignment_expression "p_Stack_9c = p_Var11" identifier = identifier) ;) (expression_statement "p_Stack_98 = p_Var11;" (assignment_expression "p_Stack_98 = p_Var11" identifier = identifier) ;) (if_statement "if (piVar14 != (int *)(*(undefined4 **)(puVar8 + 0x10))[1]) {\n    iVar19 = *(int *)(puVar23 + 0x2216ac);\n    puVar12 = (undefined4 *)*piVar14;\n    _Stack_80._M_parent = &_Stack_80;\n    _Stack_80._M_left = (_Base_ptr)(auStack_90 + 8);\n    _Stack_80._M_right = (_Base_ptr)auStack_90;\n    p_Var10 = p_Var11;\n    do {\n      auStack_90._0_4_ = puVar12;\n      std::\n      _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n      ::\n      _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                ((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n                  *)_Stack_80._M_parent,cStack_5c,(piecewise_construct_t *)p_Var10,\n                 (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  *)(iVar19 + -0x519c),(tuple<> *)_Stack_80._M_right);\n      p_Var10 = (_Link_type)_Stack_80._M_color;\n      do {\n        uVar15 = (**(code **)(puVar23 + 0x2223b8))(uVar9,puVar12[6],puVar12[8]);\n        piVar14 = piVar14 + 1;\n        iVar2 = *(int *)(puVar8 + 0x10);\n        puVar12[0xc] = uVar15;\n        *(undefined4 *)((p_Var10->_M_storage)._M_storage + 0x18) = uVar15;\n        if (*(int **)(iVar2 + 4) == piVar14) goto LAB_00210d90;\n        puVar12 = (undefined4 *)*piVar14;\n        p_Var10 = p_Var11;\n        if (p_Stack_a0 == (_Link_type)0x0) break;\n        uVar21 = puVar12[1];\n        uVar15 = *puVar12;\n        p_Var17 = p_Stack_a0;\n        do {\n          uVar25 = *(uint *)((p_Var17->_M_storage)._M_storage + 4);\n          uVar3 = uVar21;\n          if (uVar25 <= uVar21) {\n            uVar3 = uVar25;\n          }\n          if ((uVar3 == 0) ||\n             (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                                (*(undefined4 *)(p_Var17->_M_storage)._M_storage,uVar15,uVar3),\n             iVar2 == 0)) {\n            if (-1 < (int)(uVar25 - uVar21)) goto LAB_00210ca4;\nLAB_00210d7c:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_right;\n          }\n          else {\n            if (iVar2 < 0) goto LAB_00210d7c;\nLAB_00210ca4:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_left;\n            p_Var10 = p_Var17;\n          }\n          p_Var17 = p_Var18;\n        } while (p_Var18 != (_Link_type)0x0);\n        if (p_Var10 == p_Var11) break;\n        uVar25 = *(uint *)((p_Var10->_M_storage)._M_storage + 4);\n        uVar3 = uVar25;\n        if (uVar21 <= uVar25) {\n          uVar3 = uVar21;\n        }\n        if ((uVar3 == 0) ||\n           (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                              (uVar15,*(undefined4 *)(p_Var10->_M_storage)._M_storage,uVar3),\n           iVar2 == 0)) {\n          iVar2 = uVar21 - uVar25;\n        }\n      } while (-1 < iVar2);\n    } while( true );\n  }" if (parenthesized_expression "(piVar14 != (int *)(*(undefined4 **)(puVar8 + 0x10))[1])" ( (binary_expression "piVar14 != (int *)(*(undefined4 **)(puVar8 + 0x10))[1]" identifier != (cast_expression "(int *)(*(undefined4 **)(puVar8 + 0x10))[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*(undefined4 **)(puVar8 + 0x10))[1]" (parenthesized_expression "(*(undefined4 **)(puVar8 + 0x10))" ( (pointer_expression "*(undefined4 **)(puVar8 + 0x10)" * (cast_expression "(undefined4 **)(puVar8 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x10)" ( (binary_expression "puVar8 + 0x10" identifier + number_literal) )))) )) [ number_literal ]))) )) (compound_statement "{\n    iVar19 = *(int *)(puVar23 + 0x2216ac);\n    puVar12 = (undefined4 *)*piVar14;\n    _Stack_80._M_parent = &_Stack_80;\n    _Stack_80._M_left = (_Base_ptr)(auStack_90 + 8);\n    _Stack_80._M_right = (_Base_ptr)auStack_90;\n    p_Var10 = p_Var11;\n    do {\n      auStack_90._0_4_ = puVar12;\n      std::\n      _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n      ::\n      _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                ((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n                  *)_Stack_80._M_parent,cStack_5c,(piecewise_construct_t *)p_Var10,\n                 (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  *)(iVar19 + -0x519c),(tuple<> *)_Stack_80._M_right);\n      p_Var10 = (_Link_type)_Stack_80._M_color;\n      do {\n        uVar15 = (**(code **)(puVar23 + 0x2223b8))(uVar9,puVar12[6],puVar12[8]);\n        piVar14 = piVar14 + 1;\n        iVar2 = *(int *)(puVar8 + 0x10);\n        puVar12[0xc] = uVar15;\n        *(undefined4 *)((p_Var10->_M_storage)._M_storage + 0x18) = uVar15;\n        if (*(int **)(iVar2 + 4) == piVar14) goto LAB_00210d90;\n        puVar12 = (undefined4 *)*piVar14;\n        p_Var10 = p_Var11;\n        if (p_Stack_a0 == (_Link_type)0x0) break;\n        uVar21 = puVar12[1];\n        uVar15 = *puVar12;\n        p_Var17 = p_Stack_a0;\n        do {\n          uVar25 = *(uint *)((p_Var17->_M_storage)._M_storage + 4);\n          uVar3 = uVar21;\n          if (uVar25 <= uVar21) {\n            uVar3 = uVar25;\n          }\n          if ((uVar3 == 0) ||\n             (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                                (*(undefined4 *)(p_Var17->_M_storage)._M_storage,uVar15,uVar3),\n             iVar2 == 0)) {\n            if (-1 < (int)(uVar25 - uVar21)) goto LAB_00210ca4;\nLAB_00210d7c:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_right;\n          }\n          else {\n            if (iVar2 < 0) goto LAB_00210d7c;\nLAB_00210ca4:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_left;\n            p_Var10 = p_Var17;\n          }\n          p_Var17 = p_Var18;\n        } while (p_Var18 != (_Link_type)0x0);\n        if (p_Var10 == p_Var11) break;\n        uVar25 = *(uint *)((p_Var10->_M_storage)._M_storage + 4);\n        uVar3 = uVar25;\n        if (uVar21 <= uVar25) {\n          uVar3 = uVar21;\n        }\n        if ((uVar3 == 0) ||\n           (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                              (uVar15,*(undefined4 *)(p_Var10->_M_storage)._M_storage,uVar3),\n           iVar2 == 0)) {\n          iVar2 = uVar21 - uVar25;\n        }\n      } while (-1 < iVar2);\n    } while( true );\n  }" { (expression_statement "iVar19 = *(int *)(puVar23 + 0x2216ac);" (assignment_expression "iVar19 = *(int *)(puVar23 + 0x2216ac)" identifier = (pointer_expression "*(int *)(puVar23 + 0x2216ac)" * (cast_expression "(int *)(puVar23 + 0x2216ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x2216ac)" ( (binary_expression "puVar23 + 0x2216ac" identifier + number_literal) ))))) ;) (expression_statement "puVar12 = (undefined4 *)*piVar14;" (assignment_expression "puVar12 = (undefined4 *)*piVar14" identifier = (cast_expression "(undefined4 *)*piVar14" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar14" * identifier))) ;) (expression_statement "_Stack_80._M_parent = &_Stack_80;" (assignment_expression "_Stack_80._M_parent = &_Stack_80" (field_expression "_Stack_80._M_parent" identifier . field_identifier) = (pointer_expression "&_Stack_80" & identifier)) ;) (expression_statement "_Stack_80._M_left = (_Base_ptr)(auStack_90 + 8);" (assignment_expression "_Stack_80._M_left = (_Base_ptr)(auStack_90 + 8)" (field_expression "_Stack_80._M_left" identifier . field_identifier) = (call_expression "(_Base_ptr)(auStack_90 + 8)" (parenthesized_expression "(_Base_ptr)" ( identifier )) (argument_list "(auStack_90 + 8)" ( (binary_expression "auStack_90 + 8" identifier + number_literal) )))) ;) (expression_statement "_Stack_80._M_right = (_Base_ptr)auStack_90;" (assignment_expression "_Stack_80._M_right = (_Base_ptr)auStack_90" (field_expression "_Stack_80._M_right" identifier . field_identifier) = (cast_expression "(_Base_ptr)auStack_90" ( (type_descriptor "_Base_ptr" type_identifier) ) identifier)) ;) (expression_statement "p_Var10 = p_Var11;" (assignment_expression "p_Var10 = p_Var11" identifier = identifier) ;) (do_statement "do {\n      auStack_90._0_4_ = puVar12;\n      std::\n      _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n      ::\n      _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                ((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n                  *)_Stack_80._M_parent,cStack_5c,(piecewise_construct_t *)p_Var10,\n                 (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  *)(iVar19 + -0x519c),(tuple<> *)_Stack_80._M_right);\n      p_Var10 = (_Link_type)_Stack_80._M_color;\n      do {\n        uVar15 = (**(code **)(puVar23 + 0x2223b8))(uVar9,puVar12[6],puVar12[8]);\n        piVar14 = piVar14 + 1;\n        iVar2 = *(int *)(puVar8 + 0x10);\n        puVar12[0xc] = uVar15;\n        *(undefined4 *)((p_Var10->_M_storage)._M_storage + 0x18) = uVar15;\n        if (*(int **)(iVar2 + 4) == piVar14) goto LAB_00210d90;\n        puVar12 = (undefined4 *)*piVar14;\n        p_Var10 = p_Var11;\n        if (p_Stack_a0 == (_Link_type)0x0) break;\n        uVar21 = puVar12[1];\n        uVar15 = *puVar12;\n        p_Var17 = p_Stack_a0;\n        do {\n          uVar25 = *(uint *)((p_Var17->_M_storage)._M_storage + 4);\n          uVar3 = uVar21;\n          if (uVar25 <= uVar21) {\n            uVar3 = uVar25;\n          }\n          if ((uVar3 == 0) ||\n             (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                                (*(undefined4 *)(p_Var17->_M_storage)._M_storage,uVar15,uVar3),\n             iVar2 == 0)) {\n            if (-1 < (int)(uVar25 - uVar21)) goto LAB_00210ca4;\nLAB_00210d7c:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_right;\n          }\n          else {\n            if (iVar2 < 0) goto LAB_00210d7c;\nLAB_00210ca4:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_left;\n            p_Var10 = p_Var17;\n          }\n          p_Var17 = p_Var18;\n        } while (p_Var18 != (_Link_type)0x0);\n        if (p_Var10 == p_Var11) break;\n        uVar25 = *(uint *)((p_Var10->_M_storage)._M_storage + 4);\n        uVar3 = uVar25;\n        if (uVar21 <= uVar25) {\n          uVar3 = uVar21;\n        }\n        if ((uVar3 == 0) ||\n           (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                              (uVar15,*(undefined4 *)(p_Var10->_M_storage)._M_storage,uVar3),\n           iVar2 == 0)) {\n          iVar2 = uVar21 - uVar25;\n        }\n      } while (-1 < iVar2);\n    } while( true );" do (compound_statement "{\n      auStack_90._0_4_ = puVar12;\n      std::\n      _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n      ::\n      _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                ((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n                  *)_Stack_80._M_parent,cStack_5c,(piecewise_construct_t *)p_Var10,\n                 (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  *)(iVar19 + -0x519c),(tuple<> *)_Stack_80._M_right);\n      p_Var10 = (_Link_type)_Stack_80._M_color;\n      do {\n        uVar15 = (**(code **)(puVar23 + 0x2223b8))(uVar9,puVar12[6],puVar12[8]);\n        piVar14 = piVar14 + 1;\n        iVar2 = *(int *)(puVar8 + 0x10);\n        puVar12[0xc] = uVar15;\n        *(undefined4 *)((p_Var10->_M_storage)._M_storage + 0x18) = uVar15;\n        if (*(int **)(iVar2 + 4) == piVar14) goto LAB_00210d90;\n        puVar12 = (undefined4 *)*piVar14;\n        p_Var10 = p_Var11;\n        if (p_Stack_a0 == (_Link_type)0x0) break;\n        uVar21 = puVar12[1];\n        uVar15 = *puVar12;\n        p_Var17 = p_Stack_a0;\n        do {\n          uVar25 = *(uint *)((p_Var17->_M_storage)._M_storage + 4);\n          uVar3 = uVar21;\n          if (uVar25 <= uVar21) {\n            uVar3 = uVar25;\n          }\n          if ((uVar3 == 0) ||\n             (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                                (*(undefined4 *)(p_Var17->_M_storage)._M_storage,uVar15,uVar3),\n             iVar2 == 0)) {\n            if (-1 < (int)(uVar25 - uVar21)) goto LAB_00210ca4;\nLAB_00210d7c:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_right;\n          }\n          else {\n            if (iVar2 < 0) goto LAB_00210d7c;\nLAB_00210ca4:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_left;\n            p_Var10 = p_Var17;\n          }\n          p_Var17 = p_Var18;\n        } while (p_Var18 != (_Link_type)0x0);\n        if (p_Var10 == p_Var11) break;\n        uVar25 = *(uint *)((p_Var10->_M_storage)._M_storage + 4);\n        uVar3 = uVar25;\n        if (uVar21 <= uVar25) {\n          uVar3 = uVar21;\n        }\n        if ((uVar3 == 0) ||\n           (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                              (uVar15,*(undefined4 *)(p_Var10->_M_storage)._M_storage,uVar3),\n           iVar2 == 0)) {\n          iVar2 = uVar21 - uVar25;\n        }\n      } while (-1 < iVar2);\n    }" { (expression_statement "auStack_90._0_4_ = puVar12;" (assignment_expression "auStack_90._0_4_ = puVar12" (field_expression "auStack_90._0_4_" identifier . field_identifier) = identifier) ;) (ERROR "std::\n      _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n      ::\n      _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::" (comma_expression "std::\n      _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::\n      _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (binary_expression "_Rb_tree<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Output_segment*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "Output_segment*>_>,_std" (binary_expression "Output_segment*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : (binary_expression "less<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "Output_segment*>_>_>\n      ::\n      _M_emplace_hint_unique<const_std" (binary_expression "Output_segment*>_>_>\n      ::\n      _M_emplace_hint_unique" (binary_expression "Output_segment*>_>_" (binary_expression "Output_segment*>_" identifier * (ERROR ">" >) identifier) > identifier) > (ERROR "::" : :) identifier) < identifier) : : (binary_expression "piecewise_construct_t&,_std" identifier & (ERROR "," ,) identifier) : : (binary_expression "tuple<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>&>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "&>,_std" & (ERROR ">," > ,) identifier)) : :) (expression_statement "tuple<>_>\n                ((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n                  *)_Stack_80._M_parent,cStack_5c,(piecewise_construct_t *)p_Var10,\n                 (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  *)(iVar19 + -0x519c),(tuple<> *)_Stack_80._M_right);\n      p_Var10 = (_Link_type)_Stack_80._M_color;\n      do {\n        uVar15 = (**(code **)(puVar23 + 0x2223b8))(uVar9,puVar12[6],puVar12[8]);\n        piVar14 = piVar14 + 1;\n        iVar2 = *(int *)(puVar8 + 0x10);\n        puVar12[0xc] = uVar15;\n        *(undefined4 *)((p_Var10->_M_storage)._M_storage + 0x18) = uVar15;\n        if (*(int **)(iVar2 + 4) == piVar14) goto LAB_00210d90;\n        puVar12 = (undefined4 *)*piVar14;\n        p_Var10 = p_Var11;\n        if (p_Stack_a0 == (_Link_type)0x0) break;\n        uVar21 = puVar12[1];\n        uVar15 = *puVar12;\n        p_Var17 = p_Stack_a0;\n        do {\n          uVar25 = *(uint *)((p_Var17->_M_storage)._M_storage + 4);\n          uVar3 = uVar21;\n          if (uVar25 <= uVar21) {\n            uVar3 = uVar25;\n          }\n          if ((uVar3 == 0) ||\n             (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                                (*(undefined4 *)(p_Var17->_M_storage)._M_storage,uVar15,uVar3),\n             iVar2 == 0)) {\n            if (-1 < (int)(uVar25 - uVar21)) goto LAB_00210ca4;\nLAB_00210d7c:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_right;\n          }\n          else {\n            if (iVar2 < 0) goto LAB_00210d7c;\nLAB_00210ca4:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_left;\n            p_Var10 = p_Var17;\n          }\n          p_Var17 = p_Var18;\n        } while (p_Var18 != (_Link_type)0x0);\n        if (p_Var10 == p_Var11) break;\n        uVar25 = *(uint *)((p_Var10->_M_storage)._M_storage + 4);\n        uVar3 = uVar25;\n        if (uVar21 <= uVar25) {\n          uVar3 = uVar21;\n        }\n        if ((uVar3 == 0) ||\n           (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                              (uVar15,*(undefined4 *)(p_Var10->_M_storage)._M_storage,uVar3),\n           iVar2 == 0)) {\n          iVar2 = uVar21 - uVar25;\n        }\n      } while (-1 < iVar2);" (binary_expression "tuple<>_>\n                ((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n                  *)_Stack_80._M_parent,cStack_5c,(piecewise_construct_t *)p_Var10,\n                 (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  *)(iVar19 + -0x519c),(tuple<> *)_Stack_80._M_right);\n      p_Var10 = (_Link_type)_Stack_80._M_color;\n      do {\n        uVar15 = (**(code **)(puVar23 + 0x2223b8))(uVar9,puVar12[6],puVar12[8]);\n        piVar14 = piVar14 + 1;\n        iVar2 = *(int *)(puVar8 + 0x10);\n        puVar12[0xc] = uVar15;\n        *(undefined4 *)((p_Var10->_M_storage)._M_storage + 0x18) = uVar15;\n        if (*(int **)(iVar2 + 4) == piVar14) goto LAB_00210d90;\n        puVar12 = (undefined4 *)*piVar14;\n        p_Var10 = p_Var11;\n        if (p_Stack_a0 == (_Link_type)0x0) break;\n        uVar21 = puVar12[1];\n        uVar15 = *puVar12;\n        p_Var17 = p_Stack_a0;\n        do {\n          uVar25 = *(uint *)((p_Var17->_M_storage)._M_storage + 4);\n          uVar3 = uVar21;\n          if (uVar25 <= uVar21) {\n            uVar3 = uVar25;\n          }\n          if ((uVar3 == 0) ||\n             (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                                (*(undefined4 *)(p_Var17->_M_storage)._M_storage,uVar15,uVar3),\n             iVar2 == 0)) {\n            if (-1 < (int)(uVar25 - uVar21)) goto LAB_00210ca4;\nLAB_00210d7c:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_right;\n          }\n          else {\n            if (iVar2 < 0) goto LAB_00210d7c;\nLAB_00210ca4:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_left;\n            p_Var10 = p_Var17;\n          }\n          p_Var17 = p_Var18;\n        } while (p_Var18 != (_Link_type)0x0);\n        if (p_Var10 == p_Var11) break;\n        uVar25 = *(uint *)((p_Var10->_M_storage)._M_storage + 4);\n        uVar3 = uVar25;\n        if (uVar21 <= uVar25) {\n          uVar3 = uVar21;\n        }\n        if ((uVar3 == 0) ||\n           (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                              (uVar15,*(undefined4 *)(p_Var10->_M_storage)._M_storage,uVar3),\n           iVar2 == 0)) {\n          iVar2 = uVar21 - uVar25;\n        }\n      } while (-1 < iVar2)" (binary_expression "tuple<>_" identifier < (ERROR ">" >) identifier) > (parenthesized_expression "((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n                  *)_Stack_80._M_parent,cStack_5c,(piecewise_construct_t *)p_Var10,\n                 (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  *)(iVar19 + -0x519c),(tuple<> *)_Stack_80._M_right);\n      p_Var10 = (_Link_type)_Stack_80._M_color;\n      do {\n        uVar15 = (**(code **)(puVar23 + 0x2223b8))(uVar9,puVar12[6],puVar12[8]);\n        piVar14 = piVar14 + 1;\n        iVar2 = *(int *)(puVar8 + 0x10);\n        puVar12[0xc] = uVar15;\n        *(undefined4 *)((p_Var10->_M_storage)._M_storage + 0x18) = uVar15;\n        if (*(int **)(iVar2 + 4) == piVar14) goto LAB_00210d90;\n        puVar12 = (undefined4 *)*piVar14;\n        p_Var10 = p_Var11;\n        if (p_Stack_a0 == (_Link_type)0x0) break;\n        uVar21 = puVar12[1];\n        uVar15 = *puVar12;\n        p_Var17 = p_Stack_a0;\n        do {\n          uVar25 = *(uint *)((p_Var17->_M_storage)._M_storage + 4);\n          uVar3 = uVar21;\n          if (uVar25 <= uVar21) {\n            uVar3 = uVar25;\n          }\n          if ((uVar3 == 0) ||\n             (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                                (*(undefined4 *)(p_Var17->_M_storage)._M_storage,uVar15,uVar3),\n             iVar2 == 0)) {\n            if (-1 < (int)(uVar25 - uVar21)) goto LAB_00210ca4;\nLAB_00210d7c:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_right;\n          }\n          else {\n            if (iVar2 < 0) goto LAB_00210d7c;\nLAB_00210ca4:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_left;\n            p_Var10 = p_Var17;\n          }\n          p_Var17 = p_Var18;\n        } while (p_Var18 != (_Link_type)0x0);\n        if (p_Var10 == p_Var11) break;\n        uVar25 = *(uint *)((p_Var10->_M_storage)._M_storage + 4);\n        uVar3 = uVar25;\n        if (uVar21 <= uVar25) {\n          uVar3 = uVar21;\n        }\n        if ((uVar3 == 0) ||\n           (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                              (uVar15,*(undefined4 *)(p_Var10->_M_storage)._M_storage,uVar3),\n           iVar2 == 0)) {\n          iVar2 = uVar21 - uVar25;\n        }\n      } while (-1 < iVar2)" ( (parenthesized_expression "(_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n                  *)_Stack_80._M_parent,cStack_5c,(piecewise_construct_t *)p_Var10,\n                 (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  *)(iVar19 + -0x519c),(tuple<> *)_Stack_80._M_right);\n      p_Var10 = (_Link_type)_Stack_80._M_color;\n      do {\n        uVar15 = (**(code **)(puVar23 + 0x2223b8))(uVar9,puVar12[6],puVar12[8]);\n        piVar14 = piVar14 + 1;\n        iVar2 = *(int *)(puVar8 + 0x10);\n        puVar12[0xc] = uVar15;\n        *(undefined4 *)((p_Var10->_M_storage)._M_storage + 0x18) = uVar15;\n        if (*(int **)(iVar2 + 4) == piVar14) goto LAB_00210d90;\n        puVar12 = (undefined4 *)*piVar14;\n        p_Var10 = p_Var11;\n        if (p_Stack_a0 == (_Link_type)0x0) break;\n        uVar21 = puVar12[1];\n        uVar15 = *puVar12;\n        p_Var17 = p_Stack_a0;\n        do {\n          uVar25 = *(uint *)((p_Var17->_M_storage)._M_storage + 4);\n          uVar3 = uVar21;\n          if (uVar25 <= uVar21) {\n            uVar3 = uVar25;\n          }\n          if ((uVar3 == 0) ||\n             (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                                (*(undefined4 *)(p_Var17->_M_storage)._M_storage,uVar15,uVar3),\n             iVar2 == 0)) {\n            if (-1 < (int)(uVar25 - uVar21)) goto LAB_00210ca4;\nLAB_00210d7c:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_right;\n          }\n          else {\n            if (iVar2 < 0) goto LAB_00210d7c;\nLAB_00210ca4:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_left;\n            p_Var10 = p_Var17;\n          }\n          p_Var17 = p_Var18;\n        } while (p_Var18 != (_Link_type)0x0);\n        if (p_Var10 == p_Var11) break;\n        uVar25 = *(uint *)((p_Var10->_M_storage)._M_storage + 4);\n        uVar3 = uVar25;\n        if (uVar21 <= uVar25) {\n          uVar3 = uVar21;\n        }\n        if ((uVar3 == 0) ||\n           (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                              (uVar15,*(undefined4 *)(p_Var10->_M_storage)._M_storage,uVar3),\n           iVar2 == 0)) {\n          iVar2 = uVar21 - uVar25;\n        }\n      } while (-1 < iVar2)" ( (ERROR "_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n                  *)_Stack_80._M_parent,cStack_5c,(piecewise_construct_t *)p_Var10,\n                 (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  *)(iVar19 + -0x519c),(tuple<> *)_Stack_80._M_right);\n      p_Var10 = (_Link_type)_Stack_80._M_color;\n      do" (binary_expression "_Rb_tree<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Output_segment*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "Output_segment*>_>,_std" (binary_expression "Output_segment*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : (binary_expression "less<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Output_segment*>_>_>\n                  *)_Stack_80._M_parent,cStack_5c,(piecewise_construct_t *)p_Var10,\n                 (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  *)(iVar19 + -0x519c),(tuple<> *)_Stack_80._M_right)" (binary_expression "Output_segment*>_>_>\n                  *)_Stack_80._M_parent" (binary_expression "Output_segment*>_>_" (binary_expression "Output_segment*>_" identifier * (ERROR ">" >) identifier) > identifier) > (pointer_expression "*)_Stack_80._M_parent" * (ERROR ")" )) (field_expression "_Stack_80._M_parent" identifier . field_identifier))) , (comma_expression "cStack_5c,(piecewise_construct_t *)p_Var10,\n                 (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  *)(iVar19 + -0x519c),(tuple<> *)_Stack_80._M_right)" identifier , (comma_expression "(piecewise_construct_t *)p_Var10,\n                 (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  *)(iVar19 + -0x519c),(tuple<> *)_Stack_80._M_right)" (cast_expression "(piecewise_construct_t *)p_Var10" ( (type_descriptor "piecewise_construct_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (comma_expression "(tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  *)(iVar19 + -0x519c),(tuple<> *)_Stack_80._M_right)" (call_expression "(tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  *)(iVar19 + -0x519c)" (parenthesized_expression "(tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  *)" ( (ERROR "tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "tuple<const_std::__cxx11::basic_string<char,_std" (binary_expression "tuple<const_std::__cxx11::basic_string<char" (binary_expression "tuple<const_std" identifier < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>&>\n                  *" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "&>\n                  *" & (ERROR ">" >) (pointer_expression "*" * identifier))) )) (argument_list "(iVar19 + -0x519c)" ( (binary_expression "iVar19 + -0x519c" identifier + number_literal) ))) , (parenthesized_expression "(tuple<> *)_Stack_80._M_right)" ( (binary_expression "tuple<> *)_Stack_80._M_right" identifier < (ERROR ">" >) (pointer_expression "*)_Stack_80._M_right" * (ERROR ")" )) (field_expression "_Stack_80._M_right" identifier . field_identifier))) )))))) ; (assignment_expression "p_Var10 = (_Link_type)_Stack_80._M_color" identifier = (cast_expression "(_Link_type)_Stack_80._M_color" ( (type_descriptor "_Link_type" type_identifier) ) (field_expression "_Stack_80._M_color" identifier . field_identifier))) ; do) (compound_statement "{\n        uVar15 = (**(code **)(puVar23 + 0x2223b8))(uVar9,puVar12[6],puVar12[8]);\n        piVar14 = piVar14 + 1;\n        iVar2 = *(int *)(puVar8 + 0x10);\n        puVar12[0xc] = uVar15;\n        *(undefined4 *)((p_Var10->_M_storage)._M_storage + 0x18) = uVar15;\n        if (*(int **)(iVar2 + 4) == piVar14) goto LAB_00210d90;\n        puVar12 = (undefined4 *)*piVar14;\n        p_Var10 = p_Var11;\n        if (p_Stack_a0 == (_Link_type)0x0) break;\n        uVar21 = puVar12[1];\n        uVar15 = *puVar12;\n        p_Var17 = p_Stack_a0;\n        do {\n          uVar25 = *(uint *)((p_Var17->_M_storage)._M_storage + 4);\n          uVar3 = uVar21;\n          if (uVar25 <= uVar21) {\n            uVar3 = uVar25;\n          }\n          if ((uVar3 == 0) ||\n             (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                                (*(undefined4 *)(p_Var17->_M_storage)._M_storage,uVar15,uVar3),\n             iVar2 == 0)) {\n            if (-1 < (int)(uVar25 - uVar21)) goto LAB_00210ca4;\nLAB_00210d7c:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_right;\n          }\n          else {\n            if (iVar2 < 0) goto LAB_00210d7c;\nLAB_00210ca4:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_left;\n            p_Var10 = p_Var17;\n          }\n          p_Var17 = p_Var18;\n        } while (p_Var18 != (_Link_type)0x0);\n        if (p_Var10 == p_Var11) break;\n        uVar25 = *(uint *)((p_Var10->_M_storage)._M_storage + 4);\n        uVar3 = uVar25;\n        if (uVar21 <= uVar25) {\n          uVar3 = uVar21;\n        }\n        if ((uVar3 == 0) ||\n           (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                              (uVar15,*(undefined4 *)(p_Var10->_M_storage)._M_storage,uVar3),\n           iVar2 == 0)) {\n          iVar2 = uVar21 - uVar25;\n        }\n      }" { (expression_statement "uVar15 = (**(code **)(puVar23 + 0x2223b8))(uVar9,puVar12[6],puVar12[8]);" (assignment_expression "uVar15 = (**(code **)(puVar23 + 0x2223b8))(uVar9,puVar12[6],puVar12[8])" identifier = (call_expression "(**(code **)(puVar23 + 0x2223b8))(uVar9,puVar12[6],puVar12[8])" (parenthesized_expression "(**(code **)(puVar23 + 0x2223b8))" ( (pointer_expression "**(code **)(puVar23 + 0x2223b8)" * (pointer_expression "*(code **)(puVar23 + 0x2223b8)" * (cast_expression "(code **)(puVar23 + 0x2223b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x2223b8)" ( (binary_expression "puVar23 + 0x2223b8" identifier + number_literal) ))))) )) (argument_list "(uVar9,puVar12[6],puVar12[8])" ( identifier , (subscript_expression "puVar12[6]" identifier [ number_literal ]) , (subscript_expression "puVar12[8]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar14 = piVar14 + 1;" (assignment_expression "piVar14 = piVar14 + 1" identifier = (binary_expression "piVar14 + 1" identifier + number_literal)) ;) (expression_statement "iVar2 = *(int *)(puVar8 + 0x10);" (assignment_expression "iVar2 = *(int *)(puVar8 + 0x10)" identifier = (pointer_expression "*(int *)(puVar8 + 0x10)" * (cast_expression "(int *)(puVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x10)" ( (binary_expression "puVar8 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "puVar12[0xc] = uVar15;" (assignment_expression "puVar12[0xc] = uVar15" (subscript_expression "puVar12[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 *)((p_Var10->_M_storage)._M_storage + 0x18) = uVar15;" (assignment_expression "*(undefined4 *)((p_Var10->_M_storage)._M_storage + 0x18) = uVar15" (pointer_expression "*(undefined4 *)((p_Var10->_M_storage)._M_storage + 0x18)" * (cast_expression "(undefined4 *)((p_Var10->_M_storage)._M_storage + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((p_Var10->_M_storage)._M_storage + 0x18)" ( (binary_expression "(p_Var10->_M_storage)._M_storage + 0x18" (field_expression "(p_Var10->_M_storage)._M_storage" (parenthesized_expression "(p_Var10->_M_storage)" ( (field_expression "p_Var10->_M_storage" identifier -> field_identifier) )) . field_identifier) + number_literal) )))) = identifier) ;) (if_statement "if (*(int **)(iVar2 + 4) == piVar14) goto LAB_00210d90;" if (parenthesized_expression "(*(int **)(iVar2 + 4) == piVar14)" ( (binary_expression "*(int **)(iVar2 + 4) == piVar14" (pointer_expression "*(int **)(iVar2 + 4)" * (cast_expression "(int **)(iVar2 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) )))) == identifier) )) (goto_statement "goto LAB_00210d90;" goto statement_identifier ;)) (expression_statement "puVar12 = (undefined4 *)*piVar14;" (assignment_expression "puVar12 = (undefined4 *)*piVar14" identifier = (cast_expression "(undefined4 *)*piVar14" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar14" * identifier))) ;) (expression_statement "p_Var10 = p_Var11;" (assignment_expression "p_Var10 = p_Var11" identifier = identifier) ;) (if_statement "if (p_Stack_a0 == (_Link_type)0x0) break;" if (parenthesized_expression "(p_Stack_a0 == (_Link_type)0x0)" ( (binary_expression "p_Stack_a0 == (_Link_type)0x0" identifier == (cast_expression "(_Link_type)0x0" ( (type_descriptor "_Link_type" type_identifier) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "uVar21 = puVar12[1];" (assignment_expression "uVar21 = puVar12[1]" identifier = (subscript_expression "puVar12[1]" identifier [ number_literal ])) ;) (expression_statement "uVar15 = *puVar12;" (assignment_expression "uVar15 = *puVar12" identifier = (pointer_expression "*puVar12" * identifier)) ;) (expression_statement "p_Var17 = p_Stack_a0;" (assignment_expression "p_Var17 = p_Stack_a0" identifier = identifier) ;) (do_statement "do {\n          uVar25 = *(uint *)((p_Var17->_M_storage)._M_storage + 4);\n          uVar3 = uVar21;\n          if (uVar25 <= uVar21) {\n            uVar3 = uVar25;\n          }\n          if ((uVar3 == 0) ||\n             (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                                (*(undefined4 *)(p_Var17->_M_storage)._M_storage,uVar15,uVar3),\n             iVar2 == 0)) {\n            if (-1 < (int)(uVar25 - uVar21)) goto LAB_00210ca4;\nLAB_00210d7c:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_right;\n          }\n          else {\n            if (iVar2 < 0) goto LAB_00210d7c;\nLAB_00210ca4:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_left;\n            p_Var10 = p_Var17;\n          }\n          p_Var17 = p_Var18;\n        } while (p_Var18 != (_Link_type)0x0);" do (compound_statement "{\n          uVar25 = *(uint *)((p_Var17->_M_storage)._M_storage + 4);\n          uVar3 = uVar21;\n          if (uVar25 <= uVar21) {\n            uVar3 = uVar25;\n          }\n          if ((uVar3 == 0) ||\n             (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                                (*(undefined4 *)(p_Var17->_M_storage)._M_storage,uVar15,uVar3),\n             iVar2 == 0)) {\n            if (-1 < (int)(uVar25 - uVar21)) goto LAB_00210ca4;\nLAB_00210d7c:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_right;\n          }\n          else {\n            if (iVar2 < 0) goto LAB_00210d7c;\nLAB_00210ca4:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_left;\n            p_Var10 = p_Var17;\n          }\n          p_Var17 = p_Var18;\n        }" { (expression_statement "uVar25 = *(uint *)((p_Var17->_M_storage)._M_storage + 4);" (assignment_expression "uVar25 = *(uint *)((p_Var17->_M_storage)._M_storage + 4)" identifier = (pointer_expression "*(uint *)((p_Var17->_M_storage)._M_storage + 4)" * (cast_expression "(uint *)((p_Var17->_M_storage)._M_storage + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((p_Var17->_M_storage)._M_storage + 4)" ( (binary_expression "(p_Var17->_M_storage)._M_storage + 4" (field_expression "(p_Var17->_M_storage)._M_storage" (parenthesized_expression "(p_Var17->_M_storage)" ( (field_expression "p_Var17->_M_storage" identifier -> field_identifier) )) . field_identifier) + number_literal) ))))) ;) (expression_statement "uVar3 = uVar21;" (assignment_expression "uVar3 = uVar21" identifier = identifier) ;) (if_statement "if (uVar25 <= uVar21) {\n            uVar3 = uVar25;\n          }" if (parenthesized_expression "(uVar25 <= uVar21)" ( (binary_expression "uVar25 <= uVar21" identifier <= identifier) )) (compound_statement "{\n            uVar3 = uVar25;\n          }" { (expression_statement "uVar3 = uVar25;" (assignment_expression "uVar3 = uVar25" identifier = identifier) ;) })) (if_statement "if ((uVar3 == 0) ||\n             (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                                (*(undefined4 *)(p_Var17->_M_storage)._M_storage,uVar15,uVar3),\n             iVar2 == 0)) {\n            if (-1 < (int)(uVar25 - uVar21)) goto LAB_00210ca4;\nLAB_00210d7c:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_right;\n          }\n          else {\n            if (iVar2 < 0) goto LAB_00210d7c;\nLAB_00210ca4:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_left;\n            p_Var10 = p_Var17;\n          }" if (parenthesized_expression "((uVar3 == 0) ||\n             (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                                (*(undefined4 *)(p_Var17->_M_storage)._M_storage,uVar15,uVar3),\n             iVar2 == 0))" ( (binary_expression "(uVar3 == 0) ||\n             (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                                (*(undefined4 *)(p_Var17->_M_storage)._M_storage,uVar15,uVar3),\n             iVar2 == 0)" (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                                (*(undefined4 *)(p_Var17->_M_storage)._M_storage,uVar15,uVar3),\n             iVar2 == 0)" ( (comma_expression "iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                                (*(undefined4 *)(p_Var17->_M_storage)._M_storage,uVar15,uVar3),\n             iVar2 == 0" (assignment_expression "iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                                (*(undefined4 *)(p_Var17->_M_storage)._M_storage,uVar15,uVar3)" identifier = (call_expression "(**(code **)(puVar23 + 0x225d1c))\n                                (*(undefined4 *)(p_Var17->_M_storage)._M_storage,uVar15,uVar3)" (parenthesized_expression "(**(code **)(puVar23 + 0x225d1c))" ( (pointer_expression "**(code **)(puVar23 + 0x225d1c)" * (pointer_expression "*(code **)(puVar23 + 0x225d1c)" * (cast_expression "(code **)(puVar23 + 0x225d1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x225d1c)" ( (binary_expression "puVar23 + 0x225d1c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(p_Var17->_M_storage)._M_storage,uVar15,uVar3)" ( (pointer_expression "*(undefined4 *)(p_Var17->_M_storage)._M_storage" * (cast_expression "(undefined4 *)(p_Var17->_M_storage)._M_storage" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(p_Var17->_M_storage)._M_storage" (parenthesized_expression "(p_Var17->_M_storage)" ( (field_expression "p_Var17->_M_storage" identifier -> field_identifier) )) . field_identifier))) , identifier , identifier )))) , (binary_expression "iVar2 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            if (-1 < (int)(uVar25 - uVar21)) goto LAB_00210ca4;\nLAB_00210d7c:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_right;\n          }" { (if_statement "if (-1 < (int)(uVar25 - uVar21)) goto LAB_00210ca4;" if (parenthesized_expression "(-1 < (int)(uVar25 - uVar21))" ( (binary_expression "-1 < (int)(uVar25 - uVar21)" number_literal < (cast_expression "(int)(uVar25 - uVar21)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar25 - uVar21)" ( (binary_expression "uVar25 - uVar21" identifier - identifier) )))) )) (goto_statement "goto LAB_00210ca4;" goto statement_identifier ;)) (labeled_statement "LAB_00210d7c:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_right;" statement_identifier : (expression_statement "p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_right;" (assignment_expression "p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_right" identifier = (field_expression "(_Link_type)(p_Var17->super__Rb_tree_node_base)._M_right" (call_expression "(_Link_type)(p_Var17->super__Rb_tree_node_base)" (parenthesized_expression "(_Link_type)" ( identifier )) (argument_list "(p_Var17->super__Rb_tree_node_base)" ( (field_expression "p_Var17->super__Rb_tree_node_base" identifier -> field_identifier) ))) . field_identifier)) ;)) }) (else_clause "else {\n            if (iVar2 < 0) goto LAB_00210d7c;\nLAB_00210ca4:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_left;\n            p_Var10 = p_Var17;\n          }" else (compound_statement "{\n            if (iVar2 < 0) goto LAB_00210d7c;\nLAB_00210ca4:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_left;\n            p_Var10 = p_Var17;\n          }" { (if_statement "if (iVar2 < 0) goto LAB_00210d7c;" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00210d7c;" goto statement_identifier ;)) (labeled_statement "LAB_00210ca4:\n            p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_left;" statement_identifier : (expression_statement "p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_left;" (assignment_expression "p_Var18 = (_Link_type)(p_Var17->super__Rb_tree_node_base)._M_left" identifier = (field_expression "(_Link_type)(p_Var17->super__Rb_tree_node_base)._M_left" (call_expression "(_Link_type)(p_Var17->super__Rb_tree_node_base)" (parenthesized_expression "(_Link_type)" ( identifier )) (argument_list "(p_Var17->super__Rb_tree_node_base)" ( (field_expression "p_Var17->super__Rb_tree_node_base" identifier -> field_identifier) ))) . field_identifier)) ;)) (expression_statement "p_Var10 = p_Var17;" (assignment_expression "p_Var10 = p_Var17" identifier = identifier) ;) }))) (expression_statement "p_Var17 = p_Var18;" (assignment_expression "p_Var17 = p_Var18" identifier = identifier) ;) }) while (parenthesized_expression "(p_Var18 != (_Link_type)0x0)" ( (binary_expression "p_Var18 != (_Link_type)0x0" identifier != (cast_expression "(_Link_type)0x0" ( (type_descriptor "_Link_type" type_identifier) ) number_literal)) )) ;) (if_statement "if (p_Var10 == p_Var11) break;" if (parenthesized_expression "(p_Var10 == p_Var11)" ( (binary_expression "p_Var10 == p_Var11" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar25 = *(uint *)((p_Var10->_M_storage)._M_storage + 4);" (assignment_expression "uVar25 = *(uint *)((p_Var10->_M_storage)._M_storage + 4)" identifier = (pointer_expression "*(uint *)((p_Var10->_M_storage)._M_storage + 4)" * (cast_expression "(uint *)((p_Var10->_M_storage)._M_storage + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((p_Var10->_M_storage)._M_storage + 4)" ( (binary_expression "(p_Var10->_M_storage)._M_storage + 4" (field_expression "(p_Var10->_M_storage)._M_storage" (parenthesized_expression "(p_Var10->_M_storage)" ( (field_expression "p_Var10->_M_storage" identifier -> field_identifier) )) . field_identifier) + number_literal) ))))) ;) (expression_statement "uVar3 = uVar25;" (assignment_expression "uVar3 = uVar25" identifier = identifier) ;) (if_statement "if (uVar21 <= uVar25) {\n          uVar3 = uVar21;\n        }" if (parenthesized_expression "(uVar21 <= uVar25)" ( (binary_expression "uVar21 <= uVar25" identifier <= identifier) )) (compound_statement "{\n          uVar3 = uVar21;\n        }" { (expression_statement "uVar3 = uVar21;" (assignment_expression "uVar3 = uVar21" identifier = identifier) ;) })) (if_statement "if ((uVar3 == 0) ||\n           (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                              (uVar15,*(undefined4 *)(p_Var10->_M_storage)._M_storage,uVar3),\n           iVar2 == 0)) {\n          iVar2 = uVar21 - uVar25;\n        }" if (parenthesized_expression "((uVar3 == 0) ||\n           (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                              (uVar15,*(undefined4 *)(p_Var10->_M_storage)._M_storage,uVar3),\n           iVar2 == 0))" ( (binary_expression "(uVar3 == 0) ||\n           (iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                              (uVar15,*(undefined4 *)(p_Var10->_M_storage)._M_storage,uVar3),\n           iVar2 == 0)" (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                              (uVar15,*(undefined4 *)(p_Var10->_M_storage)._M_storage,uVar3),\n           iVar2 == 0)" ( (comma_expression "iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                              (uVar15,*(undefined4 *)(p_Var10->_M_storage)._M_storage,uVar3),\n           iVar2 == 0" (assignment_expression "iVar2 = (**(code **)(puVar23 + 0x225d1c))\n                              (uVar15,*(undefined4 *)(p_Var10->_M_storage)._M_storage,uVar3)" identifier = (call_expression "(**(code **)(puVar23 + 0x225d1c))\n                              (uVar15,*(undefined4 *)(p_Var10->_M_storage)._M_storage,uVar3)" (parenthesized_expression "(**(code **)(puVar23 + 0x225d1c))" ( (pointer_expression "**(code **)(puVar23 + 0x225d1c)" * (pointer_expression "*(code **)(puVar23 + 0x225d1c)" * (cast_expression "(code **)(puVar23 + 0x225d1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x225d1c)" ( (binary_expression "puVar23 + 0x225d1c" identifier + number_literal) ))))) )) (argument_list "(uVar15,*(undefined4 *)(p_Var10->_M_storage)._M_storage,uVar3)" ( identifier , (pointer_expression "*(undefined4 *)(p_Var10->_M_storage)._M_storage" * (cast_expression "(undefined4 *)(p_Var10->_M_storage)._M_storage" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(p_Var10->_M_storage)._M_storage" (parenthesized_expression "(p_Var10->_M_storage)" ( (field_expression "p_Var10->_M_storage" identifier -> field_identifier) )) . field_identifier))) , identifier )))) , (binary_expression "iVar2 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          iVar2 = uVar21 - uVar25;\n        }" { (expression_statement "iVar2 = uVar21 - uVar25;" (assignment_expression "iVar2 = uVar21 - uVar25" identifier = (binary_expression "uVar21 - uVar25" identifier - identifier)) ;) })) }) (ERROR "while (-1 < iVar2" while ( number_literal < identifier) )) ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (labeled_statement "LAB_00210d90:\n  auStack_90._4_4_ = (_Base_ptr)0x0;" statement_identifier : (expression_statement "auStack_90._4_4_ = (_Base_ptr)0x0;" (assignment_expression "auStack_90._4_4_ = (_Base_ptr)0x0" (field_expression "auStack_90._4_4_" identifier . field_identifier) = (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) ;)) (expression_statement "puVar8[0x1f] = 1;" (assignment_expression "puVar8[0x1f] = 1" (subscript_expression "puVar8[0x1f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar14 = (int *)**(int **)(puVar8 + 4);" (assignment_expression "piVar14 = (int *)**(int **)(puVar8 + 4)" identifier = (cast_expression "(int *)**(int **)(puVar8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(puVar8 + 4)" * (pointer_expression "*(int **)(puVar8 + 4)" * (cast_expression "(int **)(puVar8 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 4)" ( (binary_expression "puVar8 + 4" identifier + number_literal) ))))))) ;) (if_statement "if (*(int **)(puVar8 + 4) != piVar14) {\n    _Stack_80._M_parent = (_Rb_tree_node_base *)0x0;\n    iStack_50 = *(int *)(puVar23 + 0x2216ac);\n    puStack_60 = auStack_90 + 4;\n    iStack_58 = *(int *)(puVar23 + 0x2216ac) + -0x567c;\n    iStack_68 = *(int *)(puVar23 + 0x2216ac) + -0x568c;\n    iStack_54 = *(int *)(puVar23 + 0x2216ac) + -0x56e4;\n    piVar4 = (int *)piVar14[2];\n    puStack_64 = auStack_90;\n    do {\n      uVar15 = auStack_90._4_4_;\n      p_Var5 = (_Base_ptr)(**(code **)(*piVar4 + 0x30))(piVar4,puStack_60,puStack_64);\n      _Stack_80._M_left = p_Var5;\n      if (p_Var5 != (_Base_ptr)0x0) {\n        _Stack_80._M_right =\n             (_Base_ptr)(**(code **)(puVar23 + 0x22448c))(p_Var5[5]._M_left,p_Var5[5]._M_right);\n        p_Var1 = (_Rb_tree_node_base *)((uint)auStack_90._0_4_ >> 0x18);\n        if ((_Base_ptr)auStack_90._4_4_ == (_Base_ptr)0x0) {\n          if (p_Var1 != (_Rb_tree_node_base *)0x0) {\n            pcVar24 = *(code **)(puVar23 + 0x225c58);\n            if ((int)p_Var5[1]._M_color < 1) {\n              if ((p_Var5[1]._M_color != _S_red) || (p_Var5[1]._M_parent == (_Base_ptr)0x0))\n              goto LAB_00210e64;\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n            }\n            uVar15 = (*pcVar24)(iStack_54);\n            (**(code **)(puVar23 + 0x2221c4))(uVar15,_Stack_80._M_left[2]._M_parent);\n          }\nLAB_00210e64:\n          piVar4 = (int *)**(int **)(puVar8 + 0x10);\n          piVar7 = (int *)(*(int **)(puVar8 + 0x10))[1];\n          if (piVar4 != piVar7) {\n            iVar19 = *(int *)(*piVar4 + 0x30);\n            iVar2 = *(int *)(iVar19 + 0x198);\n            while (iVar2 != 1) {\n              piVar4 = piVar4 + 1;\n              if (piVar7 == piVar4) goto LAB_00210ecc;\n              iVar19 = *(int *)(*piVar4 + 0x30);\n              iVar2 = *(int *)(iVar19 + 0x198);\n            }\n            (**(code **)(puVar23 + 0x2223b0))(iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n          }\n        }\n        else {\n          p_Var5 = (_Base_ptr)*(_Rb_tree_color *)auStack_90._4_4_;\n          if (auStack_90._4_4_ != uVar15) {\n            _Stack_80._M_parent = (_Rb_tree_node_base *)0x0;\n          }\n          if (p_Var1 != (_Rb_tree_node_base *)0x0) {\n            _Stack_80._M_parent = p_Var1;\n          }\n          if (p_Var5 != *(_Base_ptr *)(auStack_90._4_4_ + 4)) {\n            iStack_6c = 0;\n            p_Var22 = (_Base_ptr)auStack_90._4_4_;\n            do {\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n              if (p_Stack_a0 == (_Link_type)0x0) {\nLAB_00211058:\n                uVar15 = (*pcVar24)(iStack_68);\n                (**(code **)(puVar23 + 0x2221c4))(uVar15,p_Var5->_M_color);\n                p_Var22 = (_Base_ptr)auStack_90._4_4_;\n              }\n              else {\n                p_Var20 = p_Var5->_M_parent;\n                _Var16 = p_Var5->_M_color;\n                p_Var10 = p_Stack_a0;\n                p_Var17 = p_Var11;\n                do {\n                  p_Var13 = *(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4);\n                  p_Var6 = p_Var20;\n                  if (p_Var13 <= p_Var20) {\n                    p_Var6 = p_Var13;\n                  }\n                  if ((p_Var6 == (_Base_ptr)0x0) ||\n                     (iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0)) {\n                    if (-1 < (int)p_Var13 - (int)p_Var20) goto LAB_00210f58;\nLAB_00211044:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;\n                  }\n                  else {\n                    if (iVar19 < 0) goto LAB_00211044;\nLAB_00210f58:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;\n                    p_Var17 = p_Var10;\n                  }\n                  p_Var10 = p_Var18;\n                } while (p_Var18 != (_Link_type)0x0);\n                pcVar24 = *(code **)(puVar23 + 0x225c58);\n                if (p_Var17 == p_Var11) goto LAB_00211058;\n                p_Var13 = *(_Base_ptr *)((p_Var17->_M_storage)._M_storage + 4);\n                p_Var6 = p_Var13;\n                if (p_Var20 <= p_Var13) {\n                  p_Var6 = p_Var20;\n                }\n                if ((p_Var6 == (_Base_ptr)0x0) ||\n                   (p_Stack_70 = p_Var13,\n                   iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      ), p_Var13 = p_Stack_70, iVar19 == 0)) {\n                  iVar19 = (int)p_Var20 - (int)p_Var13;\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                if (iVar19 < 0) goto LAB_00211058;\n                iVar19 = *(int *)((p_Var17->_M_storage)._M_storage + 0x18);\n                if (_Stack_80._M_parent == (_Rb_tree_node_base *)0x0) {\n                  if (*(int *)(iVar19 + 0x198) == 1) goto LAB_00210fcc;\n                  (**(code **)(puVar23 + 0x2223bc))(iVar19,_Stack_80._M_left,_Stack_80._M_right);\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n                else if (*(int *)(iVar19 + 0x198) == 1) {\nLAB_00210fcc:\n                  (**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n                  if (iStack_6c != 0) {\n                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);\n                    (**(code **)(puVar23 + 0x2221c4))(uVar15);\n                  }\n                  iStack_6c = 1;\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n              }\n              p_Var5 = (_Base_ptr)&p_Var5[1]._M_left;\n            } while (p_Var22->_M_parent != p_Var5);\n            if (iStack_6c != 0) goto LAB_00210ecc;\n          }\n          uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_50 + -0x56bc);\n          (**(code **)(puVar23 + 0x2221c4))(uVar15);\n        }\n      }\nLAB_00210ecc:\n      piVar14 = (int *)*piVar14;\n      if ((int *)*(int *)(puVar8 + 4) == piVar14) break;\n      piVar4 = (int *)piVar14[2];\n    } while( true );\n  }" if (parenthesized_expression "(*(int **)(puVar8 + 4) != piVar14)" ( (binary_expression "*(int **)(puVar8 + 4) != piVar14" (pointer_expression "*(int **)(puVar8 + 4)" * (cast_expression "(int **)(puVar8 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 4)" ( (binary_expression "puVar8 + 4" identifier + number_literal) )))) != identifier) )) (compound_statement "{\n    _Stack_80._M_parent = (_Rb_tree_node_base *)0x0;\n    iStack_50 = *(int *)(puVar23 + 0x2216ac);\n    puStack_60 = auStack_90 + 4;\n    iStack_58 = *(int *)(puVar23 + 0x2216ac) + -0x567c;\n    iStack_68 = *(int *)(puVar23 + 0x2216ac) + -0x568c;\n    iStack_54 = *(int *)(puVar23 + 0x2216ac) + -0x56e4;\n    piVar4 = (int *)piVar14[2];\n    puStack_64 = auStack_90;\n    do {\n      uVar15 = auStack_90._4_4_;\n      p_Var5 = (_Base_ptr)(**(code **)(*piVar4 + 0x30))(piVar4,puStack_60,puStack_64);\n      _Stack_80._M_left = p_Var5;\n      if (p_Var5 != (_Base_ptr)0x0) {\n        _Stack_80._M_right =\n             (_Base_ptr)(**(code **)(puVar23 + 0x22448c))(p_Var5[5]._M_left,p_Var5[5]._M_right);\n        p_Var1 = (_Rb_tree_node_base *)((uint)auStack_90._0_4_ >> 0x18);\n        if ((_Base_ptr)auStack_90._4_4_ == (_Base_ptr)0x0) {\n          if (p_Var1 != (_Rb_tree_node_base *)0x0) {\n            pcVar24 = *(code **)(puVar23 + 0x225c58);\n            if ((int)p_Var5[1]._M_color < 1) {\n              if ((p_Var5[1]._M_color != _S_red) || (p_Var5[1]._M_parent == (_Base_ptr)0x0))\n              goto LAB_00210e64;\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n            }\n            uVar15 = (*pcVar24)(iStack_54);\n            (**(code **)(puVar23 + 0x2221c4))(uVar15,_Stack_80._M_left[2]._M_parent);\n          }\nLAB_00210e64:\n          piVar4 = (int *)**(int **)(puVar8 + 0x10);\n          piVar7 = (int *)(*(int **)(puVar8 + 0x10))[1];\n          if (piVar4 != piVar7) {\n            iVar19 = *(int *)(*piVar4 + 0x30);\n            iVar2 = *(int *)(iVar19 + 0x198);\n            while (iVar2 != 1) {\n              piVar4 = piVar4 + 1;\n              if (piVar7 == piVar4) goto LAB_00210ecc;\n              iVar19 = *(int *)(*piVar4 + 0x30);\n              iVar2 = *(int *)(iVar19 + 0x198);\n            }\n            (**(code **)(puVar23 + 0x2223b0))(iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n          }\n        }\n        else {\n          p_Var5 = (_Base_ptr)*(_Rb_tree_color *)auStack_90._4_4_;\n          if (auStack_90._4_4_ != uVar15) {\n            _Stack_80._M_parent = (_Rb_tree_node_base *)0x0;\n          }\n          if (p_Var1 != (_Rb_tree_node_base *)0x0) {\n            _Stack_80._M_parent = p_Var1;\n          }\n          if (p_Var5 != *(_Base_ptr *)(auStack_90._4_4_ + 4)) {\n            iStack_6c = 0;\n            p_Var22 = (_Base_ptr)auStack_90._4_4_;\n            do {\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n              if (p_Stack_a0 == (_Link_type)0x0) {\nLAB_00211058:\n                uVar15 = (*pcVar24)(iStack_68);\n                (**(code **)(puVar23 + 0x2221c4))(uVar15,p_Var5->_M_color);\n                p_Var22 = (_Base_ptr)auStack_90._4_4_;\n              }\n              else {\n                p_Var20 = p_Var5->_M_parent;\n                _Var16 = p_Var5->_M_color;\n                p_Var10 = p_Stack_a0;\n                p_Var17 = p_Var11;\n                do {\n                  p_Var13 = *(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4);\n                  p_Var6 = p_Var20;\n                  if (p_Var13 <= p_Var20) {\n                    p_Var6 = p_Var13;\n                  }\n                  if ((p_Var6 == (_Base_ptr)0x0) ||\n                     (iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0)) {\n                    if (-1 < (int)p_Var13 - (int)p_Var20) goto LAB_00210f58;\nLAB_00211044:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;\n                  }\n                  else {\n                    if (iVar19 < 0) goto LAB_00211044;\nLAB_00210f58:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;\n                    p_Var17 = p_Var10;\n                  }\n                  p_Var10 = p_Var18;\n                } while (p_Var18 != (_Link_type)0x0);\n                pcVar24 = *(code **)(puVar23 + 0x225c58);\n                if (p_Var17 == p_Var11) goto LAB_00211058;\n                p_Var13 = *(_Base_ptr *)((p_Var17->_M_storage)._M_storage + 4);\n                p_Var6 = p_Var13;\n                if (p_Var20 <= p_Var13) {\n                  p_Var6 = p_Var20;\n                }\n                if ((p_Var6 == (_Base_ptr)0x0) ||\n                   (p_Stack_70 = p_Var13,\n                   iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      ), p_Var13 = p_Stack_70, iVar19 == 0)) {\n                  iVar19 = (int)p_Var20 - (int)p_Var13;\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                if (iVar19 < 0) goto LAB_00211058;\n                iVar19 = *(int *)((p_Var17->_M_storage)._M_storage + 0x18);\n                if (_Stack_80._M_parent == (_Rb_tree_node_base *)0x0) {\n                  if (*(int *)(iVar19 + 0x198) == 1) goto LAB_00210fcc;\n                  (**(code **)(puVar23 + 0x2223bc))(iVar19,_Stack_80._M_left,_Stack_80._M_right);\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n                else if (*(int *)(iVar19 + 0x198) == 1) {\nLAB_00210fcc:\n                  (**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n                  if (iStack_6c != 0) {\n                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);\n                    (**(code **)(puVar23 + 0x2221c4))(uVar15);\n                  }\n                  iStack_6c = 1;\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n              }\n              p_Var5 = (_Base_ptr)&p_Var5[1]._M_left;\n            } while (p_Var22->_M_parent != p_Var5);\n            if (iStack_6c != 0) goto LAB_00210ecc;\n          }\n          uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_50 + -0x56bc);\n          (**(code **)(puVar23 + 0x2221c4))(uVar15);\n        }\n      }\nLAB_00210ecc:\n      piVar14 = (int *)*piVar14;\n      if ((int *)*(int *)(puVar8 + 4) == piVar14) break;\n      piVar4 = (int *)piVar14[2];\n    } while( true );\n  }" { (expression_statement "_Stack_80._M_parent = (_Rb_tree_node_base *)0x0;" (assignment_expression "_Stack_80._M_parent = (_Rb_tree_node_base *)0x0" (field_expression "_Stack_80._M_parent" identifier . field_identifier) = (cast_expression "(_Rb_tree_node_base *)0x0" ( (type_descriptor "_Rb_tree_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_50 = *(int *)(puVar23 + 0x2216ac);" (assignment_expression "iStack_50 = *(int *)(puVar23 + 0x2216ac)" identifier = (pointer_expression "*(int *)(puVar23 + 0x2216ac)" * (cast_expression "(int *)(puVar23 + 0x2216ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x2216ac)" ( (binary_expression "puVar23 + 0x2216ac" identifier + number_literal) ))))) ;) (expression_statement "puStack_60 = auStack_90 + 4;" (assignment_expression "puStack_60 = auStack_90 + 4" identifier = (binary_expression "auStack_90 + 4" identifier + number_literal)) ;) (expression_statement "iStack_58 = *(int *)(puVar23 + 0x2216ac) + -0x567c;" (assignment_expression "iStack_58 = *(int *)(puVar23 + 0x2216ac) + -0x567c" identifier = (binary_expression "*(int *)(puVar23 + 0x2216ac) + -0x567c" (pointer_expression "*(int *)(puVar23 + 0x2216ac)" * (cast_expression "(int *)(puVar23 + 0x2216ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x2216ac)" ( (binary_expression "puVar23 + 0x2216ac" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iStack_68 = *(int *)(puVar23 + 0x2216ac) + -0x568c;" (assignment_expression "iStack_68 = *(int *)(puVar23 + 0x2216ac) + -0x568c" identifier = (binary_expression "*(int *)(puVar23 + 0x2216ac) + -0x568c" (pointer_expression "*(int *)(puVar23 + 0x2216ac)" * (cast_expression "(int *)(puVar23 + 0x2216ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x2216ac)" ( (binary_expression "puVar23 + 0x2216ac" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iStack_54 = *(int *)(puVar23 + 0x2216ac) + -0x56e4;" (assignment_expression "iStack_54 = *(int *)(puVar23 + 0x2216ac) + -0x56e4" identifier = (binary_expression "*(int *)(puVar23 + 0x2216ac) + -0x56e4" (pointer_expression "*(int *)(puVar23 + 0x2216ac)" * (cast_expression "(int *)(puVar23 + 0x2216ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x2216ac)" ( (binary_expression "puVar23 + 0x2216ac" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "piVar4 = (int *)piVar14[2];" (assignment_expression "piVar4 = (int *)piVar14[2]" identifier = (cast_expression "(int *)piVar14[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar14[2]" identifier [ number_literal ]))) ;) (expression_statement "puStack_64 = auStack_90;" (assignment_expression "puStack_64 = auStack_90" identifier = identifier) ;) (do_statement "do {\n      uVar15 = auStack_90._4_4_;\n      p_Var5 = (_Base_ptr)(**(code **)(*piVar4 + 0x30))(piVar4,puStack_60,puStack_64);\n      _Stack_80._M_left = p_Var5;\n      if (p_Var5 != (_Base_ptr)0x0) {\n        _Stack_80._M_right =\n             (_Base_ptr)(**(code **)(puVar23 + 0x22448c))(p_Var5[5]._M_left,p_Var5[5]._M_right);\n        p_Var1 = (_Rb_tree_node_base *)((uint)auStack_90._0_4_ >> 0x18);\n        if ((_Base_ptr)auStack_90._4_4_ == (_Base_ptr)0x0) {\n          if (p_Var1 != (_Rb_tree_node_base *)0x0) {\n            pcVar24 = *(code **)(puVar23 + 0x225c58);\n            if ((int)p_Var5[1]._M_color < 1) {\n              if ((p_Var5[1]._M_color != _S_red) || (p_Var5[1]._M_parent == (_Base_ptr)0x0))\n              goto LAB_00210e64;\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n            }\n            uVar15 = (*pcVar24)(iStack_54);\n            (**(code **)(puVar23 + 0x2221c4))(uVar15,_Stack_80._M_left[2]._M_parent);\n          }\nLAB_00210e64:\n          piVar4 = (int *)**(int **)(puVar8 + 0x10);\n          piVar7 = (int *)(*(int **)(puVar8 + 0x10))[1];\n          if (piVar4 != piVar7) {\n            iVar19 = *(int *)(*piVar4 + 0x30);\n            iVar2 = *(int *)(iVar19 + 0x198);\n            while (iVar2 != 1) {\n              piVar4 = piVar4 + 1;\n              if (piVar7 == piVar4) goto LAB_00210ecc;\n              iVar19 = *(int *)(*piVar4 + 0x30);\n              iVar2 = *(int *)(iVar19 + 0x198);\n            }\n            (**(code **)(puVar23 + 0x2223b0))(iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n          }\n        }\n        else {\n          p_Var5 = (_Base_ptr)*(_Rb_tree_color *)auStack_90._4_4_;\n          if (auStack_90._4_4_ != uVar15) {\n            _Stack_80._M_parent = (_Rb_tree_node_base *)0x0;\n          }\n          if (p_Var1 != (_Rb_tree_node_base *)0x0) {\n            _Stack_80._M_parent = p_Var1;\n          }\n          if (p_Var5 != *(_Base_ptr *)(auStack_90._4_4_ + 4)) {\n            iStack_6c = 0;\n            p_Var22 = (_Base_ptr)auStack_90._4_4_;\n            do {\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n              if (p_Stack_a0 == (_Link_type)0x0) {\nLAB_00211058:\n                uVar15 = (*pcVar24)(iStack_68);\n                (**(code **)(puVar23 + 0x2221c4))(uVar15,p_Var5->_M_color);\n                p_Var22 = (_Base_ptr)auStack_90._4_4_;\n              }\n              else {\n                p_Var20 = p_Var5->_M_parent;\n                _Var16 = p_Var5->_M_color;\n                p_Var10 = p_Stack_a0;\n                p_Var17 = p_Var11;\n                do {\n                  p_Var13 = *(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4);\n                  p_Var6 = p_Var20;\n                  if (p_Var13 <= p_Var20) {\n                    p_Var6 = p_Var13;\n                  }\n                  if ((p_Var6 == (_Base_ptr)0x0) ||\n                     (iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0)) {\n                    if (-1 < (int)p_Var13 - (int)p_Var20) goto LAB_00210f58;\nLAB_00211044:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;\n                  }\n                  else {\n                    if (iVar19 < 0) goto LAB_00211044;\nLAB_00210f58:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;\n                    p_Var17 = p_Var10;\n                  }\n                  p_Var10 = p_Var18;\n                } while (p_Var18 != (_Link_type)0x0);\n                pcVar24 = *(code **)(puVar23 + 0x225c58);\n                if (p_Var17 == p_Var11) goto LAB_00211058;\n                p_Var13 = *(_Base_ptr *)((p_Var17->_M_storage)._M_storage + 4);\n                p_Var6 = p_Var13;\n                if (p_Var20 <= p_Var13) {\n                  p_Var6 = p_Var20;\n                }\n                if ((p_Var6 == (_Base_ptr)0x0) ||\n                   (p_Stack_70 = p_Var13,\n                   iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      ), p_Var13 = p_Stack_70, iVar19 == 0)) {\n                  iVar19 = (int)p_Var20 - (int)p_Var13;\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                if (iVar19 < 0) goto LAB_00211058;\n                iVar19 = *(int *)((p_Var17->_M_storage)._M_storage + 0x18);\n                if (_Stack_80._M_parent == (_Rb_tree_node_base *)0x0) {\n                  if (*(int *)(iVar19 + 0x198) == 1) goto LAB_00210fcc;\n                  (**(code **)(puVar23 + 0x2223bc))(iVar19,_Stack_80._M_left,_Stack_80._M_right);\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n                else if (*(int *)(iVar19 + 0x198) == 1) {\nLAB_00210fcc:\n                  (**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n                  if (iStack_6c != 0) {\n                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);\n                    (**(code **)(puVar23 + 0x2221c4))(uVar15);\n                  }\n                  iStack_6c = 1;\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n              }\n              p_Var5 = (_Base_ptr)&p_Var5[1]._M_left;\n            } while (p_Var22->_M_parent != p_Var5);\n            if (iStack_6c != 0) goto LAB_00210ecc;\n          }\n          uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_50 + -0x56bc);\n          (**(code **)(puVar23 + 0x2221c4))(uVar15);\n        }\n      }\nLAB_00210ecc:\n      piVar14 = (int *)*piVar14;\n      if ((int *)*(int *)(puVar8 + 4) == piVar14) break;\n      piVar4 = (int *)piVar14[2];\n    } while( true );" do (compound_statement "{\n      uVar15 = auStack_90._4_4_;\n      p_Var5 = (_Base_ptr)(**(code **)(*piVar4 + 0x30))(piVar4,puStack_60,puStack_64);\n      _Stack_80._M_left = p_Var5;\n      if (p_Var5 != (_Base_ptr)0x0) {\n        _Stack_80._M_right =\n             (_Base_ptr)(**(code **)(puVar23 + 0x22448c))(p_Var5[5]._M_left,p_Var5[5]._M_right);\n        p_Var1 = (_Rb_tree_node_base *)((uint)auStack_90._0_4_ >> 0x18);\n        if ((_Base_ptr)auStack_90._4_4_ == (_Base_ptr)0x0) {\n          if (p_Var1 != (_Rb_tree_node_base *)0x0) {\n            pcVar24 = *(code **)(puVar23 + 0x225c58);\n            if ((int)p_Var5[1]._M_color < 1) {\n              if ((p_Var5[1]._M_color != _S_red) || (p_Var5[1]._M_parent == (_Base_ptr)0x0))\n              goto LAB_00210e64;\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n            }\n            uVar15 = (*pcVar24)(iStack_54);\n            (**(code **)(puVar23 + 0x2221c4))(uVar15,_Stack_80._M_left[2]._M_parent);\n          }\nLAB_00210e64:\n          piVar4 = (int *)**(int **)(puVar8 + 0x10);\n          piVar7 = (int *)(*(int **)(puVar8 + 0x10))[1];\n          if (piVar4 != piVar7) {\n            iVar19 = *(int *)(*piVar4 + 0x30);\n            iVar2 = *(int *)(iVar19 + 0x198);\n            while (iVar2 != 1) {\n              piVar4 = piVar4 + 1;\n              if (piVar7 == piVar4) goto LAB_00210ecc;\n              iVar19 = *(int *)(*piVar4 + 0x30);\n              iVar2 = *(int *)(iVar19 + 0x198);\n            }\n            (**(code **)(puVar23 + 0x2223b0))(iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n          }\n        }\n        else {\n          p_Var5 = (_Base_ptr)*(_Rb_tree_color *)auStack_90._4_4_;\n          if (auStack_90._4_4_ != uVar15) {\n            _Stack_80._M_parent = (_Rb_tree_node_base *)0x0;\n          }\n          if (p_Var1 != (_Rb_tree_node_base *)0x0) {\n            _Stack_80._M_parent = p_Var1;\n          }\n          if (p_Var5 != *(_Base_ptr *)(auStack_90._4_4_ + 4)) {\n            iStack_6c = 0;\n            p_Var22 = (_Base_ptr)auStack_90._4_4_;\n            do {\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n              if (p_Stack_a0 == (_Link_type)0x0) {\nLAB_00211058:\n                uVar15 = (*pcVar24)(iStack_68);\n                (**(code **)(puVar23 + 0x2221c4))(uVar15,p_Var5->_M_color);\n                p_Var22 = (_Base_ptr)auStack_90._4_4_;\n              }\n              else {\n                p_Var20 = p_Var5->_M_parent;\n                _Var16 = p_Var5->_M_color;\n                p_Var10 = p_Stack_a0;\n                p_Var17 = p_Var11;\n                do {\n                  p_Var13 = *(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4);\n                  p_Var6 = p_Var20;\n                  if (p_Var13 <= p_Var20) {\n                    p_Var6 = p_Var13;\n                  }\n                  if ((p_Var6 == (_Base_ptr)0x0) ||\n                     (iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0)) {\n                    if (-1 < (int)p_Var13 - (int)p_Var20) goto LAB_00210f58;\nLAB_00211044:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;\n                  }\n                  else {\n                    if (iVar19 < 0) goto LAB_00211044;\nLAB_00210f58:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;\n                    p_Var17 = p_Var10;\n                  }\n                  p_Var10 = p_Var18;\n                } while (p_Var18 != (_Link_type)0x0);\n                pcVar24 = *(code **)(puVar23 + 0x225c58);\n                if (p_Var17 == p_Var11) goto LAB_00211058;\n                p_Var13 = *(_Base_ptr *)((p_Var17->_M_storage)._M_storage + 4);\n                p_Var6 = p_Var13;\n                if (p_Var20 <= p_Var13) {\n                  p_Var6 = p_Var20;\n                }\n                if ((p_Var6 == (_Base_ptr)0x0) ||\n                   (p_Stack_70 = p_Var13,\n                   iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      ), p_Var13 = p_Stack_70, iVar19 == 0)) {\n                  iVar19 = (int)p_Var20 - (int)p_Var13;\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                if (iVar19 < 0) goto LAB_00211058;\n                iVar19 = *(int *)((p_Var17->_M_storage)._M_storage + 0x18);\n                if (_Stack_80._M_parent == (_Rb_tree_node_base *)0x0) {\n                  if (*(int *)(iVar19 + 0x198) == 1) goto LAB_00210fcc;\n                  (**(code **)(puVar23 + 0x2223bc))(iVar19,_Stack_80._M_left,_Stack_80._M_right);\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n                else if (*(int *)(iVar19 + 0x198) == 1) {\nLAB_00210fcc:\n                  (**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n                  if (iStack_6c != 0) {\n                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);\n                    (**(code **)(puVar23 + 0x2221c4))(uVar15);\n                  }\n                  iStack_6c = 1;\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n              }\n              p_Var5 = (_Base_ptr)&p_Var5[1]._M_left;\n            } while (p_Var22->_M_parent != p_Var5);\n            if (iStack_6c != 0) goto LAB_00210ecc;\n          }\n          uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_50 + -0x56bc);\n          (**(code **)(puVar23 + 0x2221c4))(uVar15);\n        }\n      }\nLAB_00210ecc:\n      piVar14 = (int *)*piVar14;\n      if ((int *)*(int *)(puVar8 + 4) == piVar14) break;\n      piVar4 = (int *)piVar14[2];\n    }" { (expression_statement "uVar15 = auStack_90._4_4_;" (assignment_expression "uVar15 = auStack_90._4_4_" identifier = (field_expression "auStack_90._4_4_" identifier . field_identifier)) ;) (expression_statement "p_Var5 = (_Base_ptr)(**(code **)(*piVar4 + 0x30))(piVar4,puStack_60,puStack_64);" (assignment_expression "p_Var5 = (_Base_ptr)(**(code **)(*piVar4 + 0x30))(piVar4,puStack_60,puStack_64)" identifier = (call_expression "(_Base_ptr)(**(code **)(*piVar4 + 0x30))(piVar4,puStack_60,puStack_64)" (call_expression "(_Base_ptr)(**(code **)(*piVar4 + 0x30))" (parenthesized_expression "(_Base_ptr)" ( identifier )) (argument_list "(**(code **)(*piVar4 + 0x30))" ( (pointer_expression "**(code **)(*piVar4 + 0x30)" * (pointer_expression "*(code **)(*piVar4 + 0x30)" * (cast_expression "(code **)(*piVar4 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar4 + 0x30)" ( (binary_expression "*piVar4 + 0x30" (pointer_expression "*piVar4" * identifier) + number_literal) ))))) ))) (argument_list "(piVar4,puStack_60,puStack_64)" ( identifier , identifier , identifier )))) ;) (expression_statement "_Stack_80._M_left = p_Var5;" (assignment_expression "_Stack_80._M_left = p_Var5" (field_expression "_Stack_80._M_left" identifier . field_identifier) = identifier) ;) (if_statement "if (p_Var5 != (_Base_ptr)0x0) {\n        _Stack_80._M_right =\n             (_Base_ptr)(**(code **)(puVar23 + 0x22448c))(p_Var5[5]._M_left,p_Var5[5]._M_right);\n        p_Var1 = (_Rb_tree_node_base *)((uint)auStack_90._0_4_ >> 0x18);\n        if ((_Base_ptr)auStack_90._4_4_ == (_Base_ptr)0x0) {\n          if (p_Var1 != (_Rb_tree_node_base *)0x0) {\n            pcVar24 = *(code **)(puVar23 + 0x225c58);\n            if ((int)p_Var5[1]._M_color < 1) {\n              if ((p_Var5[1]._M_color != _S_red) || (p_Var5[1]._M_parent == (_Base_ptr)0x0))\n              goto LAB_00210e64;\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n            }\n            uVar15 = (*pcVar24)(iStack_54);\n            (**(code **)(puVar23 + 0x2221c4))(uVar15,_Stack_80._M_left[2]._M_parent);\n          }\nLAB_00210e64:\n          piVar4 = (int *)**(int **)(puVar8 + 0x10);\n          piVar7 = (int *)(*(int **)(puVar8 + 0x10))[1];\n          if (piVar4 != piVar7) {\n            iVar19 = *(int *)(*piVar4 + 0x30);\n            iVar2 = *(int *)(iVar19 + 0x198);\n            while (iVar2 != 1) {\n              piVar4 = piVar4 + 1;\n              if (piVar7 == piVar4) goto LAB_00210ecc;\n              iVar19 = *(int *)(*piVar4 + 0x30);\n              iVar2 = *(int *)(iVar19 + 0x198);\n            }\n            (**(code **)(puVar23 + 0x2223b0))(iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n          }\n        }\n        else {\n          p_Var5 = (_Base_ptr)*(_Rb_tree_color *)auStack_90._4_4_;\n          if (auStack_90._4_4_ != uVar15) {\n            _Stack_80._M_parent = (_Rb_tree_node_base *)0x0;\n          }\n          if (p_Var1 != (_Rb_tree_node_base *)0x0) {\n            _Stack_80._M_parent = p_Var1;\n          }\n          if (p_Var5 != *(_Base_ptr *)(auStack_90._4_4_ + 4)) {\n            iStack_6c = 0;\n            p_Var22 = (_Base_ptr)auStack_90._4_4_;\n            do {\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n              if (p_Stack_a0 == (_Link_type)0x0) {\nLAB_00211058:\n                uVar15 = (*pcVar24)(iStack_68);\n                (**(code **)(puVar23 + 0x2221c4))(uVar15,p_Var5->_M_color);\n                p_Var22 = (_Base_ptr)auStack_90._4_4_;\n              }\n              else {\n                p_Var20 = p_Var5->_M_parent;\n                _Var16 = p_Var5->_M_color;\n                p_Var10 = p_Stack_a0;\n                p_Var17 = p_Var11;\n                do {\n                  p_Var13 = *(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4);\n                  p_Var6 = p_Var20;\n                  if (p_Var13 <= p_Var20) {\n                    p_Var6 = p_Var13;\n                  }\n                  if ((p_Var6 == (_Base_ptr)0x0) ||\n                     (iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0)) {\n                    if (-1 < (int)p_Var13 - (int)p_Var20) goto LAB_00210f58;\nLAB_00211044:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;\n                  }\n                  else {\n                    if (iVar19 < 0) goto LAB_00211044;\nLAB_00210f58:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;\n                    p_Var17 = p_Var10;\n                  }\n                  p_Var10 = p_Var18;\n                } while (p_Var18 != (_Link_type)0x0);\n                pcVar24 = *(code **)(puVar23 + 0x225c58);\n                if (p_Var17 == p_Var11) goto LAB_00211058;\n                p_Var13 = *(_Base_ptr *)((p_Var17->_M_storage)._M_storage + 4);\n                p_Var6 = p_Var13;\n                if (p_Var20 <= p_Var13) {\n                  p_Var6 = p_Var20;\n                }\n                if ((p_Var6 == (_Base_ptr)0x0) ||\n                   (p_Stack_70 = p_Var13,\n                   iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      ), p_Var13 = p_Stack_70, iVar19 == 0)) {\n                  iVar19 = (int)p_Var20 - (int)p_Var13;\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                if (iVar19 < 0) goto LAB_00211058;\n                iVar19 = *(int *)((p_Var17->_M_storage)._M_storage + 0x18);\n                if (_Stack_80._M_parent == (_Rb_tree_node_base *)0x0) {\n                  if (*(int *)(iVar19 + 0x198) == 1) goto LAB_00210fcc;\n                  (**(code **)(puVar23 + 0x2223bc))(iVar19,_Stack_80._M_left,_Stack_80._M_right);\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n                else if (*(int *)(iVar19 + 0x198) == 1) {\nLAB_00210fcc:\n                  (**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n                  if (iStack_6c != 0) {\n                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);\n                    (**(code **)(puVar23 + 0x2221c4))(uVar15);\n                  }\n                  iStack_6c = 1;\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n              }\n              p_Var5 = (_Base_ptr)&p_Var5[1]._M_left;\n            } while (p_Var22->_M_parent != p_Var5);\n            if (iStack_6c != 0) goto LAB_00210ecc;\n          }\n          uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_50 + -0x56bc);\n          (**(code **)(puVar23 + 0x2221c4))(uVar15);\n        }\n      }" if (parenthesized_expression "(p_Var5 != (_Base_ptr)0x0)" ( (binary_expression "p_Var5 != (_Base_ptr)0x0" identifier != (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (compound_statement "{\n        _Stack_80._M_right =\n             (_Base_ptr)(**(code **)(puVar23 + 0x22448c))(p_Var5[5]._M_left,p_Var5[5]._M_right);\n        p_Var1 = (_Rb_tree_node_base *)((uint)auStack_90._0_4_ >> 0x18);\n        if ((_Base_ptr)auStack_90._4_4_ == (_Base_ptr)0x0) {\n          if (p_Var1 != (_Rb_tree_node_base *)0x0) {\n            pcVar24 = *(code **)(puVar23 + 0x225c58);\n            if ((int)p_Var5[1]._M_color < 1) {\n              if ((p_Var5[1]._M_color != _S_red) || (p_Var5[1]._M_parent == (_Base_ptr)0x0))\n              goto LAB_00210e64;\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n            }\n            uVar15 = (*pcVar24)(iStack_54);\n            (**(code **)(puVar23 + 0x2221c4))(uVar15,_Stack_80._M_left[2]._M_parent);\n          }\nLAB_00210e64:\n          piVar4 = (int *)**(int **)(puVar8 + 0x10);\n          piVar7 = (int *)(*(int **)(puVar8 + 0x10))[1];\n          if (piVar4 != piVar7) {\n            iVar19 = *(int *)(*piVar4 + 0x30);\n            iVar2 = *(int *)(iVar19 + 0x198);\n            while (iVar2 != 1) {\n              piVar4 = piVar4 + 1;\n              if (piVar7 == piVar4) goto LAB_00210ecc;\n              iVar19 = *(int *)(*piVar4 + 0x30);\n              iVar2 = *(int *)(iVar19 + 0x198);\n            }\n            (**(code **)(puVar23 + 0x2223b0))(iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n          }\n        }\n        else {\n          p_Var5 = (_Base_ptr)*(_Rb_tree_color *)auStack_90._4_4_;\n          if (auStack_90._4_4_ != uVar15) {\n            _Stack_80._M_parent = (_Rb_tree_node_base *)0x0;\n          }\n          if (p_Var1 != (_Rb_tree_node_base *)0x0) {\n            _Stack_80._M_parent = p_Var1;\n          }\n          if (p_Var5 != *(_Base_ptr *)(auStack_90._4_4_ + 4)) {\n            iStack_6c = 0;\n            p_Var22 = (_Base_ptr)auStack_90._4_4_;\n            do {\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n              if (p_Stack_a0 == (_Link_type)0x0) {\nLAB_00211058:\n                uVar15 = (*pcVar24)(iStack_68);\n                (**(code **)(puVar23 + 0x2221c4))(uVar15,p_Var5->_M_color);\n                p_Var22 = (_Base_ptr)auStack_90._4_4_;\n              }\n              else {\n                p_Var20 = p_Var5->_M_parent;\n                _Var16 = p_Var5->_M_color;\n                p_Var10 = p_Stack_a0;\n                p_Var17 = p_Var11;\n                do {\n                  p_Var13 = *(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4);\n                  p_Var6 = p_Var20;\n                  if (p_Var13 <= p_Var20) {\n                    p_Var6 = p_Var13;\n                  }\n                  if ((p_Var6 == (_Base_ptr)0x0) ||\n                     (iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0)) {\n                    if (-1 < (int)p_Var13 - (int)p_Var20) goto LAB_00210f58;\nLAB_00211044:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;\n                  }\n                  else {\n                    if (iVar19 < 0) goto LAB_00211044;\nLAB_00210f58:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;\n                    p_Var17 = p_Var10;\n                  }\n                  p_Var10 = p_Var18;\n                } while (p_Var18 != (_Link_type)0x0);\n                pcVar24 = *(code **)(puVar23 + 0x225c58);\n                if (p_Var17 == p_Var11) goto LAB_00211058;\n                p_Var13 = *(_Base_ptr *)((p_Var17->_M_storage)._M_storage + 4);\n                p_Var6 = p_Var13;\n                if (p_Var20 <= p_Var13) {\n                  p_Var6 = p_Var20;\n                }\n                if ((p_Var6 == (_Base_ptr)0x0) ||\n                   (p_Stack_70 = p_Var13,\n                   iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      ), p_Var13 = p_Stack_70, iVar19 == 0)) {\n                  iVar19 = (int)p_Var20 - (int)p_Var13;\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                if (iVar19 < 0) goto LAB_00211058;\n                iVar19 = *(int *)((p_Var17->_M_storage)._M_storage + 0x18);\n                if (_Stack_80._M_parent == (_Rb_tree_node_base *)0x0) {\n                  if (*(int *)(iVar19 + 0x198) == 1) goto LAB_00210fcc;\n                  (**(code **)(puVar23 + 0x2223bc))(iVar19,_Stack_80._M_left,_Stack_80._M_right);\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n                else if (*(int *)(iVar19 + 0x198) == 1) {\nLAB_00210fcc:\n                  (**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n                  if (iStack_6c != 0) {\n                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);\n                    (**(code **)(puVar23 + 0x2221c4))(uVar15);\n                  }\n                  iStack_6c = 1;\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n              }\n              p_Var5 = (_Base_ptr)&p_Var5[1]._M_left;\n            } while (p_Var22->_M_parent != p_Var5);\n            if (iStack_6c != 0) goto LAB_00210ecc;\n          }\n          uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_50 + -0x56bc);\n          (**(code **)(puVar23 + 0x2221c4))(uVar15);\n        }\n      }" { (expression_statement "_Stack_80._M_right =\n             (_Base_ptr)(**(code **)(puVar23 + 0x22448c))(p_Var5[5]._M_left,p_Var5[5]._M_right);" (assignment_expression "_Stack_80._M_right =\n             (_Base_ptr)(**(code **)(puVar23 + 0x22448c))(p_Var5[5]._M_left,p_Var5[5]._M_right)" (field_expression "_Stack_80._M_right" identifier . field_identifier) = (call_expression "(_Base_ptr)(**(code **)(puVar23 + 0x22448c))(p_Var5[5]._M_left,p_Var5[5]._M_right)" (call_expression "(_Base_ptr)(**(code **)(puVar23 + 0x22448c))" (parenthesized_expression "(_Base_ptr)" ( identifier )) (argument_list "(**(code **)(puVar23 + 0x22448c))" ( (pointer_expression "**(code **)(puVar23 + 0x22448c)" * (pointer_expression "*(code **)(puVar23 + 0x22448c)" * (cast_expression "(code **)(puVar23 + 0x22448c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x22448c)" ( (binary_expression "puVar23 + 0x22448c" identifier + number_literal) ))))) ))) (argument_list "(p_Var5[5]._M_left,p_Var5[5]._M_right)" ( (field_expression "p_Var5[5]._M_left" (subscript_expression "p_Var5[5]" identifier [ number_literal ]) . field_identifier) , (field_expression "p_Var5[5]._M_right" (subscript_expression "p_Var5[5]" identifier [ number_literal ]) . field_identifier) )))) ;) (expression_statement "p_Var1 = (_Rb_tree_node_base *)((uint)auStack_90._0_4_ >> 0x18);" (assignment_expression "p_Var1 = (_Rb_tree_node_base *)((uint)auStack_90._0_4_ >> 0x18)" identifier = (cast_expression "(_Rb_tree_node_base *)((uint)auStack_90._0_4_ >> 0x18)" ( (type_descriptor "_Rb_tree_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)auStack_90._0_4_ >> 0x18)" ( (binary_expression "(uint)auStack_90._0_4_ >> 0x18" (cast_expression "(uint)auStack_90._0_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "auStack_90._0_4_" identifier . field_identifier)) >> number_literal) )))) ;) (if_statement "if ((_Base_ptr)auStack_90._4_4_ == (_Base_ptr)0x0) {\n          if (p_Var1 != (_Rb_tree_node_base *)0x0) {\n            pcVar24 = *(code **)(puVar23 + 0x225c58);\n            if ((int)p_Var5[1]._M_color < 1) {\n              if ((p_Var5[1]._M_color != _S_red) || (p_Var5[1]._M_parent == (_Base_ptr)0x0))\n              goto LAB_00210e64;\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n            }\n            uVar15 = (*pcVar24)(iStack_54);\n            (**(code **)(puVar23 + 0x2221c4))(uVar15,_Stack_80._M_left[2]._M_parent);\n          }\nLAB_00210e64:\n          piVar4 = (int *)**(int **)(puVar8 + 0x10);\n          piVar7 = (int *)(*(int **)(puVar8 + 0x10))[1];\n          if (piVar4 != piVar7) {\n            iVar19 = *(int *)(*piVar4 + 0x30);\n            iVar2 = *(int *)(iVar19 + 0x198);\n            while (iVar2 != 1) {\n              piVar4 = piVar4 + 1;\n              if (piVar7 == piVar4) goto LAB_00210ecc;\n              iVar19 = *(int *)(*piVar4 + 0x30);\n              iVar2 = *(int *)(iVar19 + 0x198);\n            }\n            (**(code **)(puVar23 + 0x2223b0))(iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n          }\n        }\n        else {\n          p_Var5 = (_Base_ptr)*(_Rb_tree_color *)auStack_90._4_4_;\n          if (auStack_90._4_4_ != uVar15) {\n            _Stack_80._M_parent = (_Rb_tree_node_base *)0x0;\n          }\n          if (p_Var1 != (_Rb_tree_node_base *)0x0) {\n            _Stack_80._M_parent = p_Var1;\n          }\n          if (p_Var5 != *(_Base_ptr *)(auStack_90._4_4_ + 4)) {\n            iStack_6c = 0;\n            p_Var22 = (_Base_ptr)auStack_90._4_4_;\n            do {\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n              if (p_Stack_a0 == (_Link_type)0x0) {\nLAB_00211058:\n                uVar15 = (*pcVar24)(iStack_68);\n                (**(code **)(puVar23 + 0x2221c4))(uVar15,p_Var5->_M_color);\n                p_Var22 = (_Base_ptr)auStack_90._4_4_;\n              }\n              else {\n                p_Var20 = p_Var5->_M_parent;\n                _Var16 = p_Var5->_M_color;\n                p_Var10 = p_Stack_a0;\n                p_Var17 = p_Var11;\n                do {\n                  p_Var13 = *(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4);\n                  p_Var6 = p_Var20;\n                  if (p_Var13 <= p_Var20) {\n                    p_Var6 = p_Var13;\n                  }\n                  if ((p_Var6 == (_Base_ptr)0x0) ||\n                     (iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0)) {\n                    if (-1 < (int)p_Var13 - (int)p_Var20) goto LAB_00210f58;\nLAB_00211044:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;\n                  }\n                  else {\n                    if (iVar19 < 0) goto LAB_00211044;\nLAB_00210f58:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;\n                    p_Var17 = p_Var10;\n                  }\n                  p_Var10 = p_Var18;\n                } while (p_Var18 != (_Link_type)0x0);\n                pcVar24 = *(code **)(puVar23 + 0x225c58);\n                if (p_Var17 == p_Var11) goto LAB_00211058;\n                p_Var13 = *(_Base_ptr *)((p_Var17->_M_storage)._M_storage + 4);\n                p_Var6 = p_Var13;\n                if (p_Var20 <= p_Var13) {\n                  p_Var6 = p_Var20;\n                }\n                if ((p_Var6 == (_Base_ptr)0x0) ||\n                   (p_Stack_70 = p_Var13,\n                   iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      ), p_Var13 = p_Stack_70, iVar19 == 0)) {\n                  iVar19 = (int)p_Var20 - (int)p_Var13;\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                if (iVar19 < 0) goto LAB_00211058;\n                iVar19 = *(int *)((p_Var17->_M_storage)._M_storage + 0x18);\n                if (_Stack_80._M_parent == (_Rb_tree_node_base *)0x0) {\n                  if (*(int *)(iVar19 + 0x198) == 1) goto LAB_00210fcc;\n                  (**(code **)(puVar23 + 0x2223bc))(iVar19,_Stack_80._M_left,_Stack_80._M_right);\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n                else if (*(int *)(iVar19 + 0x198) == 1) {\nLAB_00210fcc:\n                  (**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n                  if (iStack_6c != 0) {\n                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);\n                    (**(code **)(puVar23 + 0x2221c4))(uVar15);\n                  }\n                  iStack_6c = 1;\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n              }\n              p_Var5 = (_Base_ptr)&p_Var5[1]._M_left;\n            } while (p_Var22->_M_parent != p_Var5);\n            if (iStack_6c != 0) goto LAB_00210ecc;\n          }\n          uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_50 + -0x56bc);\n          (**(code **)(puVar23 + 0x2221c4))(uVar15);\n        }" if (parenthesized_expression "((_Base_ptr)auStack_90._4_4_ == (_Base_ptr)0x0)" ( (binary_expression "(_Base_ptr)auStack_90._4_4_ == (_Base_ptr)0x0" (cast_expression "(_Base_ptr)auStack_90._4_4_" ( (type_descriptor "_Base_ptr" type_identifier) ) (field_expression "auStack_90._4_4_" identifier . field_identifier)) == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (compound_statement "{\n          if (p_Var1 != (_Rb_tree_node_base *)0x0) {\n            pcVar24 = *(code **)(puVar23 + 0x225c58);\n            if ((int)p_Var5[1]._M_color < 1) {\n              if ((p_Var5[1]._M_color != _S_red) || (p_Var5[1]._M_parent == (_Base_ptr)0x0))\n              goto LAB_00210e64;\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n            }\n            uVar15 = (*pcVar24)(iStack_54);\n            (**(code **)(puVar23 + 0x2221c4))(uVar15,_Stack_80._M_left[2]._M_parent);\n          }\nLAB_00210e64:\n          piVar4 = (int *)**(int **)(puVar8 + 0x10);\n          piVar7 = (int *)(*(int **)(puVar8 + 0x10))[1];\n          if (piVar4 != piVar7) {\n            iVar19 = *(int *)(*piVar4 + 0x30);\n            iVar2 = *(int *)(iVar19 + 0x198);\n            while (iVar2 != 1) {\n              piVar4 = piVar4 + 1;\n              if (piVar7 == piVar4) goto LAB_00210ecc;\n              iVar19 = *(int *)(*piVar4 + 0x30);\n              iVar2 = *(int *)(iVar19 + 0x198);\n            }\n            (**(code **)(puVar23 + 0x2223b0))(iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n          }\n        }" { (if_statement "if (p_Var1 != (_Rb_tree_node_base *)0x0) {\n            pcVar24 = *(code **)(puVar23 + 0x225c58);\n            if ((int)p_Var5[1]._M_color < 1) {\n              if ((p_Var5[1]._M_color != _S_red) || (p_Var5[1]._M_parent == (_Base_ptr)0x0))\n              goto LAB_00210e64;\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n            }\n            uVar15 = (*pcVar24)(iStack_54);\n            (**(code **)(puVar23 + 0x2221c4))(uVar15,_Stack_80._M_left[2]._M_parent);\n          }" if (parenthesized_expression "(p_Var1 != (_Rb_tree_node_base *)0x0)" ( (binary_expression "p_Var1 != (_Rb_tree_node_base *)0x0" identifier != (cast_expression "(_Rb_tree_node_base *)0x0" ( (type_descriptor "_Rb_tree_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar24 = *(code **)(puVar23 + 0x225c58);\n            if ((int)p_Var5[1]._M_color < 1) {\n              if ((p_Var5[1]._M_color != _S_red) || (p_Var5[1]._M_parent == (_Base_ptr)0x0))\n              goto LAB_00210e64;\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n            }\n            uVar15 = (*pcVar24)(iStack_54);\n            (**(code **)(puVar23 + 0x2221c4))(uVar15,_Stack_80._M_left[2]._M_parent);\n          }" { (expression_statement "pcVar24 = *(code **)(puVar23 + 0x225c58);" (assignment_expression "pcVar24 = *(code **)(puVar23 + 0x225c58)" identifier = (pointer_expression "*(code **)(puVar23 + 0x225c58)" * (cast_expression "(code **)(puVar23 + 0x225c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x225c58)" ( (binary_expression "puVar23 + 0x225c58" identifier + number_literal) ))))) ;) (if_statement "if ((int)p_Var5[1]._M_color < 1) {\n              if ((p_Var5[1]._M_color != _S_red) || (p_Var5[1]._M_parent == (_Base_ptr)0x0))\n              goto LAB_00210e64;\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n            }" if (parenthesized_expression "((int)p_Var5[1]._M_color < 1)" ( (binary_expression "(int)p_Var5[1]._M_color < 1" (cast_expression "(int)p_Var5[1]._M_color" ( (type_descriptor "int" primitive_type) ) (field_expression "p_Var5[1]._M_color" (subscript_expression "p_Var5[1]" identifier [ number_literal ]) . field_identifier)) < number_literal) )) (compound_statement "{\n              if ((p_Var5[1]._M_color != _S_red) || (p_Var5[1]._M_parent == (_Base_ptr)0x0))\n              goto LAB_00210e64;\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n            }" { (if_statement "if ((p_Var5[1]._M_color != _S_red) || (p_Var5[1]._M_parent == (_Base_ptr)0x0))\n              goto LAB_00210e64;" if (parenthesized_expression "((p_Var5[1]._M_color != _S_red) || (p_Var5[1]._M_parent == (_Base_ptr)0x0))" ( (binary_expression "(p_Var5[1]._M_color != _S_red) || (p_Var5[1]._M_parent == (_Base_ptr)0x0)" (parenthesized_expression "(p_Var5[1]._M_color != _S_red)" ( (binary_expression "p_Var5[1]._M_color != _S_red" (field_expression "p_Var5[1]._M_color" (subscript_expression "p_Var5[1]" identifier [ number_literal ]) . field_identifier) != identifier) )) || (parenthesized_expression "(p_Var5[1]._M_parent == (_Base_ptr)0x0)" ( (binary_expression "p_Var5[1]._M_parent == (_Base_ptr)0x0" (field_expression "p_Var5[1]._M_parent" (subscript_expression "p_Var5[1]" identifier [ number_literal ]) . field_identifier) == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) ))) )) (goto_statement "goto LAB_00210e64;" goto statement_identifier ;)) (expression_statement "pcVar24 = *(code **)(puVar23 + 0x225c58);" (assignment_expression "pcVar24 = *(code **)(puVar23 + 0x225c58)" identifier = (pointer_expression "*(code **)(puVar23 + 0x225c58)" * (cast_expression "(code **)(puVar23 + 0x225c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x225c58)" ( (binary_expression "puVar23 + 0x225c58" identifier + number_literal) ))))) ;) })) (expression_statement "uVar15 = (*pcVar24)(iStack_54);" (assignment_expression "uVar15 = (*pcVar24)(iStack_54)" identifier = (call_expression "(*pcVar24)(iStack_54)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(iStack_54)" ( identifier )))) ;) (expression_statement "(**(code **)(puVar23 + 0x2221c4))(uVar15,_Stack_80._M_left[2]._M_parent);" (call_expression "(**(code **)(puVar23 + 0x2221c4))(uVar15,_Stack_80._M_left[2]._M_parent)" (parenthesized_expression "(**(code **)(puVar23 + 0x2221c4))" ( (pointer_expression "**(code **)(puVar23 + 0x2221c4)" * (pointer_expression "*(code **)(puVar23 + 0x2221c4)" * (cast_expression "(code **)(puVar23 + 0x2221c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x2221c4)" ( (binary_expression "puVar23 + 0x2221c4" identifier + number_literal) ))))) )) (argument_list "(uVar15,_Stack_80._M_left[2]._M_parent)" ( identifier , (field_expression "_Stack_80._M_left[2]._M_parent" (subscript_expression "_Stack_80._M_left[2]" (field_expression "_Stack_80._M_left" identifier . field_identifier) [ number_literal ]) . field_identifier) ))) ;) })) (labeled_statement "LAB_00210e64:\n          piVar4 = (int *)**(int **)(puVar8 + 0x10);" statement_identifier : (expression_statement "piVar4 = (int *)**(int **)(puVar8 + 0x10);" (assignment_expression "piVar4 = (int *)**(int **)(puVar8 + 0x10)" identifier = (cast_expression "(int *)**(int **)(puVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(puVar8 + 0x10)" * (pointer_expression "*(int **)(puVar8 + 0x10)" * (cast_expression "(int **)(puVar8 + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x10)" ( (binary_expression "puVar8 + 0x10" identifier + number_literal) ))))))) ;)) (expression_statement "piVar7 = (int *)(*(int **)(puVar8 + 0x10))[1];" (assignment_expression "piVar7 = (int *)(*(int **)(puVar8 + 0x10))[1]" identifier = (cast_expression "(int *)(*(int **)(puVar8 + 0x10))[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*(int **)(puVar8 + 0x10))[1]" (parenthesized_expression "(*(int **)(puVar8 + 0x10))" ( (pointer_expression "*(int **)(puVar8 + 0x10)" * (cast_expression "(int **)(puVar8 + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x10)" ( (binary_expression "puVar8 + 0x10" identifier + number_literal) )))) )) [ number_literal ]))) ;) (if_statement "if (piVar4 != piVar7) {\n            iVar19 = *(int *)(*piVar4 + 0x30);\n            iVar2 = *(int *)(iVar19 + 0x198);\n            while (iVar2 != 1) {\n              piVar4 = piVar4 + 1;\n              if (piVar7 == piVar4) goto LAB_00210ecc;\n              iVar19 = *(int *)(*piVar4 + 0x30);\n              iVar2 = *(int *)(iVar19 + 0x198);\n            }\n            (**(code **)(puVar23 + 0x2223b0))(iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n          }" if (parenthesized_expression "(piVar4 != piVar7)" ( (binary_expression "piVar4 != piVar7" identifier != identifier) )) (compound_statement "{\n            iVar19 = *(int *)(*piVar4 + 0x30);\n            iVar2 = *(int *)(iVar19 + 0x198);\n            while (iVar2 != 1) {\n              piVar4 = piVar4 + 1;\n              if (piVar7 == piVar4) goto LAB_00210ecc;\n              iVar19 = *(int *)(*piVar4 + 0x30);\n              iVar2 = *(int *)(iVar19 + 0x198);\n            }\n            (**(code **)(puVar23 + 0x2223b0))(iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n          }" { (expression_statement "iVar19 = *(int *)(*piVar4 + 0x30);" (assignment_expression "iVar19 = *(int *)(*piVar4 + 0x30)" identifier = (pointer_expression "*(int *)(*piVar4 + 0x30)" * (cast_expression "(int *)(*piVar4 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar4 + 0x30)" ( (binary_expression "*piVar4 + 0x30" (pointer_expression "*piVar4" * identifier) + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(iVar19 + 0x198);" (assignment_expression "iVar2 = *(int *)(iVar19 + 0x198)" identifier = (pointer_expression "*(int *)(iVar19 + 0x198)" * (cast_expression "(int *)(iVar19 + 0x198)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x198)" ( (binary_expression "iVar19 + 0x198" identifier + number_literal) ))))) ;) (while_statement "while (iVar2 != 1) {\n              piVar4 = piVar4 + 1;\n              if (piVar7 == piVar4) goto LAB_00210ecc;\n              iVar19 = *(int *)(*piVar4 + 0x30);\n              iVar2 = *(int *)(iVar19 + 0x198);\n            }" while (parenthesized_expression "(iVar2 != 1)" ( (binary_expression "iVar2 != 1" identifier != number_literal) )) (compound_statement "{\n              piVar4 = piVar4 + 1;\n              if (piVar7 == piVar4) goto LAB_00210ecc;\n              iVar19 = *(int *)(*piVar4 + 0x30);\n              iVar2 = *(int *)(iVar19 + 0x198);\n            }" { (expression_statement "piVar4 = piVar4 + 1;" (assignment_expression "piVar4 = piVar4 + 1" identifier = (binary_expression "piVar4 + 1" identifier + number_literal)) ;) (if_statement "if (piVar7 == piVar4) goto LAB_00210ecc;" if (parenthesized_expression "(piVar7 == piVar4)" ( (binary_expression "piVar7 == piVar4" identifier == identifier) )) (goto_statement "goto LAB_00210ecc;" goto statement_identifier ;)) (expression_statement "iVar19 = *(int *)(*piVar4 + 0x30);" (assignment_expression "iVar19 = *(int *)(*piVar4 + 0x30)" identifier = (pointer_expression "*(int *)(*piVar4 + 0x30)" * (cast_expression "(int *)(*piVar4 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar4 + 0x30)" ( (binary_expression "*piVar4 + 0x30" (pointer_expression "*piVar4" * identifier) + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(iVar19 + 0x198);" (assignment_expression "iVar2 = *(int *)(iVar19 + 0x198)" identifier = (pointer_expression "*(int *)(iVar19 + 0x198)" * (cast_expression "(int *)(iVar19 + 0x198)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x198)" ( (binary_expression "iVar19 + 0x198" identifier + number_literal) ))))) ;) })) (expression_statement "(**(code **)(puVar23 + 0x2223b0))(iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);" (call_expression "(**(code **)(puVar23 + 0x2223b0))(iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right)" (parenthesized_expression "(**(code **)(puVar23 + 0x2223b0))" ( (pointer_expression "**(code **)(puVar23 + 0x2223b0)" * (pointer_expression "*(code **)(puVar23 + 0x2223b0)" * (cast_expression "(code **)(puVar23 + 0x2223b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x2223b0)" ( (binary_expression "puVar23 + 0x2223b0" identifier + number_literal) ))))) )) (argument_list "(iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right)" ( identifier , identifier , (field_expression "_Stack_80._M_left" identifier . field_identifier) , (field_expression "_Stack_80._M_right" identifier . field_identifier) ))) ;) })) }) (else_clause "else {\n          p_Var5 = (_Base_ptr)*(_Rb_tree_color *)auStack_90._4_4_;\n          if (auStack_90._4_4_ != uVar15) {\n            _Stack_80._M_parent = (_Rb_tree_node_base *)0x0;\n          }\n          if (p_Var1 != (_Rb_tree_node_base *)0x0) {\n            _Stack_80._M_parent = p_Var1;\n          }\n          if (p_Var5 != *(_Base_ptr *)(auStack_90._4_4_ + 4)) {\n            iStack_6c = 0;\n            p_Var22 = (_Base_ptr)auStack_90._4_4_;\n            do {\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n              if (p_Stack_a0 == (_Link_type)0x0) {\nLAB_00211058:\n                uVar15 = (*pcVar24)(iStack_68);\n                (**(code **)(puVar23 + 0x2221c4))(uVar15,p_Var5->_M_color);\n                p_Var22 = (_Base_ptr)auStack_90._4_4_;\n              }\n              else {\n                p_Var20 = p_Var5->_M_parent;\n                _Var16 = p_Var5->_M_color;\n                p_Var10 = p_Stack_a0;\n                p_Var17 = p_Var11;\n                do {\n                  p_Var13 = *(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4);\n                  p_Var6 = p_Var20;\n                  if (p_Var13 <= p_Var20) {\n                    p_Var6 = p_Var13;\n                  }\n                  if ((p_Var6 == (_Base_ptr)0x0) ||\n                     (iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0)) {\n                    if (-1 < (int)p_Var13 - (int)p_Var20) goto LAB_00210f58;\nLAB_00211044:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;\n                  }\n                  else {\n                    if (iVar19 < 0) goto LAB_00211044;\nLAB_00210f58:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;\n                    p_Var17 = p_Var10;\n                  }\n                  p_Var10 = p_Var18;\n                } while (p_Var18 != (_Link_type)0x0);\n                pcVar24 = *(code **)(puVar23 + 0x225c58);\n                if (p_Var17 == p_Var11) goto LAB_00211058;\n                p_Var13 = *(_Base_ptr *)((p_Var17->_M_storage)._M_storage + 4);\n                p_Var6 = p_Var13;\n                if (p_Var20 <= p_Var13) {\n                  p_Var6 = p_Var20;\n                }\n                if ((p_Var6 == (_Base_ptr)0x0) ||\n                   (p_Stack_70 = p_Var13,\n                   iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      ), p_Var13 = p_Stack_70, iVar19 == 0)) {\n                  iVar19 = (int)p_Var20 - (int)p_Var13;\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                if (iVar19 < 0) goto LAB_00211058;\n                iVar19 = *(int *)((p_Var17->_M_storage)._M_storage + 0x18);\n                if (_Stack_80._M_parent == (_Rb_tree_node_base *)0x0) {\n                  if (*(int *)(iVar19 + 0x198) == 1) goto LAB_00210fcc;\n                  (**(code **)(puVar23 + 0x2223bc))(iVar19,_Stack_80._M_left,_Stack_80._M_right);\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n                else if (*(int *)(iVar19 + 0x198) == 1) {\nLAB_00210fcc:\n                  (**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n                  if (iStack_6c != 0) {\n                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);\n                    (**(code **)(puVar23 + 0x2221c4))(uVar15);\n                  }\n                  iStack_6c = 1;\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n              }\n              p_Var5 = (_Base_ptr)&p_Var5[1]._M_left;\n            } while (p_Var22->_M_parent != p_Var5);\n            if (iStack_6c != 0) goto LAB_00210ecc;\n          }\n          uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_50 + -0x56bc);\n          (**(code **)(puVar23 + 0x2221c4))(uVar15);\n        }" else (compound_statement "{\n          p_Var5 = (_Base_ptr)*(_Rb_tree_color *)auStack_90._4_4_;\n          if (auStack_90._4_4_ != uVar15) {\n            _Stack_80._M_parent = (_Rb_tree_node_base *)0x0;\n          }\n          if (p_Var1 != (_Rb_tree_node_base *)0x0) {\n            _Stack_80._M_parent = p_Var1;\n          }\n          if (p_Var5 != *(_Base_ptr *)(auStack_90._4_4_ + 4)) {\n            iStack_6c = 0;\n            p_Var22 = (_Base_ptr)auStack_90._4_4_;\n            do {\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n              if (p_Stack_a0 == (_Link_type)0x0) {\nLAB_00211058:\n                uVar15 = (*pcVar24)(iStack_68);\n                (**(code **)(puVar23 + 0x2221c4))(uVar15,p_Var5->_M_color);\n                p_Var22 = (_Base_ptr)auStack_90._4_4_;\n              }\n              else {\n                p_Var20 = p_Var5->_M_parent;\n                _Var16 = p_Var5->_M_color;\n                p_Var10 = p_Stack_a0;\n                p_Var17 = p_Var11;\n                do {\n                  p_Var13 = *(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4);\n                  p_Var6 = p_Var20;\n                  if (p_Var13 <= p_Var20) {\n                    p_Var6 = p_Var13;\n                  }\n                  if ((p_Var6 == (_Base_ptr)0x0) ||\n                     (iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0)) {\n                    if (-1 < (int)p_Var13 - (int)p_Var20) goto LAB_00210f58;\nLAB_00211044:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;\n                  }\n                  else {\n                    if (iVar19 < 0) goto LAB_00211044;\nLAB_00210f58:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;\n                    p_Var17 = p_Var10;\n                  }\n                  p_Var10 = p_Var18;\n                } while (p_Var18 != (_Link_type)0x0);\n                pcVar24 = *(code **)(puVar23 + 0x225c58);\n                if (p_Var17 == p_Var11) goto LAB_00211058;\n                p_Var13 = *(_Base_ptr *)((p_Var17->_M_storage)._M_storage + 4);\n                p_Var6 = p_Var13;\n                if (p_Var20 <= p_Var13) {\n                  p_Var6 = p_Var20;\n                }\n                if ((p_Var6 == (_Base_ptr)0x0) ||\n                   (p_Stack_70 = p_Var13,\n                   iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      ), p_Var13 = p_Stack_70, iVar19 == 0)) {\n                  iVar19 = (int)p_Var20 - (int)p_Var13;\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                if (iVar19 < 0) goto LAB_00211058;\n                iVar19 = *(int *)((p_Var17->_M_storage)._M_storage + 0x18);\n                if (_Stack_80._M_parent == (_Rb_tree_node_base *)0x0) {\n                  if (*(int *)(iVar19 + 0x198) == 1) goto LAB_00210fcc;\n                  (**(code **)(puVar23 + 0x2223bc))(iVar19,_Stack_80._M_left,_Stack_80._M_right);\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n                else if (*(int *)(iVar19 + 0x198) == 1) {\nLAB_00210fcc:\n                  (**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n                  if (iStack_6c != 0) {\n                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);\n                    (**(code **)(puVar23 + 0x2221c4))(uVar15);\n                  }\n                  iStack_6c = 1;\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n              }\n              p_Var5 = (_Base_ptr)&p_Var5[1]._M_left;\n            } while (p_Var22->_M_parent != p_Var5);\n            if (iStack_6c != 0) goto LAB_00210ecc;\n          }\n          uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_50 + -0x56bc);\n          (**(code **)(puVar23 + 0x2221c4))(uVar15);\n        }" { (expression_statement "p_Var5 = (_Base_ptr)*(_Rb_tree_color *)auStack_90._4_4_;" (assignment_expression "p_Var5 = (_Base_ptr)*(_Rb_tree_color *)auStack_90._4_4_" identifier = (binary_expression "(_Base_ptr)*(_Rb_tree_color *)auStack_90._4_4_" (parenthesized_expression "(_Base_ptr)" ( identifier )) * (cast_expression "(_Rb_tree_color *)auStack_90._4_4_" ( (type_descriptor "_Rb_tree_color *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_90._4_4_" identifier . field_identifier)))) ;) (if_statement "if (auStack_90._4_4_ != uVar15) {\n            _Stack_80._M_parent = (_Rb_tree_node_base *)0x0;\n          }" if (parenthesized_expression "(auStack_90._4_4_ != uVar15)" ( (binary_expression "auStack_90._4_4_ != uVar15" (field_expression "auStack_90._4_4_" identifier . field_identifier) != identifier) )) (compound_statement "{\n            _Stack_80._M_parent = (_Rb_tree_node_base *)0x0;\n          }" { (expression_statement "_Stack_80._M_parent = (_Rb_tree_node_base *)0x0;" (assignment_expression "_Stack_80._M_parent = (_Rb_tree_node_base *)0x0" (field_expression "_Stack_80._M_parent" identifier . field_identifier) = (cast_expression "(_Rb_tree_node_base *)0x0" ( (type_descriptor "_Rb_tree_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (if_statement "if (p_Var1 != (_Rb_tree_node_base *)0x0) {\n            _Stack_80._M_parent = p_Var1;\n          }" if (parenthesized_expression "(p_Var1 != (_Rb_tree_node_base *)0x0)" ( (binary_expression "p_Var1 != (_Rb_tree_node_base *)0x0" identifier != (cast_expression "(_Rb_tree_node_base *)0x0" ( (type_descriptor "_Rb_tree_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            _Stack_80._M_parent = p_Var1;\n          }" { (expression_statement "_Stack_80._M_parent = p_Var1;" (assignment_expression "_Stack_80._M_parent = p_Var1" (field_expression "_Stack_80._M_parent" identifier . field_identifier) = identifier) ;) })) (if_statement "if (p_Var5 != *(_Base_ptr *)(auStack_90._4_4_ + 4)) {\n            iStack_6c = 0;\n            p_Var22 = (_Base_ptr)auStack_90._4_4_;\n            do {\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n              if (p_Stack_a0 == (_Link_type)0x0) {\nLAB_00211058:\n                uVar15 = (*pcVar24)(iStack_68);\n                (**(code **)(puVar23 + 0x2221c4))(uVar15,p_Var5->_M_color);\n                p_Var22 = (_Base_ptr)auStack_90._4_4_;\n              }\n              else {\n                p_Var20 = p_Var5->_M_parent;\n                _Var16 = p_Var5->_M_color;\n                p_Var10 = p_Stack_a0;\n                p_Var17 = p_Var11;\n                do {\n                  p_Var13 = *(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4);\n                  p_Var6 = p_Var20;\n                  if (p_Var13 <= p_Var20) {\n                    p_Var6 = p_Var13;\n                  }\n                  if ((p_Var6 == (_Base_ptr)0x0) ||\n                     (iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0)) {\n                    if (-1 < (int)p_Var13 - (int)p_Var20) goto LAB_00210f58;\nLAB_00211044:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;\n                  }\n                  else {\n                    if (iVar19 < 0) goto LAB_00211044;\nLAB_00210f58:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;\n                    p_Var17 = p_Var10;\n                  }\n                  p_Var10 = p_Var18;\n                } while (p_Var18 != (_Link_type)0x0);\n                pcVar24 = *(code **)(puVar23 + 0x225c58);\n                if (p_Var17 == p_Var11) goto LAB_00211058;\n                p_Var13 = *(_Base_ptr *)((p_Var17->_M_storage)._M_storage + 4);\n                p_Var6 = p_Var13;\n                if (p_Var20 <= p_Var13) {\n                  p_Var6 = p_Var20;\n                }\n                if ((p_Var6 == (_Base_ptr)0x0) ||\n                   (p_Stack_70 = p_Var13,\n                   iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      ), p_Var13 = p_Stack_70, iVar19 == 0)) {\n                  iVar19 = (int)p_Var20 - (int)p_Var13;\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                if (iVar19 < 0) goto LAB_00211058;\n                iVar19 = *(int *)((p_Var17->_M_storage)._M_storage + 0x18);\n                if (_Stack_80._M_parent == (_Rb_tree_node_base *)0x0) {\n                  if (*(int *)(iVar19 + 0x198) == 1) goto LAB_00210fcc;\n                  (**(code **)(puVar23 + 0x2223bc))(iVar19,_Stack_80._M_left,_Stack_80._M_right);\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n                else if (*(int *)(iVar19 + 0x198) == 1) {\nLAB_00210fcc:\n                  (**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n                  if (iStack_6c != 0) {\n                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);\n                    (**(code **)(puVar23 + 0x2221c4))(uVar15);\n                  }\n                  iStack_6c = 1;\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n              }\n              p_Var5 = (_Base_ptr)&p_Var5[1]._M_left;\n            } while (p_Var22->_M_parent != p_Var5);\n            if (iStack_6c != 0) goto LAB_00210ecc;\n          }" if (parenthesized_expression "(p_Var5 != *(_Base_ptr *)(auStack_90._4_4_ + 4))" ( (binary_expression "p_Var5 != *(_Base_ptr *)(auStack_90._4_4_ + 4)" identifier != (pointer_expression "*(_Base_ptr *)(auStack_90._4_4_ + 4)" * (cast_expression "(_Base_ptr *)(auStack_90._4_4_ + 4)" ( (type_descriptor "_Base_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_90._4_4_ + 4)" ( (binary_expression "auStack_90._4_4_ + 4" (field_expression "auStack_90._4_4_" identifier . field_identifier) + number_literal) ))))) )) (compound_statement "{\n            iStack_6c = 0;\n            p_Var22 = (_Base_ptr)auStack_90._4_4_;\n            do {\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n              if (p_Stack_a0 == (_Link_type)0x0) {\nLAB_00211058:\n                uVar15 = (*pcVar24)(iStack_68);\n                (**(code **)(puVar23 + 0x2221c4))(uVar15,p_Var5->_M_color);\n                p_Var22 = (_Base_ptr)auStack_90._4_4_;\n              }\n              else {\n                p_Var20 = p_Var5->_M_parent;\n                _Var16 = p_Var5->_M_color;\n                p_Var10 = p_Stack_a0;\n                p_Var17 = p_Var11;\n                do {\n                  p_Var13 = *(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4);\n                  p_Var6 = p_Var20;\n                  if (p_Var13 <= p_Var20) {\n                    p_Var6 = p_Var13;\n                  }\n                  if ((p_Var6 == (_Base_ptr)0x0) ||\n                     (iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0)) {\n                    if (-1 < (int)p_Var13 - (int)p_Var20) goto LAB_00210f58;\nLAB_00211044:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;\n                  }\n                  else {\n                    if (iVar19 < 0) goto LAB_00211044;\nLAB_00210f58:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;\n                    p_Var17 = p_Var10;\n                  }\n                  p_Var10 = p_Var18;\n                } while (p_Var18 != (_Link_type)0x0);\n                pcVar24 = *(code **)(puVar23 + 0x225c58);\n                if (p_Var17 == p_Var11) goto LAB_00211058;\n                p_Var13 = *(_Base_ptr *)((p_Var17->_M_storage)._M_storage + 4);\n                p_Var6 = p_Var13;\n                if (p_Var20 <= p_Var13) {\n                  p_Var6 = p_Var20;\n                }\n                if ((p_Var6 == (_Base_ptr)0x0) ||\n                   (p_Stack_70 = p_Var13,\n                   iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      ), p_Var13 = p_Stack_70, iVar19 == 0)) {\n                  iVar19 = (int)p_Var20 - (int)p_Var13;\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                if (iVar19 < 0) goto LAB_00211058;\n                iVar19 = *(int *)((p_Var17->_M_storage)._M_storage + 0x18);\n                if (_Stack_80._M_parent == (_Rb_tree_node_base *)0x0) {\n                  if (*(int *)(iVar19 + 0x198) == 1) goto LAB_00210fcc;\n                  (**(code **)(puVar23 + 0x2223bc))(iVar19,_Stack_80._M_left,_Stack_80._M_right);\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n                else if (*(int *)(iVar19 + 0x198) == 1) {\nLAB_00210fcc:\n                  (**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n                  if (iStack_6c != 0) {\n                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);\n                    (**(code **)(puVar23 + 0x2221c4))(uVar15);\n                  }\n                  iStack_6c = 1;\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n              }\n              p_Var5 = (_Base_ptr)&p_Var5[1]._M_left;\n            } while (p_Var22->_M_parent != p_Var5);\n            if (iStack_6c != 0) goto LAB_00210ecc;\n          }" { (expression_statement "iStack_6c = 0;" (assignment_expression "iStack_6c = 0" identifier = number_literal) ;) (expression_statement "p_Var22 = (_Base_ptr)auStack_90._4_4_;" (assignment_expression "p_Var22 = (_Base_ptr)auStack_90._4_4_" identifier = (cast_expression "(_Base_ptr)auStack_90._4_4_" ( (type_descriptor "_Base_ptr" type_identifier) ) (field_expression "auStack_90._4_4_" identifier . field_identifier))) ;) (do_statement "do {\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n              if (p_Stack_a0 == (_Link_type)0x0) {\nLAB_00211058:\n                uVar15 = (*pcVar24)(iStack_68);\n                (**(code **)(puVar23 + 0x2221c4))(uVar15,p_Var5->_M_color);\n                p_Var22 = (_Base_ptr)auStack_90._4_4_;\n              }\n              else {\n                p_Var20 = p_Var5->_M_parent;\n                _Var16 = p_Var5->_M_color;\n                p_Var10 = p_Stack_a0;\n                p_Var17 = p_Var11;\n                do {\n                  p_Var13 = *(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4);\n                  p_Var6 = p_Var20;\n                  if (p_Var13 <= p_Var20) {\n                    p_Var6 = p_Var13;\n                  }\n                  if ((p_Var6 == (_Base_ptr)0x0) ||\n                     (iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0)) {\n                    if (-1 < (int)p_Var13 - (int)p_Var20) goto LAB_00210f58;\nLAB_00211044:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;\n                  }\n                  else {\n                    if (iVar19 < 0) goto LAB_00211044;\nLAB_00210f58:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;\n                    p_Var17 = p_Var10;\n                  }\n                  p_Var10 = p_Var18;\n                } while (p_Var18 != (_Link_type)0x0);\n                pcVar24 = *(code **)(puVar23 + 0x225c58);\n                if (p_Var17 == p_Var11) goto LAB_00211058;\n                p_Var13 = *(_Base_ptr *)((p_Var17->_M_storage)._M_storage + 4);\n                p_Var6 = p_Var13;\n                if (p_Var20 <= p_Var13) {\n                  p_Var6 = p_Var20;\n                }\n                if ((p_Var6 == (_Base_ptr)0x0) ||\n                   (p_Stack_70 = p_Var13,\n                   iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      ), p_Var13 = p_Stack_70, iVar19 == 0)) {\n                  iVar19 = (int)p_Var20 - (int)p_Var13;\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                if (iVar19 < 0) goto LAB_00211058;\n                iVar19 = *(int *)((p_Var17->_M_storage)._M_storage + 0x18);\n                if (_Stack_80._M_parent == (_Rb_tree_node_base *)0x0) {\n                  if (*(int *)(iVar19 + 0x198) == 1) goto LAB_00210fcc;\n                  (**(code **)(puVar23 + 0x2223bc))(iVar19,_Stack_80._M_left,_Stack_80._M_right);\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n                else if (*(int *)(iVar19 + 0x198) == 1) {\nLAB_00210fcc:\n                  (**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n                  if (iStack_6c != 0) {\n                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);\n                    (**(code **)(puVar23 + 0x2221c4))(uVar15);\n                  }\n                  iStack_6c = 1;\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n              }\n              p_Var5 = (_Base_ptr)&p_Var5[1]._M_left;\n            } while (p_Var22->_M_parent != p_Var5);" do (compound_statement "{\n              pcVar24 = *(code **)(puVar23 + 0x225c58);\n              if (p_Stack_a0 == (_Link_type)0x0) {\nLAB_00211058:\n                uVar15 = (*pcVar24)(iStack_68);\n                (**(code **)(puVar23 + 0x2221c4))(uVar15,p_Var5->_M_color);\n                p_Var22 = (_Base_ptr)auStack_90._4_4_;\n              }\n              else {\n                p_Var20 = p_Var5->_M_parent;\n                _Var16 = p_Var5->_M_color;\n                p_Var10 = p_Stack_a0;\n                p_Var17 = p_Var11;\n                do {\n                  p_Var13 = *(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4);\n                  p_Var6 = p_Var20;\n                  if (p_Var13 <= p_Var20) {\n                    p_Var6 = p_Var13;\n                  }\n                  if ((p_Var6 == (_Base_ptr)0x0) ||\n                     (iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0)) {\n                    if (-1 < (int)p_Var13 - (int)p_Var20) goto LAB_00210f58;\nLAB_00211044:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;\n                  }\n                  else {\n                    if (iVar19 < 0) goto LAB_00211044;\nLAB_00210f58:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;\n                    p_Var17 = p_Var10;\n                  }\n                  p_Var10 = p_Var18;\n                } while (p_Var18 != (_Link_type)0x0);\n                pcVar24 = *(code **)(puVar23 + 0x225c58);\n                if (p_Var17 == p_Var11) goto LAB_00211058;\n                p_Var13 = *(_Base_ptr *)((p_Var17->_M_storage)._M_storage + 4);\n                p_Var6 = p_Var13;\n                if (p_Var20 <= p_Var13) {\n                  p_Var6 = p_Var20;\n                }\n                if ((p_Var6 == (_Base_ptr)0x0) ||\n                   (p_Stack_70 = p_Var13,\n                   iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      ), p_Var13 = p_Stack_70, iVar19 == 0)) {\n                  iVar19 = (int)p_Var20 - (int)p_Var13;\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                if (iVar19 < 0) goto LAB_00211058;\n                iVar19 = *(int *)((p_Var17->_M_storage)._M_storage + 0x18);\n                if (_Stack_80._M_parent == (_Rb_tree_node_base *)0x0) {\n                  if (*(int *)(iVar19 + 0x198) == 1) goto LAB_00210fcc;\n                  (**(code **)(puVar23 + 0x2223bc))(iVar19,_Stack_80._M_left,_Stack_80._M_right);\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n                else if (*(int *)(iVar19 + 0x198) == 1) {\nLAB_00210fcc:\n                  (**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n                  if (iStack_6c != 0) {\n                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);\n                    (**(code **)(puVar23 + 0x2221c4))(uVar15);\n                  }\n                  iStack_6c = 1;\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n              }\n              p_Var5 = (_Base_ptr)&p_Var5[1]._M_left;\n            }" { (expression_statement "pcVar24 = *(code **)(puVar23 + 0x225c58);" (assignment_expression "pcVar24 = *(code **)(puVar23 + 0x225c58)" identifier = (pointer_expression "*(code **)(puVar23 + 0x225c58)" * (cast_expression "(code **)(puVar23 + 0x225c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x225c58)" ( (binary_expression "puVar23 + 0x225c58" identifier + number_literal) ))))) ;) (if_statement "if (p_Stack_a0 == (_Link_type)0x0) {\nLAB_00211058:\n                uVar15 = (*pcVar24)(iStack_68);\n                (**(code **)(puVar23 + 0x2221c4))(uVar15,p_Var5->_M_color);\n                p_Var22 = (_Base_ptr)auStack_90._4_4_;\n              }\n              else {\n                p_Var20 = p_Var5->_M_parent;\n                _Var16 = p_Var5->_M_color;\n                p_Var10 = p_Stack_a0;\n                p_Var17 = p_Var11;\n                do {\n                  p_Var13 = *(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4);\n                  p_Var6 = p_Var20;\n                  if (p_Var13 <= p_Var20) {\n                    p_Var6 = p_Var13;\n                  }\n                  if ((p_Var6 == (_Base_ptr)0x0) ||\n                     (iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0)) {\n                    if (-1 < (int)p_Var13 - (int)p_Var20) goto LAB_00210f58;\nLAB_00211044:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;\n                  }\n                  else {\n                    if (iVar19 < 0) goto LAB_00211044;\nLAB_00210f58:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;\n                    p_Var17 = p_Var10;\n                  }\n                  p_Var10 = p_Var18;\n                } while (p_Var18 != (_Link_type)0x0);\n                pcVar24 = *(code **)(puVar23 + 0x225c58);\n                if (p_Var17 == p_Var11) goto LAB_00211058;\n                p_Var13 = *(_Base_ptr *)((p_Var17->_M_storage)._M_storage + 4);\n                p_Var6 = p_Var13;\n                if (p_Var20 <= p_Var13) {\n                  p_Var6 = p_Var20;\n                }\n                if ((p_Var6 == (_Base_ptr)0x0) ||\n                   (p_Stack_70 = p_Var13,\n                   iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      ), p_Var13 = p_Stack_70, iVar19 == 0)) {\n                  iVar19 = (int)p_Var20 - (int)p_Var13;\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                if (iVar19 < 0) goto LAB_00211058;\n                iVar19 = *(int *)((p_Var17->_M_storage)._M_storage + 0x18);\n                if (_Stack_80._M_parent == (_Rb_tree_node_base *)0x0) {\n                  if (*(int *)(iVar19 + 0x198) == 1) goto LAB_00210fcc;\n                  (**(code **)(puVar23 + 0x2223bc))(iVar19,_Stack_80._M_left,_Stack_80._M_right);\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n                else if (*(int *)(iVar19 + 0x198) == 1) {\nLAB_00210fcc:\n                  (**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n                  if (iStack_6c != 0) {\n                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);\n                    (**(code **)(puVar23 + 0x2221c4))(uVar15);\n                  }\n                  iStack_6c = 1;\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n              }" if (parenthesized_expression "(p_Stack_a0 == (_Link_type)0x0)" ( (binary_expression "p_Stack_a0 == (_Link_type)0x0" identifier == (cast_expression "(_Link_type)0x0" ( (type_descriptor "_Link_type" type_identifier) ) number_literal)) )) (compound_statement "{\nLAB_00211058:\n                uVar15 = (*pcVar24)(iStack_68);\n                (**(code **)(puVar23 + 0x2221c4))(uVar15,p_Var5->_M_color);\n                p_Var22 = (_Base_ptr)auStack_90._4_4_;\n              }" { (labeled_statement "LAB_00211058:\n                uVar15 = (*pcVar24)(iStack_68);" statement_identifier : (expression_statement "uVar15 = (*pcVar24)(iStack_68);" (assignment_expression "uVar15 = (*pcVar24)(iStack_68)" identifier = (call_expression "(*pcVar24)(iStack_68)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(iStack_68)" ( identifier )))) ;)) (expression_statement "(**(code **)(puVar23 + 0x2221c4))(uVar15,p_Var5->_M_color);" (call_expression "(**(code **)(puVar23 + 0x2221c4))(uVar15,p_Var5->_M_color)" (parenthesized_expression "(**(code **)(puVar23 + 0x2221c4))" ( (pointer_expression "**(code **)(puVar23 + 0x2221c4)" * (pointer_expression "*(code **)(puVar23 + 0x2221c4)" * (cast_expression "(code **)(puVar23 + 0x2221c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x2221c4)" ( (binary_expression "puVar23 + 0x2221c4" identifier + number_literal) ))))) )) (argument_list "(uVar15,p_Var5->_M_color)" ( identifier , (field_expression "p_Var5->_M_color" identifier -> field_identifier) ))) ;) (expression_statement "p_Var22 = (_Base_ptr)auStack_90._4_4_;" (assignment_expression "p_Var22 = (_Base_ptr)auStack_90._4_4_" identifier = (cast_expression "(_Base_ptr)auStack_90._4_4_" ( (type_descriptor "_Base_ptr" type_identifier) ) (field_expression "auStack_90._4_4_" identifier . field_identifier))) ;) }) (else_clause "else {\n                p_Var20 = p_Var5->_M_parent;\n                _Var16 = p_Var5->_M_color;\n                p_Var10 = p_Stack_a0;\n                p_Var17 = p_Var11;\n                do {\n                  p_Var13 = *(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4);\n                  p_Var6 = p_Var20;\n                  if (p_Var13 <= p_Var20) {\n                    p_Var6 = p_Var13;\n                  }\n                  if ((p_Var6 == (_Base_ptr)0x0) ||\n                     (iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0)) {\n                    if (-1 < (int)p_Var13 - (int)p_Var20) goto LAB_00210f58;\nLAB_00211044:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;\n                  }\n                  else {\n                    if (iVar19 < 0) goto LAB_00211044;\nLAB_00210f58:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;\n                    p_Var17 = p_Var10;\n                  }\n                  p_Var10 = p_Var18;\n                } while (p_Var18 != (_Link_type)0x0);\n                pcVar24 = *(code **)(puVar23 + 0x225c58);\n                if (p_Var17 == p_Var11) goto LAB_00211058;\n                p_Var13 = *(_Base_ptr *)((p_Var17->_M_storage)._M_storage + 4);\n                p_Var6 = p_Var13;\n                if (p_Var20 <= p_Var13) {\n                  p_Var6 = p_Var20;\n                }\n                if ((p_Var6 == (_Base_ptr)0x0) ||\n                   (p_Stack_70 = p_Var13,\n                   iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      ), p_Var13 = p_Stack_70, iVar19 == 0)) {\n                  iVar19 = (int)p_Var20 - (int)p_Var13;\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                if (iVar19 < 0) goto LAB_00211058;\n                iVar19 = *(int *)((p_Var17->_M_storage)._M_storage + 0x18);\n                if (_Stack_80._M_parent == (_Rb_tree_node_base *)0x0) {\n                  if (*(int *)(iVar19 + 0x198) == 1) goto LAB_00210fcc;\n                  (**(code **)(puVar23 + 0x2223bc))(iVar19,_Stack_80._M_left,_Stack_80._M_right);\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n                else if (*(int *)(iVar19 + 0x198) == 1) {\nLAB_00210fcc:\n                  (**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n                  if (iStack_6c != 0) {\n                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);\n                    (**(code **)(puVar23 + 0x2221c4))(uVar15);\n                  }\n                  iStack_6c = 1;\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n              }" else (compound_statement "{\n                p_Var20 = p_Var5->_M_parent;\n                _Var16 = p_Var5->_M_color;\n                p_Var10 = p_Stack_a0;\n                p_Var17 = p_Var11;\n                do {\n                  p_Var13 = *(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4);\n                  p_Var6 = p_Var20;\n                  if (p_Var13 <= p_Var20) {\n                    p_Var6 = p_Var13;\n                  }\n                  if ((p_Var6 == (_Base_ptr)0x0) ||\n                     (iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0)) {\n                    if (-1 < (int)p_Var13 - (int)p_Var20) goto LAB_00210f58;\nLAB_00211044:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;\n                  }\n                  else {\n                    if (iVar19 < 0) goto LAB_00211044;\nLAB_00210f58:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;\n                    p_Var17 = p_Var10;\n                  }\n                  p_Var10 = p_Var18;\n                } while (p_Var18 != (_Link_type)0x0);\n                pcVar24 = *(code **)(puVar23 + 0x225c58);\n                if (p_Var17 == p_Var11) goto LAB_00211058;\n                p_Var13 = *(_Base_ptr *)((p_Var17->_M_storage)._M_storage + 4);\n                p_Var6 = p_Var13;\n                if (p_Var20 <= p_Var13) {\n                  p_Var6 = p_Var20;\n                }\n                if ((p_Var6 == (_Base_ptr)0x0) ||\n                   (p_Stack_70 = p_Var13,\n                   iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      ), p_Var13 = p_Stack_70, iVar19 == 0)) {\n                  iVar19 = (int)p_Var20 - (int)p_Var13;\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                if (iVar19 < 0) goto LAB_00211058;\n                iVar19 = *(int *)((p_Var17->_M_storage)._M_storage + 0x18);\n                if (_Stack_80._M_parent == (_Rb_tree_node_base *)0x0) {\n                  if (*(int *)(iVar19 + 0x198) == 1) goto LAB_00210fcc;\n                  (**(code **)(puVar23 + 0x2223bc))(iVar19,_Stack_80._M_left,_Stack_80._M_right);\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n                else if (*(int *)(iVar19 + 0x198) == 1) {\nLAB_00210fcc:\n                  (**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n                  if (iStack_6c != 0) {\n                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);\n                    (**(code **)(puVar23 + 0x2221c4))(uVar15);\n                  }\n                  iStack_6c = 1;\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n              }" { (expression_statement "p_Var20 = p_Var5->_M_parent;" (assignment_expression "p_Var20 = p_Var5->_M_parent" identifier = (field_expression "p_Var5->_M_parent" identifier -> field_identifier)) ;) (expression_statement "_Var16 = p_Var5->_M_color;" (assignment_expression "_Var16 = p_Var5->_M_color" identifier = (field_expression "p_Var5->_M_color" identifier -> field_identifier)) ;) (expression_statement "p_Var10 = p_Stack_a0;" (assignment_expression "p_Var10 = p_Stack_a0" identifier = identifier) ;) (expression_statement "p_Var17 = p_Var11;" (assignment_expression "p_Var17 = p_Var11" identifier = identifier) ;) (do_statement "do {\n                  p_Var13 = *(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4);\n                  p_Var6 = p_Var20;\n                  if (p_Var13 <= p_Var20) {\n                    p_Var6 = p_Var13;\n                  }\n                  if ((p_Var6 == (_Base_ptr)0x0) ||\n                     (iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0)) {\n                    if (-1 < (int)p_Var13 - (int)p_Var20) goto LAB_00210f58;\nLAB_00211044:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;\n                  }\n                  else {\n                    if (iVar19 < 0) goto LAB_00211044;\nLAB_00210f58:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;\n                    p_Var17 = p_Var10;\n                  }\n                  p_Var10 = p_Var18;\n                } while (p_Var18 != (_Link_type)0x0);" do (compound_statement "{\n                  p_Var13 = *(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4);\n                  p_Var6 = p_Var20;\n                  if (p_Var13 <= p_Var20) {\n                    p_Var6 = p_Var13;\n                  }\n                  if ((p_Var6 == (_Base_ptr)0x0) ||\n                     (iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0)) {\n                    if (-1 < (int)p_Var13 - (int)p_Var20) goto LAB_00210f58;\nLAB_00211044:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;\n                  }\n                  else {\n                    if (iVar19 < 0) goto LAB_00211044;\nLAB_00210f58:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;\n                    p_Var17 = p_Var10;\n                  }\n                  p_Var10 = p_Var18;\n                }" { (expression_statement "p_Var13 = *(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4);" (assignment_expression "p_Var13 = *(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4)" identifier = (pointer_expression "*(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4)" * (cast_expression "(_Base_ptr *)((p_Var10->_M_storage)._M_storage + 4)" ( (type_descriptor "_Base_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((p_Var10->_M_storage)._M_storage + 4)" ( (binary_expression "(p_Var10->_M_storage)._M_storage + 4" (field_expression "(p_Var10->_M_storage)._M_storage" (parenthesized_expression "(p_Var10->_M_storage)" ( (field_expression "p_Var10->_M_storage" identifier -> field_identifier) )) . field_identifier) + number_literal) ))))) ;) (expression_statement "p_Var6 = p_Var20;" (assignment_expression "p_Var6 = p_Var20" identifier = identifier) ;) (if_statement "if (p_Var13 <= p_Var20) {\n                    p_Var6 = p_Var13;\n                  }" if (parenthesized_expression "(p_Var13 <= p_Var20)" ( (binary_expression "p_Var13 <= p_Var20" identifier <= identifier) )) (compound_statement "{\n                    p_Var6 = p_Var13;\n                  }" { (expression_statement "p_Var6 = p_Var13;" (assignment_expression "p_Var6 = p_Var13" identifier = identifier) ;) })) (if_statement "if ((p_Var6 == (_Base_ptr)0x0) ||\n                     (iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0)) {\n                    if (-1 < (int)p_Var13 - (int)p_Var20) goto LAB_00210f58;\nLAB_00211044:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;\n                  }\n                  else {\n                    if (iVar19 < 0) goto LAB_00211044;\nLAB_00210f58:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;\n                    p_Var17 = p_Var10;\n                  }" if (parenthesized_expression "((p_Var6 == (_Base_ptr)0x0) ||\n                     (iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0))" ( (binary_expression "(p_Var6 == (_Base_ptr)0x0) ||\n                     (iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0)" (parenthesized_expression "(p_Var6 == (_Base_ptr)0x0)" ( (binary_expression "p_Var6 == (_Base_ptr)0x0" identifier == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) || (parenthesized_expression "(iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0)" ( (comma_expression "iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6), iVar19 == 0" (assignment_expression "iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6)" identifier = (call_expression "(**(code **)(puVar23 + 0x225d1c))\n                                         (*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6)" (parenthesized_expression "(**(code **)(puVar23 + 0x225d1c))" ( (pointer_expression "**(code **)(puVar23 + 0x225d1c)" * (pointer_expression "*(code **)(puVar23 + 0x225d1c)" * (cast_expression "(code **)(puVar23 + 0x225d1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x225d1c)" ( (binary_expression "puVar23 + 0x225d1c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(p_Var10->_M_storage)._M_storage,_Var16,\n                                          p_Var6)" ( (pointer_expression "*(undefined4 *)(p_Var10->_M_storage)._M_storage" * (cast_expression "(undefined4 *)(p_Var10->_M_storage)._M_storage" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(p_Var10->_M_storage)._M_storage" (parenthesized_expression "(p_Var10->_M_storage)" ( (field_expression "p_Var10->_M_storage" identifier -> field_identifier) )) . field_identifier))) , identifier , identifier )))) , (binary_expression "iVar19 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                    if (-1 < (int)p_Var13 - (int)p_Var20) goto LAB_00210f58;\nLAB_00211044:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;\n                  }" { (if_statement "if (-1 < (int)p_Var13 - (int)p_Var20) goto LAB_00210f58;" if (parenthesized_expression "(-1 < (int)p_Var13 - (int)p_Var20)" ( (binary_expression "-1 < (int)p_Var13 - (int)p_Var20" number_literal < (binary_expression "(int)p_Var13 - (int)p_Var20" (cast_expression "(int)p_Var13" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)p_Var20" ( (type_descriptor "int" primitive_type) ) identifier))) )) (goto_statement "goto LAB_00210f58;" goto statement_identifier ;)) (labeled_statement "LAB_00211044:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;" statement_identifier : (expression_statement "p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right;" (assignment_expression "p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right" identifier = (field_expression "(_Link_type)(p_Var10->super__Rb_tree_node_base)._M_right" (call_expression "(_Link_type)(p_Var10->super__Rb_tree_node_base)" (parenthesized_expression "(_Link_type)" ( identifier )) (argument_list "(p_Var10->super__Rb_tree_node_base)" ( (field_expression "p_Var10->super__Rb_tree_node_base" identifier -> field_identifier) ))) . field_identifier)) ;)) }) (else_clause "else {\n                    if (iVar19 < 0) goto LAB_00211044;\nLAB_00210f58:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;\n                    p_Var17 = p_Var10;\n                  }" else (compound_statement "{\n                    if (iVar19 < 0) goto LAB_00211044;\nLAB_00210f58:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;\n                    p_Var17 = p_Var10;\n                  }" { (if_statement "if (iVar19 < 0) goto LAB_00211044;" if (parenthesized_expression "(iVar19 < 0)" ( (binary_expression "iVar19 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00211044;" goto statement_identifier ;)) (labeled_statement "LAB_00210f58:\n                    p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;" statement_identifier : (expression_statement "p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left;" (assignment_expression "p_Var18 = (_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left" identifier = (field_expression "(_Link_type)(p_Var10->super__Rb_tree_node_base)._M_left" (call_expression "(_Link_type)(p_Var10->super__Rb_tree_node_base)" (parenthesized_expression "(_Link_type)" ( identifier )) (argument_list "(p_Var10->super__Rb_tree_node_base)" ( (field_expression "p_Var10->super__Rb_tree_node_base" identifier -> field_identifier) ))) . field_identifier)) ;)) (expression_statement "p_Var17 = p_Var10;" (assignment_expression "p_Var17 = p_Var10" identifier = identifier) ;) }))) (expression_statement "p_Var10 = p_Var18;" (assignment_expression "p_Var10 = p_Var18" identifier = identifier) ;) }) while (parenthesized_expression "(p_Var18 != (_Link_type)0x0)" ( (binary_expression "p_Var18 != (_Link_type)0x0" identifier != (cast_expression "(_Link_type)0x0" ( (type_descriptor "_Link_type" type_identifier) ) number_literal)) )) ;) (expression_statement "pcVar24 = *(code **)(puVar23 + 0x225c58);" (assignment_expression "pcVar24 = *(code **)(puVar23 + 0x225c58)" identifier = (pointer_expression "*(code **)(puVar23 + 0x225c58)" * (cast_expression "(code **)(puVar23 + 0x225c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x225c58)" ( (binary_expression "puVar23 + 0x225c58" identifier + number_literal) ))))) ;) (if_statement "if (p_Var17 == p_Var11) goto LAB_00211058;" if (parenthesized_expression "(p_Var17 == p_Var11)" ( (binary_expression "p_Var17 == p_Var11" identifier == identifier) )) (goto_statement "goto LAB_00211058;" goto statement_identifier ;)) (expression_statement "p_Var13 = *(_Base_ptr *)((p_Var17->_M_storage)._M_storage + 4);" (assignment_expression "p_Var13 = *(_Base_ptr *)((p_Var17->_M_storage)._M_storage + 4)" identifier = (pointer_expression "*(_Base_ptr *)((p_Var17->_M_storage)._M_storage + 4)" * (cast_expression "(_Base_ptr *)((p_Var17->_M_storage)._M_storage + 4)" ( (type_descriptor "_Base_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((p_Var17->_M_storage)._M_storage + 4)" ( (binary_expression "(p_Var17->_M_storage)._M_storage + 4" (field_expression "(p_Var17->_M_storage)._M_storage" (parenthesized_expression "(p_Var17->_M_storage)" ( (field_expression "p_Var17->_M_storage" identifier -> field_identifier) )) . field_identifier) + number_literal) ))))) ;) (expression_statement "p_Var6 = p_Var13;" (assignment_expression "p_Var6 = p_Var13" identifier = identifier) ;) (if_statement "if (p_Var20 <= p_Var13) {\n                  p_Var6 = p_Var20;\n                }" if (parenthesized_expression "(p_Var20 <= p_Var13)" ( (binary_expression "p_Var20 <= p_Var13" identifier <= identifier) )) (compound_statement "{\n                  p_Var6 = p_Var20;\n                }" { (expression_statement "p_Var6 = p_Var20;" (assignment_expression "p_Var6 = p_Var20" identifier = identifier) ;) })) (if_statement "if ((p_Var6 == (_Base_ptr)0x0) ||\n                   (p_Stack_70 = p_Var13,\n                   iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      ), p_Var13 = p_Stack_70, iVar19 == 0)) {\n                  iVar19 = (int)p_Var20 - (int)p_Var13;\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }\n                else {\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }" if (parenthesized_expression "((p_Var6 == (_Base_ptr)0x0) ||\n                   (p_Stack_70 = p_Var13,\n                   iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      ), p_Var13 = p_Stack_70, iVar19 == 0))" ( (binary_expression "(p_Var6 == (_Base_ptr)0x0) ||\n                   (p_Stack_70 = p_Var13,\n                   iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      ), p_Var13 = p_Stack_70, iVar19 == 0)" (parenthesized_expression "(p_Var6 == (_Base_ptr)0x0)" ( (binary_expression "p_Var6 == (_Base_ptr)0x0" identifier == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) || (parenthesized_expression "(p_Stack_70 = p_Var13,\n                   iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      ), p_Var13 = p_Stack_70, iVar19 == 0)" ( (comma_expression "p_Stack_70 = p_Var13,\n                   iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      ), p_Var13 = p_Stack_70, iVar19 == 0" (assignment_expression "p_Stack_70 = p_Var13" identifier = identifier) , (comma_expression "iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      ), p_Var13 = p_Stack_70, iVar19 == 0" (assignment_expression "iVar19 = (**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      )" identifier = (call_expression "(**(code **)(puVar23 + 0x225d1c))\n                                      (_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      )" (parenthesized_expression "(**(code **)(puVar23 + 0x225d1c))" ( (pointer_expression "**(code **)(puVar23 + 0x225d1c)" * (pointer_expression "*(code **)(puVar23 + 0x225d1c)" * (cast_expression "(code **)(puVar23 + 0x225d1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x225d1c)" ( (binary_expression "puVar23 + 0x225d1c" identifier + number_literal) ))))) )) (argument_list "(_Var16,*(undefined4 *)(p_Var17->_M_storage)._M_storage,p_Var6\n                                      )" ( identifier , (pointer_expression "*(undefined4 *)(p_Var17->_M_storage)._M_storage" * (cast_expression "(undefined4 *)(p_Var17->_M_storage)._M_storage" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(p_Var17->_M_storage)._M_storage" (parenthesized_expression "(p_Var17->_M_storage)" ( (field_expression "p_Var17->_M_storage" identifier -> field_identifier) )) . field_identifier))) , identifier )))) , (comma_expression "p_Var13 = p_Stack_70, iVar19 == 0" (assignment_expression "p_Var13 = p_Stack_70" identifier = identifier) , (binary_expression "iVar19 == 0" identifier == number_literal)))) ))) )) (compound_statement "{\n                  iVar19 = (int)p_Var20 - (int)p_Var13;\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }" { (expression_statement "iVar19 = (int)p_Var20 - (int)p_Var13;" (assignment_expression "iVar19 = (int)p_Var20 - (int)p_Var13" identifier = (binary_expression "(int)p_Var20 - (int)p_Var13" (cast_expression "(int)p_Var20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)p_Var13" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar24 = *(code **)(puVar23 + 0x225c58);" (assignment_expression "pcVar24 = *(code **)(puVar23 + 0x225c58)" identifier = (pointer_expression "*(code **)(puVar23 + 0x225c58)" * (cast_expression "(code **)(puVar23 + 0x225c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x225c58)" ( (binary_expression "puVar23 + 0x225c58" identifier + number_literal) ))))) ;) }) (else_clause "else {\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }" else (compound_statement "{\n                  pcVar24 = *(code **)(puVar23 + 0x225c58);\n                }" { (expression_statement "pcVar24 = *(code **)(puVar23 + 0x225c58);" (assignment_expression "pcVar24 = *(code **)(puVar23 + 0x225c58)" identifier = (pointer_expression "*(code **)(puVar23 + 0x225c58)" * (cast_expression "(code **)(puVar23 + 0x225c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x225c58)" ( (binary_expression "puVar23 + 0x225c58" identifier + number_literal) ))))) ;) }))) (if_statement "if (iVar19 < 0) goto LAB_00211058;" if (parenthesized_expression "(iVar19 < 0)" ( (binary_expression "iVar19 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00211058;" goto statement_identifier ;)) (expression_statement "iVar19 = *(int *)((p_Var17->_M_storage)._M_storage + 0x18);" (assignment_expression "iVar19 = *(int *)((p_Var17->_M_storage)._M_storage + 0x18)" identifier = (pointer_expression "*(int *)((p_Var17->_M_storage)._M_storage + 0x18)" * (cast_expression "(int *)((p_Var17->_M_storage)._M_storage + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((p_Var17->_M_storage)._M_storage + 0x18)" ( (binary_expression "(p_Var17->_M_storage)._M_storage + 0x18" (field_expression "(p_Var17->_M_storage)._M_storage" (parenthesized_expression "(p_Var17->_M_storage)" ( (field_expression "p_Var17->_M_storage" identifier -> field_identifier) )) . field_identifier) + number_literal) ))))) ;) (if_statement "if (_Stack_80._M_parent == (_Rb_tree_node_base *)0x0) {\n                  if (*(int *)(iVar19 + 0x198) == 1) goto LAB_00210fcc;\n                  (**(code **)(puVar23 + 0x2223bc))(iVar19,_Stack_80._M_left,_Stack_80._M_right);\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }\n                else if (*(int *)(iVar19 + 0x198) == 1) {\nLAB_00210fcc:\n                  (**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n                  if (iStack_6c != 0) {\n                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);\n                    (**(code **)(puVar23 + 0x2221c4))(uVar15);\n                  }\n                  iStack_6c = 1;\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }" if (parenthesized_expression "(_Stack_80._M_parent == (_Rb_tree_node_base *)0x0)" ( (binary_expression "_Stack_80._M_parent == (_Rb_tree_node_base *)0x0" (field_expression "_Stack_80._M_parent" identifier . field_identifier) == (cast_expression "(_Rb_tree_node_base *)0x0" ( (type_descriptor "_Rb_tree_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  if (*(int *)(iVar19 + 0x198) == 1) goto LAB_00210fcc;\n                  (**(code **)(puVar23 + 0x2223bc))(iVar19,_Stack_80._M_left,_Stack_80._M_right);\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }" { (if_statement "if (*(int *)(iVar19 + 0x198) == 1) goto LAB_00210fcc;" if (parenthesized_expression "(*(int *)(iVar19 + 0x198) == 1)" ( (binary_expression "*(int *)(iVar19 + 0x198) == 1" (pointer_expression "*(int *)(iVar19 + 0x198)" * (cast_expression "(int *)(iVar19 + 0x198)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x198)" ( (binary_expression "iVar19 + 0x198" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_00210fcc;" goto statement_identifier ;)) (expression_statement "(**(code **)(puVar23 + 0x2223bc))(iVar19,_Stack_80._M_left,_Stack_80._M_right);" (call_expression "(**(code **)(puVar23 + 0x2223bc))(iVar19,_Stack_80._M_left,_Stack_80._M_right)" (parenthesized_expression "(**(code **)(puVar23 + 0x2223bc))" ( (pointer_expression "**(code **)(puVar23 + 0x2223bc)" * (pointer_expression "*(code **)(puVar23 + 0x2223bc)" * (cast_expression "(code **)(puVar23 + 0x2223bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x2223bc)" ( (binary_expression "puVar23 + 0x2223bc" identifier + number_literal) ))))) )) (argument_list "(iVar19,_Stack_80._M_left,_Stack_80._M_right)" ( identifier , (field_expression "_Stack_80._M_left" identifier . field_identifier) , (field_expression "_Stack_80._M_right" identifier . field_identifier) ))) ;) (expression_statement "p_Var22 = (_Base_ptr)auStack_90._4_4_;" (assignment_expression "p_Var22 = (_Base_ptr)auStack_90._4_4_" identifier = (cast_expression "(_Base_ptr)auStack_90._4_4_" ( (type_descriptor "_Base_ptr" type_identifier) ) (field_expression "auStack_90._4_4_" identifier . field_identifier))) ;) }) (else_clause "else if (*(int *)(iVar19 + 0x198) == 1) {\nLAB_00210fcc:\n                  (**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n                  if (iStack_6c != 0) {\n                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);\n                    (**(code **)(puVar23 + 0x2221c4))(uVar15);\n                  }\n                  iStack_6c = 1;\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }" else (if_statement "if (*(int *)(iVar19 + 0x198) == 1) {\nLAB_00210fcc:\n                  (**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n                  if (iStack_6c != 0) {\n                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);\n                    (**(code **)(puVar23 + 0x2221c4))(uVar15);\n                  }\n                  iStack_6c = 1;\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }" if (parenthesized_expression "(*(int *)(iVar19 + 0x198) == 1)" ( (binary_expression "*(int *)(iVar19 + 0x198) == 1" (pointer_expression "*(int *)(iVar19 + 0x198)" * (cast_expression "(int *)(iVar19 + 0x198)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x198)" ( (binary_expression "iVar19 + 0x198" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_00210fcc:\n                  (**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);\n                  if (iStack_6c != 0) {\n                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);\n                    (**(code **)(puVar23 + 0x2221c4))(uVar15);\n                  }\n                  iStack_6c = 1;\n                  p_Var22 = (_Base_ptr)auStack_90._4_4_;\n                }" { (labeled_statement "LAB_00210fcc:\n                  (**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);" statement_identifier : (expression_statement "(**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right);" (call_expression "(**(code **)(puVar23 + 0x2223b0))\n                            (iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right)" (parenthesized_expression "(**(code **)(puVar23 + 0x2223b0))" ( (pointer_expression "**(code **)(puVar23 + 0x2223b0)" * (pointer_expression "*(code **)(puVar23 + 0x2223b0)" * (cast_expression "(code **)(puVar23 + 0x2223b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x2223b0)" ( (binary_expression "puVar23 + 0x2223b0" identifier + number_literal) ))))) )) (argument_list "(iVar19,uVar9,_Stack_80._M_left,_Stack_80._M_right)" ( identifier , identifier , (field_expression "_Stack_80._M_left" identifier . field_identifier) , (field_expression "_Stack_80._M_right" identifier . field_identifier) ))) ;)) (if_statement "if (iStack_6c != 0) {\n                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);\n                    (**(code **)(puVar23 + 0x2221c4))(uVar15);\n                  }" if (parenthesized_expression "(iStack_6c != 0)" ( (binary_expression "iStack_6c != 0" identifier != number_literal) )) (compound_statement "{\n                    uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);\n                    (**(code **)(puVar23 + 0x2221c4))(uVar15);\n                  }" { (expression_statement "uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58);" (assignment_expression "uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_58)" identifier = (call_expression "(**(code **)(puVar23 + 0x225c58))(iStack_58)" (parenthesized_expression "(**(code **)(puVar23 + 0x225c58))" ( (pointer_expression "**(code **)(puVar23 + 0x225c58)" * (pointer_expression "*(code **)(puVar23 + 0x225c58)" * (cast_expression "(code **)(puVar23 + 0x225c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x225c58)" ( (binary_expression "puVar23 + 0x225c58" identifier + number_literal) ))))) )) (argument_list "(iStack_58)" ( identifier )))) ;) (expression_statement "(**(code **)(puVar23 + 0x2221c4))(uVar15);" (call_expression "(**(code **)(puVar23 + 0x2221c4))(uVar15)" (parenthesized_expression "(**(code **)(puVar23 + 0x2221c4))" ( (pointer_expression "**(code **)(puVar23 + 0x2221c4)" * (pointer_expression "*(code **)(puVar23 + 0x2221c4)" * (cast_expression "(code **)(puVar23 + 0x2221c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x2221c4)" ( (binary_expression "puVar23 + 0x2221c4" identifier + number_literal) ))))) )) (argument_list "(uVar15)" ( identifier ))) ;) })) (expression_statement "iStack_6c = 1;" (assignment_expression "iStack_6c = 1" identifier = number_literal) ;) (expression_statement "p_Var22 = (_Base_ptr)auStack_90._4_4_;" (assignment_expression "p_Var22 = (_Base_ptr)auStack_90._4_4_" identifier = (cast_expression "(_Base_ptr)auStack_90._4_4_" ( (type_descriptor "_Base_ptr" type_identifier) ) (field_expression "auStack_90._4_4_" identifier . field_identifier))) ;) })))) }))) (expression_statement "p_Var5 = (_Base_ptr)&p_Var5[1]._M_left;" (assignment_expression "p_Var5 = (_Base_ptr)&p_Var5[1]._M_left" identifier = (binary_expression "(_Base_ptr)&p_Var5[1]._M_left" (parenthesized_expression "(_Base_ptr)" ( identifier )) & (field_expression "p_Var5[1]._M_left" (subscript_expression "p_Var5[1]" identifier [ number_literal ]) . field_identifier))) ;) }) while (parenthesized_expression "(p_Var22->_M_parent != p_Var5)" ( (binary_expression "p_Var22->_M_parent != p_Var5" (field_expression "p_Var22->_M_parent" identifier -> field_identifier) != identifier) )) ;) (if_statement "if (iStack_6c != 0) goto LAB_00210ecc;" if (parenthesized_expression "(iStack_6c != 0)" ( (binary_expression "iStack_6c != 0" identifier != number_literal) )) (goto_statement "goto LAB_00210ecc;" goto statement_identifier ;)) })) (expression_statement "uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_50 + -0x56bc);" (assignment_expression "uVar15 = (**(code **)(puVar23 + 0x225c58))(iStack_50 + -0x56bc)" identifier = (call_expression "(**(code **)(puVar23 + 0x225c58))(iStack_50 + -0x56bc)" (parenthesized_expression "(**(code **)(puVar23 + 0x225c58))" ( (pointer_expression "**(code **)(puVar23 + 0x225c58)" * (pointer_expression "*(code **)(puVar23 + 0x225c58)" * (cast_expression "(code **)(puVar23 + 0x225c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x225c58)" ( (binary_expression "puVar23 + 0x225c58" identifier + number_literal) ))))) )) (argument_list "(iStack_50 + -0x56bc)" ( (binary_expression "iStack_50 + -0x56bc" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(puVar23 + 0x2221c4))(uVar15);" (call_expression "(**(code **)(puVar23 + 0x2221c4))(uVar15)" (parenthesized_expression "(**(code **)(puVar23 + 0x2221c4))" ( (pointer_expression "**(code **)(puVar23 + 0x2221c4)" * (pointer_expression "*(code **)(puVar23 + 0x2221c4)" * (cast_expression "(code **)(puVar23 + 0x2221c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x2221c4)" ( (binary_expression "puVar23 + 0x2221c4" identifier + number_literal) ))))) )) (argument_list "(uVar15)" ( identifier ))) ;) }))) })) (labeled_statement "LAB_00210ecc:\n      piVar14 = (int *)*piVar14;" statement_identifier : (expression_statement "piVar14 = (int *)*piVar14;" (assignment_expression "piVar14 = (int *)*piVar14" identifier = (cast_expression "(int *)*piVar14" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar14" * identifier))) ;)) (if_statement "if ((int *)*(int *)(puVar8 + 4) == piVar14) break;" if (parenthesized_expression "((int *)*(int *)(puVar8 + 4) == piVar14)" ( (binary_expression "(int *)*(int *)(puVar8 + 4) == piVar14" (cast_expression "(int *)*(int *)(puVar8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(int *)(puVar8 + 4)" * (cast_expression "(int *)(puVar8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 4)" ( (binary_expression "puVar8 + 4" identifier + number_literal) ))))) == identifier) )) (break_statement "break;" break ;)) (expression_statement "piVar4 = (int *)piVar14[2];" (assignment_expression "piVar4 = (int *)piVar14[2]" identifier = (cast_expression "(int *)piVar14[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar14[2]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (ERROR "std::\n  _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::" (comma_expression "std::\n  _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::\n  _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (binary_expression "_Rb_tree<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Output_segment*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "Output_segment*>_>,_std" (binary_expression "Output_segment*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : (binary_expression "less<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : :) (expression_statement "Output_segment*>_>_>\n  ::_M_erase((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n              *)cStack_5c._M_node,p_Stack_a0);" (binary_expression "Output_segment*>_>_>\n  ::_M_erase((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n              *)cStack_5c._M_node,p_Stack_a0)" (binary_expression "Output_segment*>_>_" (binary_expression "Output_segment*>_" identifier * (ERROR ">" >) identifier) > identifier) > (ERROR "::" : :) (call_expression "_M_erase((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n              *)cStack_5c._M_node,p_Stack_a0)" identifier (argument_list "((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n              *)cStack_5c._M_node,p_Stack_a0)" ( (parenthesized_expression "(_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>_>\n              *)cStack_5c._M_node,p_Stack_a0)" ( (ERROR "_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Output_segment*>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::" (binary_expression "_Rb_tree<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Output_segment*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "Output_segment*>_>,_std" (binary_expression "Output_segment*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : (binary_expression "less<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : :) (comma_expression "Output_segment*>_>_>\n              *)cStack_5c._M_node,p_Stack_a0" (binary_expression "Output_segment*>_>_>\n              *)cStack_5c._M_node" (binary_expression "Output_segment*>_>_" (binary_expression "Output_segment*>_" identifier * (ERROR ">" >) identifier) > identifier) > (pointer_expression "*)cStack_5c._M_node" * (ERROR ")" )) (field_expression "cStack_5c._M_node" identifier . field_identifier))) , identifier) )) )))) ;) (return_statement "return;" return ;) })))
(translation_unit "void __thiscall\ngold::Script_sections::add_input_section\n          (Script_sections *this,Input_section_spec *param_1,bool param_2)\n\n{\n  if (*(Output_section_definition **)(this + 8) != (Output_section_definition *)0x0) {\n    Output_section_definition::add_input_section\n              (*(Output_section_definition **)(this + 8),param_1,param_2);\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x5d54,0xd9b,PTR_DAT_0043226c + -0x5460);\n  return;\n}\n\n" (function_definition "void __thiscall\ngold::Script_sections::add_input_section\n          (Script_sections *this,Input_section_spec *param_1,bool param_2)\n\n{\n  if (*(Output_section_definition **)(this + 8) != (Output_section_definition *)0x0) {\n    Output_section_definition::add_input_section\n              (*(Output_section_definition **)(this + 8),param_1,param_2);\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x5d54,0xd9b,PTR_DAT_0043226c + -0x5460);\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Script_sections::" identifier : : identifier : :) (function_declarator "add_input_section\n          (Script_sections *this,Input_section_spec *param_1,bool param_2)" identifier (parameter_list "(Script_sections *this,Input_section_spec *param_1,bool param_2)" ( (parameter_declaration "Script_sections *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Input_section_spec *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "bool param_2" primitive_type identifier) ))) (compound_statement "{\n  if (*(Output_section_definition **)(this + 8) != (Output_section_definition *)0x0) {\n    Output_section_definition::add_input_section\n              (*(Output_section_definition **)(this + 8),param_1,param_2);\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x5d54,0xd9b,PTR_DAT_0043226c + -0x5460);\n  return;\n}" { (if_statement "if (*(Output_section_definition **)(this + 8) != (Output_section_definition *)0x0) {\n    Output_section_definition::add_input_section\n              (*(Output_section_definition **)(this + 8),param_1,param_2);\n    return;\n  }" if (parenthesized_expression "(*(Output_section_definition **)(this + 8) != (Output_section_definition *)0x0)" ( (binary_expression "*(Output_section_definition **)(this + 8) != (Output_section_definition *)0x0" (pointer_expression "*(Output_section_definition **)(this + 8)" * (cast_expression "(Output_section_definition **)(this + 8)" ( (type_descriptor "Output_section_definition **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))) != (cast_expression "(Output_section_definition *)0x0" ( (type_descriptor "Output_section_definition *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    Output_section_definition::add_input_section\n              (*(Output_section_definition **)(this + 8),param_1,param_2);\n    return;\n  }" { (labeled_statement "Output_section_definition::add_input_section\n              (*(Output_section_definition **)(this + 8),param_1,param_2);" statement_identifier : (ERROR ":" :) (expression_statement "add_input_section\n              (*(Output_section_definition **)(this + 8),param_1,param_2);" (call_expression "add_input_section\n              (*(Output_section_definition **)(this + 8),param_1,param_2)" identifier (argument_list "(*(Output_section_definition **)(this + 8),param_1,param_2)" ( (pointer_expression "*(Output_section_definition **)(this + 8)" * (cast_expression "(Output_section_definition **)(this + 8)" ( (type_descriptor "Output_section_definition **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))) , identifier , identifier ))) ;)) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x5d54,0xd9b,PTR_DAT_0043226c + -0x5460);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x5d54,0xd9b,PTR_DAT_0043226c + -0x5460)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0043226c + -0x5d54,0xd9b,PTR_DAT_0043226c + -0x5460)" ( (binary_expression "PTR_DAT_0043226c + -0x5d54" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_0043226c + -0x5460" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ms_call_modifier __thiscall) (ERROR IDENT : : IDENT : :) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (ERROR :) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT ))) ;)) (return_statement return ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })))
(function_definition "void __thiscall\ngold::Script_sections::add_input_section\n          (Script_sections *this,Input_section_spec *param_1,bool param_2)\n\n{\n  if (*(Output_section_definition **)(this + 8) != (Output_section_definition *)0x0) {\n    Output_section_definition::add_input_section\n              (*(Output_section_definition **)(this + 8),param_1,param_2);\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x5d54,0xd9b,PTR_DAT_0043226c + -0x5460);\n  return;\n}" (primitive_type "void") (ms_call_modifier "__thiscall" (__thiscall "__thiscall")) (ERROR "gold::Script_sections::" (identifier "gold") (: ":") (: ":") (identifier "Script_sections") (: ":") (: ":")) (function_declarator "add_input_section\n          (Script_sections *this,Input_section_spec *param_1,bool param_2)" (identifier "add_input_section") (parameter_list "(Script_sections *this,Input_section_spec *param_1,bool param_2)" (( "(") (parameter_declaration "Script_sections *this" (type_identifier "Script_sections") (pointer_declarator "*this" (* "*") (identifier "this"))) (, ",") (parameter_declaration "Input_section_spec *param_1" (type_identifier "Input_section_spec") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "bool param_2" (primitive_type "bool") (identifier "param_2")) () ")"))) (compound_statement "{\n  if (*(Output_section_definition **)(this + 8) != (Output_section_definition *)0x0) {\n    Output_section_definition::add_input_section\n              (*(Output_section_definition **)(this + 8),param_1,param_2);\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x5d54,0xd9b,PTR_DAT_0043226c + -0x5460);\n  return;\n}" ({ "{") (if_statement "if (*(Output_section_definition **)(this + 8) != (Output_section_definition *)0x0) {\n    Output_section_definition::add_input_section\n              (*(Output_section_definition **)(this + 8),param_1,param_2);\n    return;\n  }" (if "if") (parenthesized_expression "(*(Output_section_definition **)(this + 8) != (Output_section_definition *)0x0)" (( "(") (binary_expression "*(Output_section_definition **)(this + 8) != (Output_section_definition *)0x0" (pointer_expression "*(Output_section_definition **)(this + 8)" (* "*") (cast_expression "(Output_section_definition **)(this + 8)" (( "(") (type_descriptor "Output_section_definition **" (type_identifier "Output_section_definition") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 8)" (( "(") (binary_expression "this + 8" (identifier "this") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (cast_expression "(Output_section_definition *)0x0" (( "(") (type_descriptor "Output_section_definition *" (type_identifier "Output_section_definition") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    Output_section_definition::add_input_section\n              (*(Output_section_definition **)(this + 8),param_1,param_2);\n    return;\n  }" ({ "{") (labeled_statement "Output_section_definition::add_input_section\n              (*(Output_section_definition **)(this + 8),param_1,param_2);" (statement_identifier "Output_section_definition") (: ":") (ERROR ":" (: ":")) (expression_statement "add_input_section\n              (*(Output_section_definition **)(this + 8),param_1,param_2);" (call_expression "add_input_section\n              (*(Output_section_definition **)(this + 8),param_1,param_2)" (identifier "add_input_section") (argument_list "(*(Output_section_definition **)(this + 8),param_1,param_2)" (( "(") (pointer_expression "*(Output_section_definition **)(this + 8)" (* "*") (cast_expression "(Output_section_definition **)(this + 8)" (( "(") (type_descriptor "Output_section_definition **" (type_identifier "Output_section_definition") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 8)" (( "(") (binary_expression "this + 8" (identifier "this") (+ "+") (number_literal "8")) () ")")))) (, ",") (identifier "param_1") (, ",") (identifier "param_2") () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x5d54,0xd9b,PTR_DAT_0043226c + -0x5460);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x5d54,0xd9b,PTR_DAT_0043226c + -0x5460)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(PTR_DAT_0043226c + -0x5d54,0xd9b,PTR_DAT_0043226c + -0x5460)" (( "(") (binary_expression "PTR_DAT_0043226c + -0x5d54" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "-0x5d54")) (, ",") (number_literal "0xd9b") (, ",") (binary_expression "PTR_DAT_0043226c + -0x5460" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "-0x5460")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* DWARF original prototype: void add_input_section(Script_sections * this, Input_section_spec *
   spec, bool keep) */

void __thiscall
gold::type_1::function_1(type_1 *this,type_2 *spec,bool keep)

{
  type_3 *var_18;
  int var_9;
  type_4 var_13;
  int *var_20;
  type_5 var_17;
  type_5 var_26;
  int *var_21;
  type_6 *var_3;
  type_7 uVar9;
  type_8 var_15;
  type_8 var_16;
  type_7 *puVar12;
  type_5 var_24;
  int *var_4;
  type_7 var_23;
  type_9 _Var16;
  type_8 var_27;
  type_8 var_14;
  int var_22;
  type_5 var_25;
  type_4 var_12;
  type_5 p_Var22;
  type_6 *var_5;
  type_10 *pcVar24;
  type_4 var_11;
  type_11 var_2 [8];
  type_8 var_10;
  type_8 p_Stack_9c;
  type_8 p_Stack_98;
  type_7 uStack_94;
  type_11 var_6 [16];
  type_3 _Stack_80;
  type_5 p_Stack_70;
  int var_28;
  int iStack_68;
  type_11 *puStack_64;
  type_11 *puStack_60;
  type_12 cStack_5c;
  int iStack_58;
  int iStack_54;
  int var_29;
  
  if (this->output_section_ != (type_13 *)0x0) {
    Output_section_definition::function_1(this->output_section_,spec,keep);
    return;
  }
  uVar9 = 0xd9b;
  var_3 = var_1 + -0x5d54;
  var_5 = PTR_do_gold_unreachable_004323c4;
  (*(type_10 *)PTR_do_gold_unreachable_004323c4)(var_3,0xd9b,var_1 + -0x5460);
  var_16 = (type_8)(var_2 + 4);
  var_2._4_4_ = (type_5)0x0;
  var_10 = (type_8)0x0;
  uStack_94 = 0;
  var_4 = (int *)**(type_7 **)(var_3 + 0x10);
  cStack_5c._M_node = (type_5)var_2;
  p_Stack_9c = var_16;
  p_Stack_98 = var_16;
  if (var_4 != (int *)(*(type_7 **)(var_3 + 0x10))[1]) {
    var_22 = *(int *)(var_5 + 0x2216ac);
    puVar12 = (type_7 *)*var_4;
    _Stack_80._M_parent = &_Stack_80;
    _Stack_80._M_left = (type_5)(var_6 + 8);
    _Stack_80._M_right = (type_5)var_6;
    var_15 = var_16;
    do {
      var_6._0_4_ = puVar12;
      std::
      _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_8>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_8>,_gold::var_30*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_8>,_gold::var_30*>var_8>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_8>var_8>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_8>,_gold::var_30*>var_8>var_8>
      ::
      _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::var_7<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_8>&>,_std::var_7<>var_8>
                ((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_8>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_8>,_gold::var_30*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_8>,_gold::var_30*>var_8>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_8>var_8>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_8>,_gold::var_30*>var_8>var_8>
                  *)_Stack_80._M_parent,cStack_5c,(piecewise_construct_t *)var_15,
                 (var_7<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_8>&>
                  *)(var_22 + -0x519c),(var_7<> *)_Stack_80._M_right);
      var_15 = (type_8)_Stack_80._M_color;
      do {
        var_23 = (**(type_10 **)(var_5 + 0x2223b8))(uVar9,puVar12[6],puVar12[8]);
        var_4 = var_4 + 1;
        var_9 = *(int *)(var_3 + 0x10);
        puVar12[0xc] = var_23;
        *(type_7 *)((var_15->_M_storage)._M_storage + 0x18) = var_23;
        if (*(int **)(var_9 + 4) == var_4) goto LAB_00210d90;
        puVar12 = (type_7 *)*var_4;
        var_15 = var_16;
        if (var_10 == (type_8)0x0) break;
        var_12 = puVar12[1];
        var_23 = *puVar12;
        var_27 = var_10;
        do {
          var_11 = *(type_4 *)((var_27->_M_storage)._M_storage + 4);
          var_13 = var_12;
          if (var_11 <= var_12) {
            var_13 = var_11;
          }
          if ((var_13 == 0) ||
             (var_9 = (**(type_10 **)(var_5 + 0x225d1c))
                                (*(type_7 *)(var_27->_M_storage)._M_storage,var_23,var_13),
             var_9 == 0)) {
            if (-1 < (int)(var_11 - var_12)) goto LAB_00210ca4;
LAB_00210d7c:
            var_14 = (type_8)(var_27->super__Rb_tree_node_base)._M_right;
          }
          else {
            if (var_9 < 0) goto LAB_00210d7c;
LAB_00210ca4:
            var_14 = (type_8)(var_27->super__Rb_tree_node_base)._M_left;
            var_15 = var_27;
          }
          var_27 = var_14;
        } while (var_14 != (type_8)0x0);
        if (var_15 == var_16) break;
        var_11 = *(type_4 *)((var_15->_M_storage)._M_storage + 4);
        var_13 = var_11;
        if (var_12 <= var_11) {
          var_13 = var_12;
        }
        if ((var_13 == 0) ||
           (var_9 = (**(type_10 **)(var_5 + 0x225d1c))
                              (var_23,*(type_7 *)(var_15->_M_storage)._M_storage,var_13),
           var_9 == 0)) {
          var_9 = var_12 - var_11;
        }
      } while (-1 < var_9);
    } while( true );
  }
LAB_00210d90:
  var_6._4_4_ = (type_5)0x0;
  var_3[0x1f] = 1;
  var_4 = (int *)**(int **)(var_3 + 4);
  if (*(int **)(var_3 + 4) != var_4) {
    _Stack_80._M_parent = (type_3 *)0x0;
    var_29 = *(int *)(var_5 + 0x2216ac);
    puStack_60 = var_6 + 4;
    iStack_58 = *(int *)(var_5 + 0x2216ac) + -0x567c;
    iStack_68 = *(int *)(var_5 + 0x2216ac) + -0x568c;
    iStack_54 = *(int *)(var_5 + 0x2216ac) + -0x56e4;
    var_20 = (int *)var_4[2];
    puStack_64 = var_6;
    do {
      var_23 = var_6._4_4_;
      var_17 = (type_5)(**(type_10 **)(*var_20 + 0x30))(var_20,puStack_60,puStack_64);
      _Stack_80._M_left = var_17;
      if (var_17 != (type_5)0x0) {
        _Stack_80._M_right =
             (type_5)(**(type_10 **)(var_5 + 0x22448c))(var_17[5]._M_left,var_17[5]._M_right);
        var_18 = (type_3 *)((type_4)var_6._0_4_ >> 0x18);
        if ((type_5)var_6._4_4_ == (type_5)0x0) {
          if (var_18 != (type_3 *)0x0) {
            pcVar24 = *(type_10 **)(var_5 + 0x225c58);
            if ((int)var_17[1]._M_color < 1) {
              if ((var_17[1]._M_color != var_19) || (var_17[1]._M_parent == (type_5)0x0))
              goto LAB_00210e64;
              pcVar24 = *(type_10 **)(var_5 + 0x225c58);
            }
            var_23 = (*pcVar24)(iStack_54);
            (**(type_10 **)(var_5 + 0x2221c4))(var_23,_Stack_80._M_left[2]._M_parent);
          }
LAB_00210e64:
          var_20 = (int *)**(int **)(var_3 + 0x10);
          var_21 = (int *)(*(int **)(var_3 + 0x10))[1];
          if (var_20 != var_21) {
            var_22 = *(int *)(*var_20 + 0x30);
            var_9 = *(int *)(var_22 + 0x198);
            while (var_9 != 1) {
              var_20 = var_20 + 1;
              if (var_21 == var_20) goto LAB_00210ecc;
              var_22 = *(int *)(*var_20 + 0x30);
              var_9 = *(int *)(var_22 + 0x198);
            }
            (**(type_10 **)(var_5 + 0x2223b0))(var_22,uVar9,_Stack_80._M_left,_Stack_80._M_right);
          }
        }
        else {
          var_17 = (type_5)*(type_9 *)var_6._4_4_;
          if (var_6._4_4_ != var_23) {
            _Stack_80._M_parent = (type_3 *)0x0;
          }
          if (var_18 != (type_3 *)0x0) {
            _Stack_80._M_parent = var_18;
          }
          if (var_17 != *(type_5 *)(var_6._4_4_ + 4)) {
            var_28 = 0;
            p_Var22 = (type_5)var_6._4_4_;
            do {
              pcVar24 = *(type_10 **)(var_5 + 0x225c58);
              if (var_10 == (type_8)0x0) {
LAB_00211058:
                var_23 = (*pcVar24)(iStack_68);
                (**(type_10 **)(var_5 + 0x2221c4))(var_23,var_17->_M_color);
                p_Var22 = (type_5)var_6._4_4_;
              }
              else {
                var_25 = var_17->_M_parent;
                _Var16 = var_17->_M_color;
                var_15 = var_10;
                var_27 = var_16;
                do {
                  var_24 = *(type_5 *)((var_15->_M_storage)._M_storage + 4);
                  var_26 = var_25;
                  if (var_24 <= var_25) {
                    var_26 = var_24;
                  }
                  if ((var_26 == (type_5)0x0) ||
                     (var_22 = (**(type_10 **)(var_5 + 0x225d1c))
                                         (*(type_7 *)(var_15->_M_storage)._M_storage,_Var16,
                                          var_26), var_22 == 0)) {
                    if (-1 < (int)var_24 - (int)var_25) goto LAB_00210f58;
LAB_00211044:
                    var_14 = (type_8)(var_15->super__Rb_tree_node_base)._M_right;
                  }
                  else {
                    if (var_22 < 0) goto LAB_00211044;
LAB_00210f58:
                    var_14 = (type_8)(var_15->super__Rb_tree_node_base)._M_left;
                    var_27 = var_15;
                  }
                  var_15 = var_14;
                } while (var_14 != (type_8)0x0);
                pcVar24 = *(type_10 **)(var_5 + 0x225c58);
                if (var_27 == var_16) goto LAB_00211058;
                var_24 = *(type_5 *)((var_27->_M_storage)._M_storage + 4);
                var_26 = var_24;
                if (var_25 <= var_24) {
                  var_26 = var_25;
                }
                if ((var_26 == (type_5)0x0) ||
                   (p_Stack_70 = var_24,
                   var_22 = (**(type_10 **)(var_5 + 0x225d1c))
                                      (_Var16,*(type_7 *)(var_27->_M_storage)._M_storage,var_26
                                      ), var_24 = p_Stack_70, var_22 == 0)) {
                  var_22 = (int)var_25 - (int)var_24;
                  pcVar24 = *(type_10 **)(var_5 + 0x225c58);
                }
                else {
                  pcVar24 = *(type_10 **)(var_5 + 0x225c58);
                }
                if (var_22 < 0) goto LAB_00211058;
                var_22 = *(int *)((var_27->_M_storage)._M_storage + 0x18);
                if (_Stack_80._M_parent == (type_3 *)0x0) {
                  if (*(int *)(var_22 + 0x198) == 1) goto LAB_00210fcc;
                  (**(type_10 **)(var_5 + 0x2223bc))(var_22,_Stack_80._M_left,_Stack_80._M_right);
                  p_Var22 = (type_5)var_6._4_4_;
                }
                else if (*(int *)(var_22 + 0x198) == 1) {
LAB_00210fcc:
                  (**(type_10 **)(var_5 + 0x2223b0))
                            (var_22,uVar9,_Stack_80._M_left,_Stack_80._M_right);
                  if (var_28 != 0) {
                    var_23 = (**(type_10 **)(var_5 + 0x225c58))(iStack_58);
                    (**(type_10 **)(var_5 + 0x2221c4))(var_23);
                  }
                  var_28 = 1;
                  p_Var22 = (type_5)var_6._4_4_;
                }
              }
              var_17 = (type_5)&var_17[1]._M_left;
            } while (p_Var22->_M_parent != var_17);
            if (var_28 != 0) goto LAB_00210ecc;
          }
          var_23 = (**(type_10 **)(var_5 + 0x225c58))(var_29 + -0x56bc);
          (**(type_10 **)(var_5 + 0x2221c4))(var_23);
        }
      }
LAB_00210ecc:
      var_4 = (int *)*var_4;
      if ((int *)*(int *)(var_3 + 4) == var_4) break;
      var_20 = (int *)var_4[2];
    } while( true );
  }
  std::
  _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_8>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_8>,_gold::var_30*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_8>,_gold::var_30*>var_8>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_8>var_8>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_8>,_gold::var_30*>var_8>var_8>
  ::var_31((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_8>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_8>,_gold::var_30*>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_8>,_gold::var_30*>var_8>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_8>var_8>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_8>,_gold::var_30*>var_8>var_8>
              *)cStack_5c._M_node,var_10);
  return;
}


(translation_unit (function_definition type: (primitive_type) (ms_call_modifier) (ERROR (identifier) (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier) (identifier))))) (return_statement))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (return_statement))))

/* gold::Script_sections::MASKED(gold::Input_section_spec const*, bool) */

void __thiscall
gold::Script_sections::MASKED
          (Script_sections *this,Input_section_spec *param_1,bool param_2)

{
  if (*(Output_section_definition **)(this + 8) != (Output_section_definition *)0x0) {
    Output_section_definition::MASKED
              (*(Output_section_definition **)(this + 8),param_1,param_2);
    return;
  }
  (*(code *)PTR_do_gold_unreachable_004323c4)
            (PTR_DAT_0043226c + -0x5d54,0xd9b,PTR_DAT_0043226c + -0x5460);
  return;
}

