
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* DWARF original prototype: void print_cref(Cref_inputs * this, Symbol_table * param_1, FILE * f)
    */

void __thiscall gold::Cref_inputs::print_cref(Cref_inputs *this,Symbol_table *param_1,FILE *f)

{
  undefined *puVar1;
  size_type sVar2;
  _Base_ptr p_Var3;
  undefined4 uVar4;
  _Base_ptr p_Var5;
  _Base_ptr p_Var6;
  _Base_ptr p_Var7;
  uint uVar8;
  _Rb_tree_color _Var9;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *paVar10;
  _Rb_tree_header *p_Var11;
  int iVar12;
  uint uVar13;
  string s;
  Cref_table table;
  
  p_Var11 = &table._M_t._M_impl.super__Rb_tree_header;
  table._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;
  table._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;
                    /* try { // try from 002deaa4 to 002debbf has its CatchHandler @ 002dedd4 */
  table._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;
  table._M_t._M_impl.super__Rb_tree_header._M_header._M_left = &p_Var11->_M_header;
  table._M_t._M_impl.super__Rb_tree_header._M_header._M_right = &p_Var11->_M_header;
  gather_cref(this,&this->objects_,(Cref_table *)&table._M_t);
  p_Var6 = (this->archives_)._M_t._M_impl.super__Rb_tree_header._M_header._M_left;
  p_Var3 = table._M_t._M_impl.super__Rb_tree_header._M_header._M_left;
  while (puVar1 = PTR_s_in_a_linker_script_004c191c,
        table._M_t._M_impl.super__Rb_tree_header._M_header._M_left = p_Var3,
        &(this->archives_)._M_t._M_impl.super__Rb_tree_header != (_Rb_tree_header *)p_Var6) {
    gather_cref(this,(Objects *)p_Var6[4]._M_color,(Cref_table *)&table._M_t);
    p_Var6 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var6);
    p_Var3 = table._M_t._M_impl.super__Rb_tree_header._M_header._M_left;
  }
  if ((_Rb_tree_header *)p_Var3 != p_Var11) {
    paVar10 = &s.field_2;
    do {
      while( true ) {
        p_Var7 = p_Var3[1]._M_parent;
        p_Var6 = (_Base_ptr)p_Var7->_M_color;
        if (p_Var6 != p_Var7->_M_parent) break;
LAB_002deb58:
        p_Var3 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var3);
        if ((_Rb_tree_header *)p_Var3 == p_Var11) goto LAB_002deb70;
      }
      p_Var5 = *(_Base_ptr *)(p_Var6->_M_color + 0x2c);
      while ((int)p_Var5 < 0) {
        p_Var6 = (_Base_ptr)&p_Var6->_M_parent;
        if (p_Var6 == p_Var7->_M_parent) goto LAB_002deb58;
        p_Var5 = (*(_Base_ptr *)p_Var6)[2]._M_right;
      }
      _Var9 = p_Var3[1]._M_color;
      (*(code *)PTR_demangled_name_004c1cc8)(&s,_Var9);
      sVar2 = s._M_string_length;
      if (*(int *)(_Var9 + 4) != 0) {
        uVar8 = s._M_string_length + 1;
        uVar4 = s.field_2._M_allocated_capacity;
        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
             *)s._M_dataplus._M_p == paVar10) {
          uVar4 = 0xf;
        }
        if (uVar4 < uVar8) {
          (*(code *)PTR__M_mutate_004c2090)(&s,s._M_string_length,0,0,1);
        }
        s._M_dataplus._M_p[sVar2] = '@';
        s._M_dataplus._M_p[uVar8] = '\0';
        iVar12 = *(int *)(_Var9 + 4);
        s._M_string_length = uVar8;
        if (iVar12 == 0) {
          (*(code *)PTR_do_gold_unreachable_004c1a30)
                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,
                     PTR_s_in_a_linker_script_004c191c + 0x6de8);
LAB_002dedc4:
          (*(code *)PTR___throw_length_error_004c1e74)
                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);
          return;
        }
        if (*(int *)(_Var9 + 0x28) << 0x13 < 0) {
          uVar13 = sVar2 + 2;
          uVar4 = s.field_2._M_allocated_capacity;
          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
               *)s._M_dataplus._M_p == paVar10) {
            uVar4 = 0xf;
          }
          if (uVar4 < uVar13) {
            (*(code *)PTR__M_mutate_004c2090)(&s,uVar8,0,0,1);
          }
          s._M_dataplus._M_p[uVar8] = '@';
          s._M_dataplus._M_p[uVar13] = '\0';
          iVar12 = *(int *)(_Var9 + 4);
          s._M_string_length = uVar13;
        }
        sVar2 = s._M_string_length;
        uVar8 = (*(code *)PTR_strlen_004c5b9c)(iVar12);
        if (0x7fffffff - sVar2 < uVar8) goto LAB_002dedc4;
                    /* try { // try from 002dec90 to 002dedd3 has its CatchHandler @ 002dedfc */
        (*(code *)PTR__M_append_004c1e68)(&s,iVar12,uVar8);
      }
      (*(code *)PTR_fputs_004c5d2c)(s._M_dataplus._M_p,f);
      p_Var6 = (_Base_ptr)p_Var7->_M_color;
      if (p_Var6 != p_Var7->_M_parent) {
        if (s._M_string_length < 0x32) {
          iVar12 = 0x32 - s._M_string_length;
        }
        else {
          iVar12 = 1;
        }
        do {
          (*(code *)PTR_fprintf_004c5b48)
                    (f,puVar1 + 0x6d98,iVar12,0x20,*(undefined4 *)(p_Var6->_M_color + 4));
          p_Var6 = (_Base_ptr)&p_Var6->_M_parent;
          iVar12 = 0x32;
        } while (p_Var6 != p_Var7->_M_parent);
      }
      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
           *)s._M_dataplus._M_p == paVar10) goto LAB_002deb58;
      (*(code *)PTR_operator_delete_004c12fc)();
      p_Var3 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var3);
    } while ((_Rb_tree_header *)p_Var3 != p_Var11);
  }
LAB_002deb70:
  std::
  _Rb_tree<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_std::vector<gold::Object*,_std::allocator<gold::Object*>_>*>,_std::_Select1st<std::pair<const_gold::Symbol*_const,_std::vector<gold::Object*,_std::allocator<gold::Object*>_>*>_>,_gold::Cref_inputs::Cref_table_compare,_std::allocator<std::pair<const_gold::Symbol*_const,_std::vector<gold::Object*,_std::allocator<gold::Object*>_>*>_>_>
  ::_M_erase(&table._M_t,(_Link_type)table._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);
  return;
}



/* gold::Cref_inputs::print_cref(gold::Symbol_table const*, _IO_FILE*) const */

void __thiscall
gold::Cref_inputs::print_cref(Cref_inputs *this,Symbol_table *param_1,_IO_FILE *param_2)

{
  int *piVar1;
  undefined4 *puVar2;
  uint uVar3;
  int iVar4;
  Cref_inputs *pCVar5;
  int *piVar6;
  uint uVar7;
  undefined *puVar8;
  int iVar9;
  uint uVar10;
  uint *local_68;
  uint local_64;
  uint local_60 [4];
  map amStack_50 [4];
  undefined4 local_4c;
  _Rb_tree_node *local_48;
  undefined4 *local_44;
  undefined4 *local_40;
  undefined4 local_3c;
  undefined *local_38;
  int local_34;
  map *local_30;
  
  local_30 = amStack_50;
  local_4c = 0;
  local_48 = (_Rb_tree_node *)0x0;
                    /* try { // try from 002deaa4 to 002debbf has its CatchHandler @ 002dedd4 */
  local_3c = 0;
  local_44 = &local_4c;
  local_40 = &local_4c;
  gather_cref(this,(vector *)this,local_30);
  pCVar5 = *(Cref_inputs **)(this + 0x18);
  puVar2 = local_44;
  while (local_44 = puVar2, this + 0x10 != pCVar5) {
    gather_cref(this,*(vector **)(pCVar5 + 0x40),local_30);
    pCVar5 = (Cref_inputs *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5);
    puVar2 = local_44;
  }
  if (puVar2 != &local_4c) {
    local_34 = 0x7fffffff;
    local_38 = PTR_s_in_a_linker_script_004c191c;
    do {
      while( true ) {
        piVar6 = (int *)puVar2[5];
        piVar1 = (int *)*piVar6;
        if (piVar1 != (int *)piVar6[1]) break;
LAB_002deb58:
        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);
        if (puVar2 == &local_4c) goto LAB_002deb70;
      }
      iVar4 = *(int *)(*piVar1 + 0x2c);
      while (iVar4 < 0) {
        piVar1 = piVar1 + 1;
        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;
        iVar4 = *(int *)(*piVar1 + 0x2c);
      }
      iVar4 = puVar2[4];
      (*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4);
      uVar10 = local_64;
      if (*(int *)(iVar4 + 4) != 0) {
        uVar7 = local_64 + 1;
        uVar3 = local_60[0];
        if (local_68 == local_60) {
          uVar3 = 0xf;
        }
        if (uVar3 < uVar7) {
          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);
        }
        *(undefined1 *)((int)local_68 + uVar10) = 0x40;
        *(undefined1 *)((int)local_68 + uVar7) = 0;
        iVar9 = *(int *)(iVar4 + 4);
        local_64 = uVar7;
        if (iVar9 == 0) {
          (*(code *)PTR_do_gold_unreachable_004c1a30)
                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,
                     PTR_s_in_a_linker_script_004c191c + 0x6de8);
          return;
        }
        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {
          uVar10 = uVar10 + 2;
          uVar3 = local_60[0];
          if (local_68 == local_60) {
            uVar3 = 0xf;
          }
          if (uVar3 < uVar10) {
            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);
          }
          *(undefined1 *)((int)local_68 + uVar7) = 0x40;
          *(undefined1 *)((int)local_68 + uVar10) = 0;
          iVar9 = *(int *)(iVar4 + 4);
          local_64 = uVar10;
        }
        uVar10 = local_64;
        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);
        if (local_34 - uVar10 < uVar3) {
          (*(code *)PTR___throw_length_error_004c1e74)
                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);
          return;
        }
                    /* try { // try from 002dec90 to 002dedd3 has its CatchHandler @ 002dedfc */
        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);
      }
      (*(code *)PTR_fputs_004c5d2c)(local_68,param_2);
      piVar1 = (int *)*piVar6;
      if (piVar1 != (int *)piVar6[1]) {
        if (local_64 < 0x32) {
          iVar4 = 0x32 - local_64;
        }
        else {
          iVar4 = 1;
        }
        puVar8 = local_38 + 0x6d98;
        do {
          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));
          piVar1 = piVar1 + 1;
          iVar4 = 0x32;
        } while (piVar1 != (int *)piVar6[1]);
      }
      if (local_68 == local_60) goto LAB_002deb58;
      (*(code *)PTR_operator_delete_004c12fc)();
      puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);
    } while (puVar2 != &local_4c);
  }
LAB_002deb70:
  std::
  _Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>
  ::_M_erase((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>
              *)local_30,local_48);
  return;
}


lui gp,0x1f
addiu gp,gp,-0x57f4
addu gp,gp,t9
addiu sp,sp,-0x88
or a1,a0,zero
addiu v0,sp,0x38
sw s4,0x70(sp)
sw s7,0x7c(sp)
addiu s7,sp,0x3c
sw s2,0x68(sp)
or s2,a0,zero
sw s1,0x64(sp)
or s1,a2,zero
sw gp,0x18(sp)
or a2,v0,zero
sw ra,0x84(sp)
sw s8,0x80(sp)
sw s6,0x78(sp)
sw s5,0x74(sp)
sw s3,0x6c(sp)
sw s0,0x60(sp)
sw v0,0x58(sp)
sw zero,0x3c(sp)
sw zero,0x40(sp)
sw s7,0x44(sp)
sw s7,0x48(sp)
lw s4,-0x44ec(gp)
or t9,s4,zero
bal 0x002de5f4
_sw zero,0x4c(sp)
lw s0,0x18(s2)
addiu s3,s2,0x10
beq s3,s0,0x002deaec
_lw gp,0x18(sp)
lw a1,0x40(s0)
or a0,s2,zero
or t9,s4,zero
bal 0x002de5f4
_lw a2,0x58(sp)
lw gp,0x18(sp)
lw t9,-0x73e4(gp)
jalr t9
_or a0,s0,zero
lw gp,0x18(sp)
bne s3,v0,0x002deabc
_or s0,v0,zero
lw s2,0x44(sp)
beq s2,s7,0x002deb6c
_lw v0,-0x7924(gp)
addiu s6,sp,0x20
addiu s5,sp,0x28
sw v0,0x50(sp)
lui v0,0x7fff
ori v0,v0,0xffff
sw v0,0x54(sp)
lw s0,0x14(s2)
lw v0,0x0(s0)
lw a0,0x4(s0)
beq v0,a0,0x002deb58
_lw t9,-0x73e4(gp)
lw v1,0x0(v0)
lw v1,0x2c(v1)
bgez v1,0x002debac
_addiu v0,v0,0x4
b 0x002deb4c
_nop
lw v1,0x0(v1)
lw v1,0x2c(v1)
bgez v1,0x002debac
_addiu v0,v0,0x4
bne v0,a0,0x002deb3c
_or v1,v0,zero
lw t9,-0x73e4(gp)
jalr t9
_or a0,s2,zero
lw gp,0x18(sp)
bne v0,s7,0x002deb10
_or s2,v0,zero
lw a1,0x40(sp)
lw t9,-0x44e8(gp)
bal 0x002df3e0
_lw a0,0x58(sp)
lw ra,0x84(sp)
lw s8,0x80(sp)
lw s7,0x7c(sp)
lw s6,0x78(sp)
lw s5,0x74(sp)
lw s4,0x70(sp)
lw s3,0x6c(sp)
lw s2,0x68(sp)
lw s1,0x64(sp)
lw s0,0x60(sp)
jr ra
_addiu sp,sp,0x88
lw s4,0x10(s2)
or a0,s6,zero
lw t9,-0x7578(gp)
jalr t9
_or a1,s4,zero
lw v0,0x4(s4)
lw gp,0x18(sp)
beq v0,zero,0x002deca0
_lw a0,0x20(sp)
lw s8,0x24(sp)
beq a0,s5,0x002ded74
_addiu s3,s8,0x1
lw v0,0x28(sp)
sltu v0,v0,s3
bne v0,zero,0x002ded44
_li v0,0x1
addu a0,a0,s8
li v0,0x40
sb v0,0x0(a0)
sw s3,0x24(sp)
lw v0,0x20(sp)
addu s3,v0,s3
sb zero,0x0(s3)
lw s8,0x4(s4)
beq s8,zero,0x002dedac
_lw a2,-0x7924(gp)
lw v0,0x28(s4)
ext v0,v0,0xc,0x1
beq v0,zero,0x002dec64
_lw s3,0x24(sp)
lw v0,0x20(sp)
beq v0,s5,0x002deda4
_addiu s8,s3,0x1
lw v1,0x28(sp)
sltu v1,v1,s8
bne v1,zero,0x002ded7c
_lw t9,-0x71b0(gp)
addu s3,v0,s3
li v0,0x40
sb v0,0x0(s3)
sw s8,0x24(sp)
lw v0,0x20(sp)
addu s8,v0,s8
sb zero,0x0(s8)
lw s8,0x4(s4)
lw s3,0x24(sp)
lw t9,-0x36a4(gp)
jalr t9
_or a0,s8,zero
lw v1,0x54(sp)
subu s3,v1,s3
sltu s3,s3,v0
bne s3,zero,0x002dedc4
_lw gp,0x18(sp)
lw t9,-0x73d8(gp)
or a2,v0,zero
or a1,s8,zero
jalr t9
_or a0,s6,zero
lw gp,0x18(sp)
lw a0,0x20(sp)
lw t9,-0x3514(gp)
jalr t9
_or a1,s1,zero
lw s3,0x0(s0)
lw v1,0x4(s0)
lw gp,0x18(sp)
beq s3,v1,0x002ded0c
_lw v0,0x24(sp)
sltiu v1,v0,0x32
bne v1,zero,0x002ded6c
_li a2,0x32
li a2,0x1
lw v0,0x50(sp)
addiu s4,v0,0x6d98
lw v0,0x0(s3)
li a3,0x20
lw t9,-0x36f8(gp)
or a1,s4,zero
or a0,s1,zero
lw v0,0x4(v0)
jalr t9
_sw v0,0x10(sp)
lw v0,0x4(s0)
addiu s3,s3,0x4
lw gp,0x18(sp)
bne s3,v0,0x002decd8
_li a2,0x32
lw a0,0x20(sp)
beq a0,s5,0x002deb54
_lw t9,-0x7f44(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw t9,-0x73e4(gp)
jalr t9
_or a0,s2,zero
lw gp,0x18(sp)
bne v0,s7,0x002deb10
_or s2,v0,zero
b 0x002deb70
_lw a1,0x40(sp)
lw t9,-0x71b0(gp)
or a3,zero,zero
or a2,zero,zero
sw v0,0x10(sp)
or a1,s8,zero
jalr t9
_or a0,s6,zero
lw gp,0x18(sp)
b 0x002debec
_lw a0,0x20(sp)
b 0x002decd0
_subu a2,a2,v0
b 0x002debe0
_li v0,0xf
li v0,0x1
or a3,zero,zero
or a2,zero,zero
sw v0,0x10(sp)
or a1,s3,zero
jalr t9
_or a0,s6,zero
lw gp,0x18(sp)
b 0x002dec40
_lw v0,0x20(sp)
b 0x002dec34
_li v1,0xf
li a1,0x86
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x6de8
jalr t9
_addiu a0,a0,0x3860
lw a0,-0x7fc4(gp)
lw t9,-0x73cc(gp)
jalr t9
_addiu a0,a0,0x446c
(translation_unit "/* gold::Cref_inputs::print_cref(gold::Symbol_table const*, _IO_FILE*) const */\n\nvoid __thiscall\ngold::Cref_inputs::print_cref(Cref_inputs *this,Symbol_table *param_1,_IO_FILE *param_2)\n\n{\n  int *piVar1;\n  undefined4 *puVar2;\n  uint uVar3;\n  int iVar4;\n  Cref_inputs *pCVar5;\n  int *piVar6;\n  uint uVar7;\n  undefined *puVar8;\n  int iVar9;\n  uint uVar10;\n  uint *local_68;\n  uint local_64;\n  uint local_60 [4];\n  map amStack_50 [4];\n  undefined4 local_4c;\n  _Rb_tree_node *local_48;\n  undefined4 *local_44;\n  undefined4 *local_40;\n  undefined4 local_3c;\n  undefined *local_38;\n  int local_34;\n  map *local_30;\n  \n  local_30 = amStack_50;\n  local_4c = 0;\n  local_48 = (_Rb_tree_node *)0x0;\n                    /* try { // try from 002deaa4 to 002debbf has its CatchHandler @ 002dedd4 */\n  local_3c = 0;\n  local_44 = &local_4c;\n  local_40 = &local_4c;\n  gather_cref(this,(vector *)this,local_30);\n  pCVar5 = *(Cref_inputs **)(this + 0x18);\n  puVar2 = local_44;\n  while (local_44 = puVar2, this + 0x10 != pCVar5) {\n    gather_cref(this,*(vector **)(pCVar5 + 0x40),local_30);\n    pCVar5 = (Cref_inputs *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5);\n    puVar2 = local_44;\n  }\n  if (puVar2 != &local_4c) {\n    local_34 = 0x7fffffff;\n    local_38 = PTR_s_in_a_linker_script_004c191c;\n    do {\n      while( true ) {\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }\n      iVar4 = *(int *)(*piVar1 + 0x2c);\n      while (iVar4 < 0) {\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }\n      iVar4 = puVar2[4];\n      (*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4);\n      uVar10 = local_64;\n      if (*(int *)(iVar4 + 4) != 0) {\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    /* try { // try from 002dec90 to 002dedd3 has its CatchHandler @ 002dedfc */\n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(local_68,param_2);\n      piVar1 = (int *)*piVar6;\n      if (piVar1 != (int *)piVar6[1]) {\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }\n      if (local_68 == local_60) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n    } while (puVar2 != &local_4c);\n  }\nLAB_002deb70:\n  std::\n  _Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n  ::_M_erase((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48);\n  return;\n}\n\n" comment (function_definition "void __thiscall\ngold::Cref_inputs::print_cref(Cref_inputs *this,Symbol_table *param_1,_IO_FILE *param_2)\n\n{\n  int *piVar1;\n  undefined4 *puVar2;\n  uint uVar3;\n  int iVar4;\n  Cref_inputs *pCVar5;\n  int *piVar6;\n  uint uVar7;\n  undefined *puVar8;\n  int iVar9;\n  uint uVar10;\n  uint *local_68;\n  uint local_64;\n  uint local_60 [4];\n  map amStack_50 [4];\n  undefined4 local_4c;\n  _Rb_tree_node *local_48;\n  undefined4 *local_44;\n  undefined4 *local_40;\n  undefined4 local_3c;\n  undefined *local_38;\n  int local_34;\n  map *local_30;\n  \n  local_30 = amStack_50;\n  local_4c = 0;\n  local_48 = (_Rb_tree_node *)0x0;\n                    /* try { // try from 002deaa4 to 002debbf has its CatchHandler @ 002dedd4 */\n  local_3c = 0;\n  local_44 = &local_4c;\n  local_40 = &local_4c;\n  gather_cref(this,(vector *)this,local_30);\n  pCVar5 = *(Cref_inputs **)(this + 0x18);\n  puVar2 = local_44;\n  while (local_44 = puVar2, this + 0x10 != pCVar5) {\n    gather_cref(this,*(vector **)(pCVar5 + 0x40),local_30);\n    pCVar5 = (Cref_inputs *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5);\n    puVar2 = local_44;\n  }\n  if (puVar2 != &local_4c) {\n    local_34 = 0x7fffffff;\n    local_38 = PTR_s_in_a_linker_script_004c191c;\n    do {\n      while( true ) {\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }\n      iVar4 = *(int *)(*piVar1 + 0x2c);\n      while (iVar4 < 0) {\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }\n      iVar4 = puVar2[4];\n      (*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4);\n      uVar10 = local_64;\n      if (*(int *)(iVar4 + 4) != 0) {\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    /* try { // try from 002dec90 to 002dedd3 has its CatchHandler @ 002dedfc */\n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(local_68,param_2);\n      piVar1 = (int *)*piVar6;\n      if (piVar1 != (int *)piVar6[1]) {\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }\n      if (local_68 == local_60) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n    } while (puVar2 != &local_4c);\n  }\nLAB_002deb70:\n  std::\n  _Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n  ::_M_erase((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48);\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Cref_inputs::" identifier : : identifier : :) (function_declarator "print_cref(Cref_inputs *this,Symbol_table *param_1,_IO_FILE *param_2)" identifier (parameter_list "(Cref_inputs *this,Symbol_table *param_1,_IO_FILE *param_2)" ( (parameter_declaration "Cref_inputs *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol_table *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "_IO_FILE *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  int *piVar1;\n  undefined4 *puVar2;\n  uint uVar3;\n  int iVar4;\n  Cref_inputs *pCVar5;\n  int *piVar6;\n  uint uVar7;\n  undefined *puVar8;\n  int iVar9;\n  uint uVar10;\n  uint *local_68;\n  uint local_64;\n  uint local_60 [4];\n  map amStack_50 [4];\n  undefined4 local_4c;\n  _Rb_tree_node *local_48;\n  undefined4 *local_44;\n  undefined4 *local_40;\n  undefined4 local_3c;\n  undefined *local_38;\n  int local_34;\n  map *local_30;\n  \n  local_30 = amStack_50;\n  local_4c = 0;\n  local_48 = (_Rb_tree_node *)0x0;\n                    /* try { // try from 002deaa4 to 002debbf has its CatchHandler @ 002dedd4 */\n  local_3c = 0;\n  local_44 = &local_4c;\n  local_40 = &local_4c;\n  gather_cref(this,(vector *)this,local_30);\n  pCVar5 = *(Cref_inputs **)(this + 0x18);\n  puVar2 = local_44;\n  while (local_44 = puVar2, this + 0x10 != pCVar5) {\n    gather_cref(this,*(vector **)(pCVar5 + 0x40),local_30);\n    pCVar5 = (Cref_inputs *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5);\n    puVar2 = local_44;\n  }\n  if (puVar2 != &local_4c) {\n    local_34 = 0x7fffffff;\n    local_38 = PTR_s_in_a_linker_script_004c191c;\n    do {\n      while( true ) {\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }\n      iVar4 = *(int *)(*piVar1 + 0x2c);\n      while (iVar4 < 0) {\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }\n      iVar4 = puVar2[4];\n      (*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4);\n      uVar10 = local_64;\n      if (*(int *)(iVar4 + 4) != 0) {\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    /* try { // try from 002dec90 to 002dedd3 has its CatchHandler @ 002dedfc */\n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(local_68,param_2);\n      piVar1 = (int *)*piVar6;\n      if (piVar1 != (int *)piVar6[1]) {\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }\n      if (local_68 == local_60) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n    } while (puVar2 != &local_4c);\n  }\nLAB_002deb70:\n  std::\n  _Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n  ::_M_erase((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48);\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "Cref_inputs *pCVar5;" type_identifier (pointer_declarator "*pCVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint *local_68;" type_identifier (pointer_declarator "*local_68" * identifier) ;) (declaration "uint local_64;" type_identifier identifier ;) (declaration "uint local_60 [4];" type_identifier (array_declarator "local_60 [4]" identifier [ number_literal ]) ;) (declaration "map amStack_50 [4];" type_identifier (array_declarator "amStack_50 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "_Rb_tree_node *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "undefined4 *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "undefined4 *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "map *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (expression_statement "local_30 = amStack_50;" (assignment_expression "local_30 = amStack_50" identifier = identifier) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "local_48 = (_Rb_tree_node *)0x0;" (assignment_expression "local_48 = (_Rb_tree_node *)0x0" identifier = (cast_expression "(_Rb_tree_node *)0x0" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) comment (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_44 = &local_4c;" (assignment_expression "local_44 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "local_40 = &local_4c;" (assignment_expression "local_40 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "gather_cref(this,(vector *)this,local_30);" (call_expression "gather_cref(this,(vector *)this,local_30)" identifier (argument_list "(this,(vector *)this,local_30)" ( identifier , (cast_expression "(vector *)this" ( (type_descriptor "vector *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "pCVar5 = *(Cref_inputs **)(this + 0x18);" (assignment_expression "pCVar5 = *(Cref_inputs **)(this + 0x18)" identifier = (pointer_expression "*(Cref_inputs **)(this + 0x18)" * (cast_expression "(Cref_inputs **)(this + 0x18)" ( (type_descriptor "Cref_inputs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x18)" ( (binary_expression "this + 0x18" identifier + number_literal) ))))) ;) (expression_statement "puVar2 = local_44;" (assignment_expression "puVar2 = local_44" identifier = identifier) ;) (while_statement "while (local_44 = puVar2, this + 0x10 != pCVar5) {\n    gather_cref(this,*(vector **)(pCVar5 + 0x40),local_30);\n    pCVar5 = (Cref_inputs *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5);\n    puVar2 = local_44;\n  }" while (parenthesized_expression "(local_44 = puVar2, this + 0x10 != pCVar5)" ( (comma_expression "local_44 = puVar2, this + 0x10 != pCVar5" (assignment_expression "local_44 = puVar2" identifier = identifier) , (binary_expression "this + 0x10 != pCVar5" (binary_expression "this + 0x10" identifier + number_literal) != identifier)) )) (compound_statement "{\n    gather_cref(this,*(vector **)(pCVar5 + 0x40),local_30);\n    pCVar5 = (Cref_inputs *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5);\n    puVar2 = local_44;\n  }" { (expression_statement "gather_cref(this,*(vector **)(pCVar5 + 0x40),local_30);" (call_expression "gather_cref(this,*(vector **)(pCVar5 + 0x40),local_30)" identifier (argument_list "(this,*(vector **)(pCVar5 + 0x40),local_30)" ( identifier , (pointer_expression "*(vector **)(pCVar5 + 0x40)" * (cast_expression "(vector **)(pCVar5 + 0x40)" ( (type_descriptor "vector **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pCVar5 + 0x40)" ( (binary_expression "pCVar5 + 0x40" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "pCVar5 = (Cref_inputs *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5);" (assignment_expression "pCVar5 = (Cref_inputs *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5)" identifier = (cast_expression "(Cref_inputs *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5)" ( (type_descriptor "Cref_inputs *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5)" (parenthesized_expression "(*(code *)PTR__Rb_tree_increment_004c1e5c)" ( (pointer_expression "*(code *)PTR__Rb_tree_increment_004c1e5c" * (cast_expression "(code *)PTR__Rb_tree_increment_004c1e5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pCVar5)" ( identifier ))))) ;) (expression_statement "puVar2 = local_44;" (assignment_expression "puVar2 = local_44" identifier = identifier) ;) })) (if_statement "if (puVar2 != &local_4c) {\n    local_34 = 0x7fffffff;\n    local_38 = PTR_s_in_a_linker_script_004c191c;\n    do {\n      while( true ) {\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }\n      iVar4 = *(int *)(*piVar1 + 0x2c);\n      while (iVar4 < 0) {\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }\n      iVar4 = puVar2[4];\n      (*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4);\n      uVar10 = local_64;\n      if (*(int *)(iVar4 + 4) != 0) {\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    /* try { // try from 002dec90 to 002dedd3 has its CatchHandler @ 002dedfc */\n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(local_68,param_2);\n      piVar1 = (int *)*piVar6;\n      if (piVar1 != (int *)piVar6[1]) {\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }\n      if (local_68 == local_60) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n    } while (puVar2 != &local_4c);\n  }" if (parenthesized_expression "(puVar2 != &local_4c)" ( (binary_expression "puVar2 != &local_4c" identifier != (pointer_expression "&local_4c" & identifier)) )) (compound_statement "{\n    local_34 = 0x7fffffff;\n    local_38 = PTR_s_in_a_linker_script_004c191c;\n    do {\n      while( true ) {\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }\n      iVar4 = *(int *)(*piVar1 + 0x2c);\n      while (iVar4 < 0) {\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }\n      iVar4 = puVar2[4];\n      (*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4);\n      uVar10 = local_64;\n      if (*(int *)(iVar4 + 4) != 0) {\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    /* try { // try from 002dec90 to 002dedd3 has its CatchHandler @ 002dedfc */\n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(local_68,param_2);\n      piVar1 = (int *)*piVar6;\n      if (piVar1 != (int *)piVar6[1]) {\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }\n      if (local_68 == local_60) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n    } while (puVar2 != &local_4c);\n  }" { (expression_statement "local_34 = 0x7fffffff;" (assignment_expression "local_34 = 0x7fffffff" identifier = number_literal) ;) (expression_statement "local_38 = PTR_s_in_a_linker_script_004c191c;" (assignment_expression "local_38 = PTR_s_in_a_linker_script_004c191c" identifier = identifier) ;) (do_statement "do {\n      while( true ) {\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }\n      iVar4 = *(int *)(*piVar1 + 0x2c);\n      while (iVar4 < 0) {\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }\n      iVar4 = puVar2[4];\n      (*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4);\n      uVar10 = local_64;\n      if (*(int *)(iVar4 + 4) != 0) {\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    /* try { // try from 002dec90 to 002dedd3 has its CatchHandler @ 002dedfc */\n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(local_68,param_2);\n      piVar1 = (int *)*piVar6;\n      if (piVar1 != (int *)piVar6[1]) {\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }\n      if (local_68 == local_60) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n    } while (puVar2 != &local_4c);" do (compound_statement "{\n      while( true ) {\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }\n      iVar4 = *(int *)(*piVar1 + 0x2c);\n      while (iVar4 < 0) {\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }\n      iVar4 = puVar2[4];\n      (*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4);\n      uVar10 = local_64;\n      if (*(int *)(iVar4 + 4) != 0) {\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    /* try { // try from 002dec90 to 002dedd3 has its CatchHandler @ 002dedfc */\n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(local_68,param_2);\n      piVar1 = (int *)*piVar6;\n      if (piVar1 != (int *)piVar6[1]) {\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }\n      if (local_68 == local_60) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n    }" { (while_statement "while( true ) {\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }" { (expression_statement "piVar6 = (int *)puVar2[5];" (assignment_expression "piVar6 = (int *)puVar2[5]" identifier = (cast_expression "(int *)puVar2[5]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar2[5]" identifier [ number_literal ]))) ;) (expression_statement "piVar1 = (int *)*piVar6;" (assignment_expression "piVar1 = (int *)*piVar6" identifier = (cast_expression "(int *)*piVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar6" * identifier))) ;) (if_statement "if (piVar1 != (int *)piVar6[1]) break;" if (parenthesized_expression "(piVar1 != (int *)piVar6[1])" ( (binary_expression "piVar1 != (int *)piVar6[1]" identifier != (cast_expression "(int *)piVar6[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar6[1]" identifier [ number_literal ]))) )) (break_statement "break;" break ;)) (labeled_statement "LAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);" statement_identifier : (expression_statement "puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);" (assignment_expression "puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2)" (parenthesized_expression "(*(code *)PTR__Rb_tree_increment_004c1e5c)" ( (pointer_expression "*(code *)PTR__Rb_tree_increment_004c1e5c" * (cast_expression "(code *)PTR__Rb_tree_increment_004c1e5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2)" ( identifier ))))) ;)) (if_statement "if (puVar2 == &local_4c) goto LAB_002deb70;" if (parenthesized_expression "(puVar2 == &local_4c)" ( (binary_expression "puVar2 == &local_4c" identifier == (pointer_expression "&local_4c" & identifier)) )) (goto_statement "goto LAB_002deb70;" goto statement_identifier ;)) })) (expression_statement "iVar4 = *(int *)(*piVar1 + 0x2c);" (assignment_expression "iVar4 = *(int *)(*piVar1 + 0x2c)" identifier = (pointer_expression "*(int *)(*piVar1 + 0x2c)" * (cast_expression "(int *)(*piVar1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar1 + 0x2c)" ( (binary_expression "*piVar1 + 0x2c" (pointer_expression "*piVar1" * identifier) + number_literal) ))))) ;) (while_statement "while (iVar4 < 0) {\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }" while (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }" { (expression_statement "piVar1 = piVar1 + 1;" (assignment_expression "piVar1 = piVar1 + 1" identifier = (binary_expression "piVar1 + 1" identifier + number_literal)) ;) (if_statement "if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;" if (parenthesized_expression "(piVar1 == (int *)piVar6[1])" ( (binary_expression "piVar1 == (int *)piVar6[1]" identifier == (cast_expression "(int *)piVar6[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar6[1]" identifier [ number_literal ]))) )) (goto_statement "goto LAB_002deb58;" goto statement_identifier ;)) (expression_statement "iVar4 = *(int *)(*piVar1 + 0x2c);" (assignment_expression "iVar4 = *(int *)(*piVar1 + 0x2c)" identifier = (pointer_expression "*(int *)(*piVar1 + 0x2c)" * (cast_expression "(int *)(*piVar1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar1 + 0x2c)" ( (binary_expression "*piVar1 + 0x2c" (pointer_expression "*piVar1" * identifier) + number_literal) ))))) ;) })) (expression_statement "iVar4 = puVar2[4];" (assignment_expression "iVar4 = puVar2[4]" identifier = (subscript_expression "puVar2[4]" identifier [ number_literal ])) ;) (expression_statement "(*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4);" (call_expression "(*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4)" (parenthesized_expression "(*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)" ( (pointer_expression "*(code *)PTR_demangled_name_abi_cxx11__004c1cc8" * (cast_expression "(code *)PTR_demangled_name_abi_cxx11__004c1cc8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_68,iVar4)" ( (pointer_expression "&local_68" & identifier) , identifier ))) ;) (expression_statement "uVar10 = local_64;" (assignment_expression "uVar10 = local_64" identifier = identifier) ;) (if_statement "if (*(int *)(iVar4 + 4) != 0) {\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    /* try { // try from 002dec90 to 002dedd3 has its CatchHandler @ 002dedfc */\n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }" if (parenthesized_expression "(*(int *)(iVar4 + 4) != 0)" ( (binary_expression "*(int *)(iVar4 + 4) != 0" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    /* try { // try from 002dec90 to 002dedd3 has its CatchHandler @ 002dedfc */\n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }" { (expression_statement "uVar7 = local_64 + 1;" (assignment_expression "uVar7 = local_64 + 1" identifier = (binary_expression "local_64 + 1" identifier + number_literal)) ;) (expression_statement "uVar3 = local_60[0];" (assignment_expression "uVar3 = local_60[0]" identifier = (subscript_expression "local_60[0]" identifier [ number_literal ])) ;) (if_statement "if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }" if (parenthesized_expression "(local_68 == local_60)" ( (binary_expression "local_68 == local_60" identifier == identifier) )) (compound_statement "{\n          uVar3 = 0xf;\n        }" { (expression_statement "uVar3 = 0xf;" (assignment_expression "uVar3 = 0xf" identifier = number_literal) ;) })) (if_statement "if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }" if (parenthesized_expression "(uVar3 < uVar7)" ( (binary_expression "uVar3 < uVar7" identifier < identifier) )) (compound_statement "{\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }" { (expression_statement "(*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);" (call_expression "(*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1)" (parenthesized_expression "(*(code *)PTR__M_mutate_004c2090)" ( (pointer_expression "*(code *)PTR__M_mutate_004c2090" * (cast_expression "(code *)PTR__M_mutate_004c2090" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_68,local_64,0,0,1)" ( (pointer_expression "&local_68" & identifier) , identifier , number_literal , number_literal , number_literal ))) ;) })) (expression_statement "*(undefined1 *)((int)local_68 + uVar10) = 0x40;" (assignment_expression "*(undefined1 *)((int)local_68 + uVar10) = 0x40" (pointer_expression "*(undefined1 *)((int)local_68 + uVar10)" * (cast_expression "(undefined1 *)((int)local_68 + uVar10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_68 + uVar10)" ( (binary_expression "(int)local_68 + uVar10" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)local_68 + uVar7) = 0;" (assignment_expression "*(undefined1 *)((int)local_68 + uVar7) = 0" (pointer_expression "*(undefined1 *)((int)local_68 + uVar7)" * (cast_expression "(undefined1 *)((int)local_68 + uVar7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_68 + uVar7)" ( (binary_expression "(int)local_68 + uVar7" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "iVar9 = *(int *)(iVar4 + 4);" (assignment_expression "iVar9 = *(int *)(iVar4 + 4)" identifier = (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_64 = uVar7;" (assignment_expression "local_64 = uVar7" identifier = identifier) ;) (if_statement "if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x6de8" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }" if (parenthesized_expression "(*(int *)(iVar4 + 0x28) << 0x13 < 0)" ( (binary_expression "*(int *)(iVar4 + 0x28) << 0x13 < 0" (binary_expression "*(int *)(iVar4 + 0x28) << 0x13" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }" { (expression_statement "uVar10 = uVar10 + 2;" (assignment_expression "uVar10 = uVar10 + 2" identifier = (binary_expression "uVar10 + 2" identifier + number_literal)) ;) (expression_statement "uVar3 = local_60[0];" (assignment_expression "uVar3 = local_60[0]" identifier = (subscript_expression "local_60[0]" identifier [ number_literal ])) ;) (if_statement "if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }" if (parenthesized_expression "(local_68 == local_60)" ( (binary_expression "local_68 == local_60" identifier == identifier) )) (compound_statement "{\n            uVar3 = 0xf;\n          }" { (expression_statement "uVar3 = 0xf;" (assignment_expression "uVar3 = 0xf" identifier = number_literal) ;) })) (if_statement "if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }" if (parenthesized_expression "(uVar3 < uVar10)" ( (binary_expression "uVar3 < uVar10" identifier < identifier) )) (compound_statement "{\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }" { (expression_statement "(*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);" (call_expression "(*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1)" (parenthesized_expression "(*(code *)PTR__M_mutate_004c2090)" ( (pointer_expression "*(code *)PTR__M_mutate_004c2090" * (cast_expression "(code *)PTR__M_mutate_004c2090" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_68,uVar7,0,0,1)" ( (pointer_expression "&local_68" & identifier) , identifier , number_literal , number_literal , number_literal ))) ;) })) (expression_statement "*(undefined1 *)((int)local_68 + uVar7) = 0x40;" (assignment_expression "*(undefined1 *)((int)local_68 + uVar7) = 0x40" (pointer_expression "*(undefined1 *)((int)local_68 + uVar7)" * (cast_expression "(undefined1 *)((int)local_68 + uVar7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_68 + uVar7)" ( (binary_expression "(int)local_68 + uVar7" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)local_68 + uVar10) = 0;" (assignment_expression "*(undefined1 *)((int)local_68 + uVar10) = 0" (pointer_expression "*(undefined1 *)((int)local_68 + uVar10)" * (cast_expression "(undefined1 *)((int)local_68 + uVar10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_68 + uVar10)" ( (binary_expression "(int)local_68 + uVar10" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "iVar9 = *(int *)(iVar4 + 4);" (assignment_expression "iVar9 = *(int *)(iVar4 + 4)" identifier = (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_64 = uVar10;" (assignment_expression "local_64 = uVar10" identifier = identifier) ;) })) (expression_statement "uVar10 = local_64;" (assignment_expression "uVar10 = local_64" identifier = identifier) ;) (expression_statement "uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);" (assignment_expression "uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(iVar9)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9)" ( identifier )))) ;) (if_statement "if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }" if (parenthesized_expression "(local_34 - uVar10 < uVar3)" ( (binary_expression "local_34 - uVar10 < uVar3" (binary_expression "local_34 - uVar10" identifier - identifier) < identifier) )) (compound_statement "{\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }" { (expression_statement "(*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);" (call_expression "(*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" (parenthesized_expression "(*(code *)PTR___throw_length_error_004c1e74)" ( (pointer_expression "*(code *)PTR___throw_length_error_004c1e74" * (cast_expression "(code *)PTR___throw_length_error_004c1e74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) comment (expression_statement "(*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);" (call_expression "(*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3)" (parenthesized_expression "(*(code *)PTR__M_append_004c1e68)" ( (pointer_expression "*(code *)PTR__M_append_004c1e68" * (cast_expression "(code *)PTR__M_append_004c1e68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_68,iVar9,uVar3)" ( (pointer_expression "&local_68" & identifier) , identifier , identifier ))) ;) })) (expression_statement "(*(code *)PTR_fputs_004c5d2c)(local_68,param_2);" (call_expression "(*(code *)PTR_fputs_004c5d2c)(local_68,param_2)" (parenthesized_expression "(*(code *)PTR_fputs_004c5d2c)" ( (pointer_expression "*(code *)PTR_fputs_004c5d2c" * (cast_expression "(code *)PTR_fputs_004c5d2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_68,param_2)" ( identifier , identifier ))) ;) (expression_statement "piVar1 = (int *)*piVar6;" (assignment_expression "piVar1 = (int *)*piVar6" identifier = (cast_expression "(int *)*piVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar6" * identifier))) ;) (if_statement "if (piVar1 != (int *)piVar6[1]) {\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }" if (parenthesized_expression "(piVar1 != (int *)piVar6[1])" ( (binary_expression "piVar1 != (int *)piVar6[1]" identifier != (cast_expression "(int *)piVar6[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar6[1]" identifier [ number_literal ]))) )) (compound_statement "{\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }" { (if_statement "if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }" if (parenthesized_expression "(local_64 < 0x32)" ( (binary_expression "local_64 < 0x32" identifier < number_literal) )) (compound_statement "{\n          iVar4 = 0x32 - local_64;\n        }" { (expression_statement "iVar4 = 0x32 - local_64;" (assignment_expression "iVar4 = 0x32 - local_64" identifier = (binary_expression "0x32 - local_64" number_literal - identifier)) ;) }) (else_clause "else {\n          iVar4 = 1;\n        }" else (compound_statement "{\n          iVar4 = 1;\n        }" { (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) }))) (expression_statement "puVar8 = local_38 + 0x6d98;" (assignment_expression "puVar8 = local_38 + 0x6d98" identifier = (binary_expression "local_38 + 0x6d98" identifier + number_literal)) ;) (do_statement "do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);" do (compound_statement "{\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        }" { (expression_statement "(*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));" (call_expression "(*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4))" (parenthesized_expression "(*(code *)PTR_fprintf_004c5b48)" ( (pointer_expression "*(code *)PTR_fprintf_004c5b48" * (cast_expression "(code *)PTR_fprintf_004c5b48" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4))" ( identifier , identifier , identifier , number_literal , (pointer_expression "*(undefined4 *)(*piVar1 + 4)" * (cast_expression "(undefined4 *)(*piVar1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar1 + 4)" ( (binary_expression "*piVar1 + 4" (pointer_expression "*piVar1" * identifier) + number_literal) )))) ))) ;) (expression_statement "piVar1 = piVar1 + 1;" (assignment_expression "piVar1 = piVar1 + 1" identifier = (binary_expression "piVar1 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = 0x32;" (assignment_expression "iVar4 = 0x32" identifier = number_literal) ;) }) while (parenthesized_expression "(piVar1 != (int *)piVar6[1])" ( (binary_expression "piVar1 != (int *)piVar6[1]" identifier != (cast_expression "(int *)piVar6[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar6[1]" identifier [ number_literal ]))) )) ;) })) (if_statement "if (local_68 == local_60) goto LAB_002deb58;" if (parenthesized_expression "(local_68 == local_60)" ( (binary_expression "local_68 == local_60" identifier == identifier) )) (goto_statement "goto LAB_002deb58;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);" (assignment_expression "puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2)" (parenthesized_expression "(*(code *)PTR__Rb_tree_increment_004c1e5c)" ( (pointer_expression "*(code *)PTR__Rb_tree_increment_004c1e5c" * (cast_expression "(code *)PTR__Rb_tree_increment_004c1e5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2)" ( identifier ))))) ;) }) while (parenthesized_expression "(puVar2 != &local_4c)" ( (binary_expression "puVar2 != &local_4c" identifier != (pointer_expression "&local_4c" & identifier)) )) ;) })) (labeled_statement "LAB_002deb70:\n  std::\n  _Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n  ::_M_erase((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48);" statement_identifier : (ERROR "std::\n  _Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::" (comma_expression "std::\n  _Rb_tree<gold::Symbol_const*,std" identifier (ERROR "::\n  _Rb_tree<gold::Symbol_const*" : : (binary_expression "_Rb_tree<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (comma_expression "Symbol_const*const,std" (binary_expression "Symbol_const*const" identifier * identifier) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (binary_expression "Object*,std" identifier * (ERROR "," ,) identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Object*>>*>,std" identifier * (ERROR ">>" >>) (pointer_expression "*>,std" * (ERROR ">," > ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (comma_expression "Symbol_const*const,std" (binary_expression "Symbol_const*const" identifier * identifier) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (binary_expression "Object*,std" identifier * (ERROR "," ,) identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Object*>>*>>,gold" identifier * (ERROR ">>" >>) (pointer_expression "*>>,gold" * (ERROR ">>," >> ,) identifier)) : : (comma_expression "Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std" identifier (ERROR "::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*" : : (comma_expression "Cref_table_compare,std" identifier , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (comma_expression "Symbol_const*const,std" (binary_expression "Symbol_const*const" identifier * identifier) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Object*>>*>>>\n  ::_M_erase((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48);" (binary_expression "Object*>>*>>>\n  ::_M_erase((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48)" identifier * (ERROR ">>" >>) (pointer_expression "*>>>\n  ::_M_erase((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48)" * (ERROR ">>>\n  ::" >> > : :) (call_expression "_M_erase((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48)" identifier (argument_list "((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48)" ( (parenthesized_expression "(_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48)" ( (ERROR "_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::" (comma_expression "_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std" (binary_expression "_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const" (binary_expression "_Rb_tree<gold::Symbol_const*,std::pair<gold" (binary_expression "_Rb_tree<gold::Symbol_const*,std" (binary_expression "_Rb_tree<gold" identifier < identifier) (ERROR "::Symbol_const" : : identifier) * (ERROR "," ,) identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Symbol_const" : : identifier) * identifier) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (type_descriptor "Object*" type_identifier (abstract_pointer_declarator "*" *)) , identifier : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Object*>>*>,std" identifier * (ERROR ">>" >>) (pointer_expression "*>,std" * (ERROR ">," > ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (comma_expression "Symbol_const*const,std" (binary_expression "Symbol_const*const" identifier * identifier) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (type_descriptor "Object*" type_identifier (abstract_pointer_declarator "*" *)) , identifier : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Object*>>*>>,gold" identifier * (ERROR ">>" >>) (pointer_expression "*>>,gold" * (ERROR ">>," >> ,) identifier)) : : identifier : : (comma_expression "Cref_table_compare,std" identifier , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (comma_expression "Symbol_const*const,std" (binary_expression "Symbol_const*const" identifier * identifier) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (type_descriptor "Object*" type_identifier (abstract_pointer_declarator "*" *)) , identifier : : (binary_expression "allocator<gold" identifier < identifier) : :) (comma_expression "Object*>>*>>>\n              *)local_30,local_48" (binary_expression "Object*>>*>>>\n              *)local_30" identifier * (ERROR ">>" >>) (pointer_expression "*>>>\n              *)local_30" * (ERROR ">>>" >> >) (pointer_expression "*)local_30" * (ERROR ")" )) identifier))) , identifier) )) ))))) ;)) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* DWARF original prototype: void print_cref(Cref_inputs * this, Symbol_table * param_1, FILE * f)\n    */\n\nvoid __thiscall gold::Cref_inputs::print_cref(Cref_inputs *this,Symbol_table *param_1,FILE *f)\n\n{\n  undefined *puVar1;\n  size_type sVar2;\n  _Base_ptr p_Var3;\n  undefined4 uVar4;\n  _Base_ptr p_Var5;\n  _Base_ptr p_Var6;\n  _Base_ptr p_Var7;\n  uint uVar8;\n  _Rb_tree_color _Var9;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar10;\n  _Rb_tree_header *p_Var11;\n  int iVar12;\n  uint uVar13;\n  string s;\n  Cref_table table;\n  \n  p_Var11 = &table._M_t._M_impl.super__Rb_tree_header;\n  table._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;\n  table._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;\n                    /* try { // try from 002deaa4 to 002debbf has its CatchHandler @ 002dedd4 */\n  table._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;\n  table._M_t._M_impl.super__Rb_tree_header._M_header._M_left = &p_Var11->_M_header;\n  table._M_t._M_impl.super__Rb_tree_header._M_header._M_right = &p_Var11->_M_header;\n  gather_cref(this,&this->objects_,(Cref_table *)&table._M_t);\n  p_Var6 = (this->archives_)._M_t._M_impl.super__Rb_tree_header._M_header._M_left;\n  p_Var3 = table._M_t._M_impl.super__Rb_tree_header._M_header._M_left;\n  while (puVar1 = PTR_s_in_a_linker_script_004c191c,\n        table._M_t._M_impl.super__Rb_tree_header._M_header._M_left = p_Var3,\n        &(this->archives_)._M_t._M_impl.super__Rb_tree_header != (_Rb_tree_header *)p_Var6) {\n    gather_cref(this,(Objects *)p_Var6[4]._M_color,(Cref_table *)&table._M_t);\n    p_Var6 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var6);\n    p_Var3 = table._M_t._M_impl.super__Rb_tree_header._M_header._M_left;\n  }\n  if ((_Rb_tree_header *)p_Var3 != p_Var11) {\n    paVar10 = &s.field_2;\n    do {\n      while( true ) {\n        p_Var7 = p_Var3[1]._M_parent;\n        p_Var6 = (_Base_ptr)p_Var7->_M_color;\n        if (p_Var6 != p_Var7->_M_parent) break;\nLAB_002deb58:\n        p_Var3 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var3);\n        if ((_Rb_tree_header *)p_Var3 == p_Var11) goto LAB_002deb70;\n      }\n      p_Var5 = *(_Base_ptr *)(p_Var6->_M_color + 0x2c);\n      while ((int)p_Var5 < 0) {\n        p_Var6 = (_Base_ptr)&p_Var6->_M_parent;\n        if (p_Var6 == p_Var7->_M_parent) goto LAB_002deb58;\n        p_Var5 = (*(_Base_ptr *)p_Var6)[2]._M_right;\n      }\n      _Var9 = p_Var3[1]._M_color;\n      (*(code *)PTR_demangled_name_004c1cc8)(&s,_Var9);\n      sVar2 = s._M_string_length;\n      if (*(int *)(_Var9 + 4) != 0) {\n        uVar8 = s._M_string_length + 1;\n        uVar4 = s.field_2._M_allocated_capacity;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)s._M_dataplus._M_p == paVar10) {\n          uVar4 = 0xf;\n        }\n        if (uVar4 < uVar8) {\n          (*(code *)PTR__M_mutate_004c2090)(&s,s._M_string_length,0,0,1);\n        }\n        s._M_dataplus._M_p[sVar2] = '@';\n        s._M_dataplus._M_p[uVar8] = '\0';\n        iVar12 = *(int *)(_Var9 + 4);\n        s._M_string_length = uVar8;\n        if (iVar12 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\nLAB_002dedc4:\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n        if (*(int *)(_Var9 + 0x28) << 0x13 < 0) {\n          uVar13 = sVar2 + 2;\n          uVar4 = s.field_2._M_allocated_capacity;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)s._M_dataplus._M_p == paVar10) {\n            uVar4 = 0xf;\n          }\n          if (uVar4 < uVar13) {\n            (*(code *)PTR__M_mutate_004c2090)(&s,uVar8,0,0,1);\n          }\n          s._M_dataplus._M_p[uVar8] = '@';\n          s._M_dataplus._M_p[uVar13] = '\0';\n          iVar12 = *(int *)(_Var9 + 4);\n          s._M_string_length = uVar13;\n        }\n        sVar2 = s._M_string_length;\n        uVar8 = (*(code *)PTR_strlen_004c5b9c)(iVar12);\n        if (0x7fffffff - sVar2 < uVar8) goto LAB_002dedc4;\n                    /* try { // try from 002dec90 to 002dedd3 has its CatchHandler @ 002dedfc */\n        (*(code *)PTR__M_append_004c1e68)(&s,iVar12,uVar8);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(s._M_dataplus._M_p,f);\n      p_Var6 = (_Base_ptr)p_Var7->_M_color;\n      if (p_Var6 != p_Var7->_M_parent) {\n        if (s._M_string_length < 0x32) {\n          iVar12 = 0x32 - s._M_string_length;\n        }\n        else {\n          iVar12 = 1;\n        }\n        do {\n          (*(code *)PTR_fprintf_004c5b48)\n                    (f,puVar1 + 0x6d98,iVar12,0x20,*(undefined4 *)(p_Var6->_M_color + 4));\n          p_Var6 = (_Base_ptr)&p_Var6->_M_parent;\n          iVar12 = 0x32;\n        } while (p_Var6 != p_Var7->_M_parent);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)s._M_dataplus._M_p == paVar10) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      p_Var3 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var3);\n    } while ((_Rb_tree_header *)p_Var3 != p_Var11);\n  }\nLAB_002deb70:\n  std::\n  _Rb_tree<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_std::vector<gold::Object*,_std::allocator<gold::Object*>_>*>,_std::_Select1st<std::pair<const_gold::Symbol*_const,_std::vector<gold::Object*,_std::allocator<gold::Object*>_>*>_>,_gold::Cref_inputs::Cref_table_compare,_std::allocator<std::pair<const_gold::Symbol*_const,_std::vector<gold::Object*,_std::allocator<gold::Object*>_>*>_>_>\n  ::_M_erase(&table._M_t,(_Link_type)table._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);\n  return;\n}\n\n" comment comment comment comment (function_definition "void __thiscall gold::Cref_inputs::print_cref(Cref_inputs *this,Symbol_table *param_1,FILE *f)\n\n{\n  undefined *puVar1;\n  size_type sVar2;\n  _Base_ptr p_Var3;\n  undefined4 uVar4;\n  _Base_ptr p_Var5;\n  _Base_ptr p_Var6;\n  _Base_ptr p_Var7;\n  uint uVar8;\n  _Rb_tree_color _Var9;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar10;\n  _Rb_tree_header *p_Var11;\n  int iVar12;\n  uint uVar13;\n  string s;\n  Cref_table table;\n  \n  p_Var11 = &table._M_t._M_impl.super__Rb_tree_header;\n  table._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;\n  table._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;\n                    /* try { // try from 002deaa4 to 002debbf has its CatchHandler @ 002dedd4 */\n  table._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;\n  table._M_t._M_impl.super__Rb_tree_header._M_header._M_left = &p_Var11->_M_header;\n  table._M_t._M_impl.super__Rb_tree_header._M_header._M_right = &p_Var11->_M_header;\n  gather_cref(this,&this->objects_,(Cref_table *)&table._M_t);\n  p_Var6 = (this->archives_)._M_t._M_impl.super__Rb_tree_header._M_header._M_left;\n  p_Var3 = table._M_t._M_impl.super__Rb_tree_header._M_header._M_left;\n  while (puVar1 = PTR_s_in_a_linker_script_004c191c,\n        table._M_t._M_impl.super__Rb_tree_header._M_header._M_left = p_Var3,\n        &(this->archives_)._M_t._M_impl.super__Rb_tree_header != (_Rb_tree_header *)p_Var6) {\n    gather_cref(this,(Objects *)p_Var6[4]._M_color,(Cref_table *)&table._M_t);\n    p_Var6 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var6);\n    p_Var3 = table._M_t._M_impl.super__Rb_tree_header._M_header._M_left;\n  }\n  if ((_Rb_tree_header *)p_Var3 != p_Var11) {\n    paVar10 = &s.field_2;\n    do {\n      while( true ) {\n        p_Var7 = p_Var3[1]._M_parent;\n        p_Var6 = (_Base_ptr)p_Var7->_M_color;\n        if (p_Var6 != p_Var7->_M_parent) break;\nLAB_002deb58:\n        p_Var3 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var3);\n        if ((_Rb_tree_header *)p_Var3 == p_Var11) goto LAB_002deb70;\n      }\n      p_Var5 = *(_Base_ptr *)(p_Var6->_M_color + 0x2c);\n      while ((int)p_Var5 < 0) {\n        p_Var6 = (_Base_ptr)&p_Var6->_M_parent;\n        if (p_Var6 == p_Var7->_M_parent) goto LAB_002deb58;\n        p_Var5 = (*(_Base_ptr *)p_Var6)[2]._M_right;\n      }\n      _Var9 = p_Var3[1]._M_color;\n      (*(code *)PTR_demangled_name_004c1cc8)(&s,_Var9);\n      sVar2 = s._M_string_length;\n      if (*(int *)(_Var9 + 4) != 0) {\n        uVar8 = s._M_string_length + 1;\n        uVar4 = s.field_2._M_allocated_capacity;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)s._M_dataplus._M_p == paVar10) {\n          uVar4 = 0xf;\n        }\n        if (uVar4 < uVar8) {\n          (*(code *)PTR__M_mutate_004c2090)(&s,s._M_string_length,0,0,1);\n        }\n        s._M_dataplus._M_p[sVar2] = '@';\n        s._M_dataplus._M_p[uVar8] = '\0';\n        iVar12 = *(int *)(_Var9 + 4);\n        s._M_string_length = uVar8;\n        if (iVar12 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\nLAB_002dedc4:\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n        if (*(int *)(_Var9 + 0x28) << 0x13 < 0) {\n          uVar13 = sVar2 + 2;\n          uVar4 = s.field_2._M_allocated_capacity;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)s._M_dataplus._M_p == paVar10) {\n            uVar4 = 0xf;\n          }\n          if (uVar4 < uVar13) {\n            (*(code *)PTR__M_mutate_004c2090)(&s,uVar8,0,0,1);\n          }\n          s._M_dataplus._M_p[uVar8] = '@';\n          s._M_dataplus._M_p[uVar13] = '\0';\n          iVar12 = *(int *)(_Var9 + 4);\n          s._M_string_length = uVar13;\n        }\n        sVar2 = s._M_string_length;\n        uVar8 = (*(code *)PTR_strlen_004c5b9c)(iVar12);\n        if (0x7fffffff - sVar2 < uVar8) goto LAB_002dedc4;\n                    /* try { // try from 002dec90 to 002dedd3 has its CatchHandler @ 002dedfc */\n        (*(code *)PTR__M_append_004c1e68)(&s,iVar12,uVar8);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(s._M_dataplus._M_p,f);\n      p_Var6 = (_Base_ptr)p_Var7->_M_color;\n      if (p_Var6 != p_Var7->_M_parent) {\n        if (s._M_string_length < 0x32) {\n          iVar12 = 0x32 - s._M_string_length;\n        }\n        else {\n          iVar12 = 1;\n        }\n        do {\n          (*(code *)PTR_fprintf_004c5b48)\n                    (f,puVar1 + 0x6d98,iVar12,0x20,*(undefined4 *)(p_Var6->_M_color + 4));\n          p_Var6 = (_Base_ptr)&p_Var6->_M_parent;\n          iVar12 = 0x32;\n        } while (p_Var6 != p_Var7->_M_parent);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)s._M_dataplus._M_p == paVar10) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      p_Var3 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var3);\n    } while ((_Rb_tree_header *)p_Var3 != p_Var11);\n  }\nLAB_002deb70:\n  std::\n  _Rb_tree<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_std::vector<gold::Object*,_std::allocator<gold::Object*>_>*>,_std::_Select1st<std::pair<const_gold::Symbol*_const,_std::vector<gold::Object*,_std::allocator<gold::Object*>_>*>_>,_gold::Cref_inputs::Cref_table_compare,_std::allocator<std::pair<const_gold::Symbol*_const,_std::vector<gold::Object*,_std::allocator<gold::Object*>_>*>_>_>\n  ::_M_erase(&table._M_t,(_Link_type)table._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Cref_inputs::" identifier : : identifier : :) (function_declarator "print_cref(Cref_inputs *this,Symbol_table *param_1,FILE *f)" identifier (parameter_list "(Cref_inputs *this,Symbol_table *param_1,FILE *f)" ( (parameter_declaration "Cref_inputs *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol_table *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "FILE *f" type_identifier (pointer_declarator "*f" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  size_type sVar2;\n  _Base_ptr p_Var3;\n  undefined4 uVar4;\n  _Base_ptr p_Var5;\n  _Base_ptr p_Var6;\n  _Base_ptr p_Var7;\n  uint uVar8;\n  _Rb_tree_color _Var9;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar10;\n  _Rb_tree_header *p_Var11;\n  int iVar12;\n  uint uVar13;\n  string s;\n  Cref_table table;\n  \n  p_Var11 = &table._M_t._M_impl.super__Rb_tree_header;\n  table._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;\n  table._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;\n                    /* try { // try from 002deaa4 to 002debbf has its CatchHandler @ 002dedd4 */\n  table._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;\n  table._M_t._M_impl.super__Rb_tree_header._M_header._M_left = &p_Var11->_M_header;\n  table._M_t._M_impl.super__Rb_tree_header._M_header._M_right = &p_Var11->_M_header;\n  gather_cref(this,&this->objects_,(Cref_table *)&table._M_t);\n  p_Var6 = (this->archives_)._M_t._M_impl.super__Rb_tree_header._M_header._M_left;\n  p_Var3 = table._M_t._M_impl.super__Rb_tree_header._M_header._M_left;\n  while (puVar1 = PTR_s_in_a_linker_script_004c191c,\n        table._M_t._M_impl.super__Rb_tree_header._M_header._M_left = p_Var3,\n        &(this->archives_)._M_t._M_impl.super__Rb_tree_header != (_Rb_tree_header *)p_Var6) {\n    gather_cref(this,(Objects *)p_Var6[4]._M_color,(Cref_table *)&table._M_t);\n    p_Var6 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var6);\n    p_Var3 = table._M_t._M_impl.super__Rb_tree_header._M_header._M_left;\n  }\n  if ((_Rb_tree_header *)p_Var3 != p_Var11) {\n    paVar10 = &s.field_2;\n    do {\n      while( true ) {\n        p_Var7 = p_Var3[1]._M_parent;\n        p_Var6 = (_Base_ptr)p_Var7->_M_color;\n        if (p_Var6 != p_Var7->_M_parent) break;\nLAB_002deb58:\n        p_Var3 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var3);\n        if ((_Rb_tree_header *)p_Var3 == p_Var11) goto LAB_002deb70;\n      }\n      p_Var5 = *(_Base_ptr *)(p_Var6->_M_color + 0x2c);\n      while ((int)p_Var5 < 0) {\n        p_Var6 = (_Base_ptr)&p_Var6->_M_parent;\n        if (p_Var6 == p_Var7->_M_parent) goto LAB_002deb58;\n        p_Var5 = (*(_Base_ptr *)p_Var6)[2]._M_right;\n      }\n      _Var9 = p_Var3[1]._M_color;\n      (*(code *)PTR_demangled_name_004c1cc8)(&s,_Var9);\n      sVar2 = s._M_string_length;\n      if (*(int *)(_Var9 + 4) != 0) {\n        uVar8 = s._M_string_length + 1;\n        uVar4 = s.field_2._M_allocated_capacity;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)s._M_dataplus._M_p == paVar10) {\n          uVar4 = 0xf;\n        }\n        if (uVar4 < uVar8) {\n          (*(code *)PTR__M_mutate_004c2090)(&s,s._M_string_length,0,0,1);\n        }\n        s._M_dataplus._M_p[sVar2] = '@';\n        s._M_dataplus._M_p[uVar8] = '\0';\n        iVar12 = *(int *)(_Var9 + 4);\n        s._M_string_length = uVar8;\n        if (iVar12 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\nLAB_002dedc4:\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n        if (*(int *)(_Var9 + 0x28) << 0x13 < 0) {\n          uVar13 = sVar2 + 2;\n          uVar4 = s.field_2._M_allocated_capacity;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)s._M_dataplus._M_p == paVar10) {\n            uVar4 = 0xf;\n          }\n          if (uVar4 < uVar13) {\n            (*(code *)PTR__M_mutate_004c2090)(&s,uVar8,0,0,1);\n          }\n          s._M_dataplus._M_p[uVar8] = '@';\n          s._M_dataplus._M_p[uVar13] = '\0';\n          iVar12 = *(int *)(_Var9 + 4);\n          s._M_string_length = uVar13;\n        }\n        sVar2 = s._M_string_length;\n        uVar8 = (*(code *)PTR_strlen_004c5b9c)(iVar12);\n        if (0x7fffffff - sVar2 < uVar8) goto LAB_002dedc4;\n                    /* try { // try from 002dec90 to 002dedd3 has its CatchHandler @ 002dedfc */\n        (*(code *)PTR__M_append_004c1e68)(&s,iVar12,uVar8);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(s._M_dataplus._M_p,f);\n      p_Var6 = (_Base_ptr)p_Var7->_M_color;\n      if (p_Var6 != p_Var7->_M_parent) {\n        if (s._M_string_length < 0x32) {\n          iVar12 = 0x32 - s._M_string_length;\n        }\n        else {\n          iVar12 = 1;\n        }\n        do {\n          (*(code *)PTR_fprintf_004c5b48)\n                    (f,puVar1 + 0x6d98,iVar12,0x20,*(undefined4 *)(p_Var6->_M_color + 4));\n          p_Var6 = (_Base_ptr)&p_Var6->_M_parent;\n          iVar12 = 0x32;\n        } while (p_Var6 != p_Var7->_M_parent);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)s._M_dataplus._M_p == paVar10) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      p_Var3 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var3);\n    } while ((_Rb_tree_header *)p_Var3 != p_Var11);\n  }\nLAB_002deb70:\n  std::\n  _Rb_tree<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_std::vector<gold::Object*,_std::allocator<gold::Object*>_>*>,_std::_Select1st<std::pair<const_gold::Symbol*_const,_std::vector<gold::Object*,_std::allocator<gold::Object*>_>*>_>,_gold::Cref_inputs::Cref_table_compare,_std::allocator<std::pair<const_gold::Symbol*_const,_std::vector<gold::Object*,_std::allocator<gold::Object*>_>*>_>_>\n  ::_M_erase(&table._M_t,(_Link_type)table._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "size_type sVar2;" type_identifier identifier ;) (declaration "_Base_ptr p_Var3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "_Base_ptr p_Var5;" type_identifier identifier ;) (declaration "_Base_ptr p_Var6;" type_identifier identifier ;) (declaration "_Base_ptr p_Var7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "_Rb_tree_color _Var9;" type_identifier identifier ;) (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (expression_statement "allocator<char>_>_9\n  *paVar10;" (binary_expression "allocator<char>_>_9\n  *paVar10" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *paVar10" identifier * identifier)) ;) (declaration "_Rb_tree_header *p_Var11;" type_identifier (pointer_declarator "*p_Var11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "string s;" type_identifier identifier ;) (declaration "Cref_table table;" type_identifier identifier ;) (expression_statement "p_Var11 = &table._M_t._M_impl.super__Rb_tree_header;" (assignment_expression "p_Var11 = &table._M_t._M_impl.super__Rb_tree_header" identifier = (pointer_expression "&table._M_t._M_impl.super__Rb_tree_header" & (field_expression "table._M_t._M_impl.super__Rb_tree_header" (field_expression "table._M_t._M_impl" (field_expression "table._M_t" identifier . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "table._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;" (assignment_expression "table._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red" (field_expression "table._M_t._M_impl.super__Rb_tree_header._M_header._M_color" (field_expression "table._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "table._M_t._M_impl.super__Rb_tree_header" (field_expression "table._M_t._M_impl" (field_expression "table._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "table._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;" (assignment_expression "table._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0" (field_expression "table._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "table._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "table._M_t._M_impl.super__Rb_tree_header" (field_expression "table._M_t._M_impl" (field_expression "table._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) ;) comment (expression_statement "table._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;" (assignment_expression "table._M_t._M_impl.super__Rb_tree_header._M_node_count = 0" (field_expression "table._M_t._M_impl.super__Rb_tree_header._M_node_count" (field_expression "table._M_t._M_impl.super__Rb_tree_header" (field_expression "table._M_t._M_impl" (field_expression "table._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "table._M_t._M_impl.super__Rb_tree_header._M_header._M_left = &p_Var11->_M_header;" (assignment_expression "table._M_t._M_impl.super__Rb_tree_header._M_header._M_left = &p_Var11->_M_header" (field_expression "table._M_t._M_impl.super__Rb_tree_header._M_header._M_left" (field_expression "table._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "table._M_t._M_impl.super__Rb_tree_header" (field_expression "table._M_t._M_impl" (field_expression "table._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (pointer_expression "&p_Var11->_M_header" & (field_expression "p_Var11->_M_header" identifier -> field_identifier))) ;) (expression_statement "table._M_t._M_impl.super__Rb_tree_header._M_header._M_right = &p_Var11->_M_header;" (assignment_expression "table._M_t._M_impl.super__Rb_tree_header._M_header._M_right = &p_Var11->_M_header" (field_expression "table._M_t._M_impl.super__Rb_tree_header._M_header._M_right" (field_expression "table._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "table._M_t._M_impl.super__Rb_tree_header" (field_expression "table._M_t._M_impl" (field_expression "table._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (pointer_expression "&p_Var11->_M_header" & (field_expression "p_Var11->_M_header" identifier -> field_identifier))) ;) (expression_statement "gather_cref(this,&this->objects_,(Cref_table *)&table._M_t);" (call_expression "gather_cref(this,&this->objects_,(Cref_table *)&table._M_t)" identifier (argument_list "(this,&this->objects_,(Cref_table *)&table._M_t)" ( identifier , (pointer_expression "&this->objects_" & (field_expression "this->objects_" identifier -> field_identifier)) , (cast_expression "(Cref_table *)&table._M_t" ( (type_descriptor "Cref_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&table._M_t" & (field_expression "table._M_t" identifier . field_identifier))) ))) ;) (expression_statement "p_Var6 = (this->archives_)._M_t._M_impl.super__Rb_tree_header._M_header._M_left;" (assignment_expression "p_Var6 = (this->archives_)._M_t._M_impl.super__Rb_tree_header._M_header._M_left" identifier = (field_expression "(this->archives_)._M_t._M_impl.super__Rb_tree_header._M_header._M_left" (field_expression "(this->archives_)._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "(this->archives_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(this->archives_)._M_t._M_impl" (field_expression "(this->archives_)._M_t" (parenthesized_expression "(this->archives_)" ( (field_expression "this->archives_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "p_Var3 = table._M_t._M_impl.super__Rb_tree_header._M_header._M_left;" (assignment_expression "p_Var3 = table._M_t._M_impl.super__Rb_tree_header._M_header._M_left" identifier = (field_expression "table._M_t._M_impl.super__Rb_tree_header._M_header._M_left" (field_expression "table._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "table._M_t._M_impl.super__Rb_tree_header" (field_expression "table._M_t._M_impl" (field_expression "table._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (while_statement "while (puVar1 = PTR_s_in_a_linker_script_004c191c,\n        table._M_t._M_impl.super__Rb_tree_header._M_header._M_left = p_Var3,\n        &(this->archives_)._M_t._M_impl.super__Rb_tree_header != (_Rb_tree_header *)p_Var6) {\n    gather_cref(this,(Objects *)p_Var6[4]._M_color,(Cref_table *)&table._M_t);\n    p_Var6 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var6);\n    p_Var3 = table._M_t._M_impl.super__Rb_tree_header._M_header._M_left;\n  }" while (parenthesized_expression "(puVar1 = PTR_s_in_a_linker_script_004c191c,\n        table._M_t._M_impl.super__Rb_tree_header._M_header._M_left = p_Var3,\n        &(this->archives_)._M_t._M_impl.super__Rb_tree_header != (_Rb_tree_header *)p_Var6)" ( (comma_expression "puVar1 = PTR_s_in_a_linker_script_004c191c,\n        table._M_t._M_impl.super__Rb_tree_header._M_header._M_left = p_Var3,\n        &(this->archives_)._M_t._M_impl.super__Rb_tree_header != (_Rb_tree_header *)p_Var6" (assignment_expression "puVar1 = PTR_s_in_a_linker_script_004c191c" identifier = identifier) , (comma_expression "table._M_t._M_impl.super__Rb_tree_header._M_header._M_left = p_Var3,\n        &(this->archives_)._M_t._M_impl.super__Rb_tree_header != (_Rb_tree_header *)p_Var6" (assignment_expression "table._M_t._M_impl.super__Rb_tree_header._M_header._M_left = p_Var3" (field_expression "table._M_t._M_impl.super__Rb_tree_header._M_header._M_left" (field_expression "table._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "table._M_t._M_impl.super__Rb_tree_header" (field_expression "table._M_t._M_impl" (field_expression "table._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = identifier) , (binary_expression "&(this->archives_)._M_t._M_impl.super__Rb_tree_header != (_Rb_tree_header *)p_Var6" (pointer_expression "&(this->archives_)._M_t._M_impl.super__Rb_tree_header" & (field_expression "(this->archives_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(this->archives_)._M_t._M_impl" (field_expression "(this->archives_)._M_t" (parenthesized_expression "(this->archives_)" ( (field_expression "this->archives_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) != (cast_expression "(_Rb_tree_header *)p_Var6" ( (type_descriptor "_Rb_tree_header *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) )) (compound_statement "{\n    gather_cref(this,(Objects *)p_Var6[4]._M_color,(Cref_table *)&table._M_t);\n    p_Var6 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var6);\n    p_Var3 = table._M_t._M_impl.super__Rb_tree_header._M_header._M_left;\n  }" { (expression_statement "gather_cref(this,(Objects *)p_Var6[4]._M_color,(Cref_table *)&table._M_t);" (call_expression "gather_cref(this,(Objects *)p_Var6[4]._M_color,(Cref_table *)&table._M_t)" identifier (argument_list "(this,(Objects *)p_Var6[4]._M_color,(Cref_table *)&table._M_t)" ( identifier , (cast_expression "(Objects *)p_Var6[4]._M_color" ( (type_descriptor "Objects *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var6[4]._M_color" (subscript_expression "p_Var6[4]" identifier [ number_literal ]) . field_identifier)) , (cast_expression "(Cref_table *)&table._M_t" ( (type_descriptor "Cref_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&table._M_t" & (field_expression "table._M_t" identifier . field_identifier))) ))) ;) (expression_statement "p_Var6 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var6);" (assignment_expression "p_Var6 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var6)" identifier = (call_expression "(_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var6)" (call_expression "(_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)" (parenthesized_expression "(_Base_ptr)" ( identifier )) (argument_list "(*(code *)PTR__Rb_tree_increment_004c1e5c)" ( (pointer_expression "*(code *)PTR__Rb_tree_increment_004c1e5c" * (cast_expression "(code *)PTR__Rb_tree_increment_004c1e5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) (argument_list "(p_Var6)" ( identifier )))) ;) (expression_statement "p_Var3 = table._M_t._M_impl.super__Rb_tree_header._M_header._M_left;" (assignment_expression "p_Var3 = table._M_t._M_impl.super__Rb_tree_header._M_header._M_left" identifier = (field_expression "table._M_t._M_impl.super__Rb_tree_header._M_header._M_left" (field_expression "table._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "table._M_t._M_impl.super__Rb_tree_header" (field_expression "table._M_t._M_impl" (field_expression "table._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) })) (if_statement "if ((_Rb_tree_header *)p_Var3 != p_Var11) {\n    paVar10 = &s.field_2;\n    do {\n      while( true ) {\n        p_Var7 = p_Var3[1]._M_parent;\n        p_Var6 = (_Base_ptr)p_Var7->_M_color;\n        if (p_Var6 != p_Var7->_M_parent) break;\nLAB_002deb58:\n        p_Var3 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var3);\n        if ((_Rb_tree_header *)p_Var3 == p_Var11) goto LAB_002deb70;\n      }\n      p_Var5 = *(_Base_ptr *)(p_Var6->_M_color + 0x2c);\n      while ((int)p_Var5 < 0) {\n        p_Var6 = (_Base_ptr)&p_Var6->_M_parent;\n        if (p_Var6 == p_Var7->_M_parent) goto LAB_002deb58;\n        p_Var5 = (*(_Base_ptr *)p_Var6)[2]._M_right;\n      }\n      _Var9 = p_Var3[1]._M_color;\n      (*(code *)PTR_demangled_name_004c1cc8)(&s,_Var9);\n      sVar2 = s._M_string_length;\n      if (*(int *)(_Var9 + 4) != 0) {\n        uVar8 = s._M_string_length + 1;\n        uVar4 = s.field_2._M_allocated_capacity;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)s._M_dataplus._M_p == paVar10) {\n          uVar4 = 0xf;\n        }\n        if (uVar4 < uVar8) {\n          (*(code *)PTR__M_mutate_004c2090)(&s,s._M_string_length,0,0,1);\n        }\n        s._M_dataplus._M_p[sVar2] = '@';\n        s._M_dataplus._M_p[uVar8] = '\0';\n        iVar12 = *(int *)(_Var9 + 4);\n        s._M_string_length = uVar8;\n        if (iVar12 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\nLAB_002dedc4:\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n        if (*(int *)(_Var9 + 0x28) << 0x13 < 0) {\n          uVar13 = sVar2 + 2;\n          uVar4 = s.field_2._M_allocated_capacity;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)s._M_dataplus._M_p == paVar10) {\n            uVar4 = 0xf;\n          }\n          if (uVar4 < uVar13) {\n            (*(code *)PTR__M_mutate_004c2090)(&s,uVar8,0,0,1);\n          }\n          s._M_dataplus._M_p[uVar8] = '@';\n          s._M_dataplus._M_p[uVar13] = '\0';\n          iVar12 = *(int *)(_Var9 + 4);\n          s._M_string_length = uVar13;\n        }\n        sVar2 = s._M_string_length;\n        uVar8 = (*(code *)PTR_strlen_004c5b9c)(iVar12);\n        if (0x7fffffff - sVar2 < uVar8) goto LAB_002dedc4;\n                    /* try { // try from 002dec90 to 002dedd3 has its CatchHandler @ 002dedfc */\n        (*(code *)PTR__M_append_004c1e68)(&s,iVar12,uVar8);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(s._M_dataplus._M_p,f);\n      p_Var6 = (_Base_ptr)p_Var7->_M_color;\n      if (p_Var6 != p_Var7->_M_parent) {\n        if (s._M_string_length < 0x32) {\n          iVar12 = 0x32 - s._M_string_length;\n        }\n        else {\n          iVar12 = 1;\n        }\n        do {\n          (*(code *)PTR_fprintf_004c5b48)\n                    (f,puVar1 + 0x6d98,iVar12,0x20,*(undefined4 *)(p_Var6->_M_color + 4));\n          p_Var6 = (_Base_ptr)&p_Var6->_M_parent;\n          iVar12 = 0x32;\n        } while (p_Var6 != p_Var7->_M_parent);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)s._M_dataplus._M_p == paVar10) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      p_Var3 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var3);\n    } while ((_Rb_tree_header *)p_Var3 != p_Var11);\n  }" if (parenthesized_expression "((_Rb_tree_header *)p_Var3 != p_Var11)" ( (binary_expression "(_Rb_tree_header *)p_Var3 != p_Var11" (cast_expression "(_Rb_tree_header *)p_Var3" ( (type_descriptor "_Rb_tree_header *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (compound_statement "{\n    paVar10 = &s.field_2;\n    do {\n      while( true ) {\n        p_Var7 = p_Var3[1]._M_parent;\n        p_Var6 = (_Base_ptr)p_Var7->_M_color;\n        if (p_Var6 != p_Var7->_M_parent) break;\nLAB_002deb58:\n        p_Var3 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var3);\n        if ((_Rb_tree_header *)p_Var3 == p_Var11) goto LAB_002deb70;\n      }\n      p_Var5 = *(_Base_ptr *)(p_Var6->_M_color + 0x2c);\n      while ((int)p_Var5 < 0) {\n        p_Var6 = (_Base_ptr)&p_Var6->_M_parent;\n        if (p_Var6 == p_Var7->_M_parent) goto LAB_002deb58;\n        p_Var5 = (*(_Base_ptr *)p_Var6)[2]._M_right;\n      }\n      _Var9 = p_Var3[1]._M_color;\n      (*(code *)PTR_demangled_name_004c1cc8)(&s,_Var9);\n      sVar2 = s._M_string_length;\n      if (*(int *)(_Var9 + 4) != 0) {\n        uVar8 = s._M_string_length + 1;\n        uVar4 = s.field_2._M_allocated_capacity;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)s._M_dataplus._M_p == paVar10) {\n          uVar4 = 0xf;\n        }\n        if (uVar4 < uVar8) {\n          (*(code *)PTR__M_mutate_004c2090)(&s,s._M_string_length,0,0,1);\n        }\n        s._M_dataplus._M_p[sVar2] = '@';\n        s._M_dataplus._M_p[uVar8] = '\0';\n        iVar12 = *(int *)(_Var9 + 4);\n        s._M_string_length = uVar8;\n        if (iVar12 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\nLAB_002dedc4:\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n        if (*(int *)(_Var9 + 0x28) << 0x13 < 0) {\n          uVar13 = sVar2 + 2;\n          uVar4 = s.field_2._M_allocated_capacity;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)s._M_dataplus._M_p == paVar10) {\n            uVar4 = 0xf;\n          }\n          if (uVar4 < uVar13) {\n            (*(code *)PTR__M_mutate_004c2090)(&s,uVar8,0,0,1);\n          }\n          s._M_dataplus._M_p[uVar8] = '@';\n          s._M_dataplus._M_p[uVar13] = '\0';\n          iVar12 = *(int *)(_Var9 + 4);\n          s._M_string_length = uVar13;\n        }\n        sVar2 = s._M_string_length;\n        uVar8 = (*(code *)PTR_strlen_004c5b9c)(iVar12);\n        if (0x7fffffff - sVar2 < uVar8) goto LAB_002dedc4;\n                    /* try { // try from 002dec90 to 002dedd3 has its CatchHandler @ 002dedfc */\n        (*(code *)PTR__M_append_004c1e68)(&s,iVar12,uVar8);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(s._M_dataplus._M_p,f);\n      p_Var6 = (_Base_ptr)p_Var7->_M_color;\n      if (p_Var6 != p_Var7->_M_parent) {\n        if (s._M_string_length < 0x32) {\n          iVar12 = 0x32 - s._M_string_length;\n        }\n        else {\n          iVar12 = 1;\n        }\n        do {\n          (*(code *)PTR_fprintf_004c5b48)\n                    (f,puVar1 + 0x6d98,iVar12,0x20,*(undefined4 *)(p_Var6->_M_color + 4));\n          p_Var6 = (_Base_ptr)&p_Var6->_M_parent;\n          iVar12 = 0x32;\n        } while (p_Var6 != p_Var7->_M_parent);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)s._M_dataplus._M_p == paVar10) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      p_Var3 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var3);\n    } while ((_Rb_tree_header *)p_Var3 != p_Var11);\n  }" { (expression_statement "paVar10 = &s.field_2;" (assignment_expression "paVar10 = &s.field_2" identifier = (pointer_expression "&s.field_2" & (field_expression "s.field_2" identifier . field_identifier))) ;) (do_statement "do {\n      while( true ) {\n        p_Var7 = p_Var3[1]._M_parent;\n        p_Var6 = (_Base_ptr)p_Var7->_M_color;\n        if (p_Var6 != p_Var7->_M_parent) break;\nLAB_002deb58:\n        p_Var3 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var3);\n        if ((_Rb_tree_header *)p_Var3 == p_Var11) goto LAB_002deb70;\n      }\n      p_Var5 = *(_Base_ptr *)(p_Var6->_M_color + 0x2c);\n      while ((int)p_Var5 < 0) {\n        p_Var6 = (_Base_ptr)&p_Var6->_M_parent;\n        if (p_Var6 == p_Var7->_M_parent) goto LAB_002deb58;\n        p_Var5 = (*(_Base_ptr *)p_Var6)[2]._M_right;\n      }\n      _Var9 = p_Var3[1]._M_color;\n      (*(code *)PTR_demangled_name_004c1cc8)(&s,_Var9);\n      sVar2 = s._M_string_length;\n      if (*(int *)(_Var9 + 4) != 0) {\n        uVar8 = s._M_string_length + 1;\n        uVar4 = s.field_2._M_allocated_capacity;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)s._M_dataplus._M_p == paVar10) {\n          uVar4 = 0xf;\n        }\n        if (uVar4 < uVar8) {\n          (*(code *)PTR__M_mutate_004c2090)(&s,s._M_string_length,0,0,1);\n        }\n        s._M_dataplus._M_p[sVar2] = '@';\n        s._M_dataplus._M_p[uVar8] = '\0';\n        iVar12 = *(int *)(_Var9 + 4);\n        s._M_string_length = uVar8;\n        if (iVar12 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\nLAB_002dedc4:\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n        if (*(int *)(_Var9 + 0x28) << 0x13 < 0) {\n          uVar13 = sVar2 + 2;\n          uVar4 = s.field_2._M_allocated_capacity;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)s._M_dataplus._M_p == paVar10) {\n            uVar4 = 0xf;\n          }\n          if (uVar4 < uVar13) {\n            (*(code *)PTR__M_mutate_004c2090)(&s,uVar8,0,0,1);\n          }\n          s._M_dataplus._M_p[uVar8] = '@';\n          s._M_dataplus._M_p[uVar13] = '\0';\n          iVar12 = *(int *)(_Var9 + 4);\n          s._M_string_length = uVar13;\n        }\n        sVar2 = s._M_string_length;\n        uVar8 = (*(code *)PTR_strlen_004c5b9c)(iVar12);\n        if (0x7fffffff - sVar2 < uVar8) goto LAB_002dedc4;\n                    /* try { // try from 002dec90 to 002dedd3 has its CatchHandler @ 002dedfc */\n        (*(code *)PTR__M_append_004c1e68)(&s,iVar12,uVar8);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(s._M_dataplus._M_p,f);\n      p_Var6 = (_Base_ptr)p_Var7->_M_color;\n      if (p_Var6 != p_Var7->_M_parent) {\n        if (s._M_string_length < 0x32) {\n          iVar12 = 0x32 - s._M_string_length;\n        }\n        else {\n          iVar12 = 1;\n        }\n        do {\n          (*(code *)PTR_fprintf_004c5b48)\n                    (f,puVar1 + 0x6d98,iVar12,0x20,*(undefined4 *)(p_Var6->_M_color + 4));\n          p_Var6 = (_Base_ptr)&p_Var6->_M_parent;\n          iVar12 = 0x32;\n        } while (p_Var6 != p_Var7->_M_parent);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)s._M_dataplus._M_p == paVar10) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      p_Var3 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var3);\n    } while ((_Rb_tree_header *)p_Var3 != p_Var11);" do (compound_statement "{\n      while( true ) {\n        p_Var7 = p_Var3[1]._M_parent;\n        p_Var6 = (_Base_ptr)p_Var7->_M_color;\n        if (p_Var6 != p_Var7->_M_parent) break;\nLAB_002deb58:\n        p_Var3 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var3);\n        if ((_Rb_tree_header *)p_Var3 == p_Var11) goto LAB_002deb70;\n      }\n      p_Var5 = *(_Base_ptr *)(p_Var6->_M_color + 0x2c);\n      while ((int)p_Var5 < 0) {\n        p_Var6 = (_Base_ptr)&p_Var6->_M_parent;\n        if (p_Var6 == p_Var7->_M_parent) goto LAB_002deb58;\n        p_Var5 = (*(_Base_ptr *)p_Var6)[2]._M_right;\n      }\n      _Var9 = p_Var3[1]._M_color;\n      (*(code *)PTR_demangled_name_004c1cc8)(&s,_Var9);\n      sVar2 = s._M_string_length;\n      if (*(int *)(_Var9 + 4) != 0) {\n        uVar8 = s._M_string_length + 1;\n        uVar4 = s.field_2._M_allocated_capacity;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)s._M_dataplus._M_p == paVar10) {\n          uVar4 = 0xf;\n        }\n        if (uVar4 < uVar8) {\n          (*(code *)PTR__M_mutate_004c2090)(&s,s._M_string_length,0,0,1);\n        }\n        s._M_dataplus._M_p[sVar2] = '@';\n        s._M_dataplus._M_p[uVar8] = '\0';\n        iVar12 = *(int *)(_Var9 + 4);\n        s._M_string_length = uVar8;\n        if (iVar12 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\nLAB_002dedc4:\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n        if (*(int *)(_Var9 + 0x28) << 0x13 < 0) {\n          uVar13 = sVar2 + 2;\n          uVar4 = s.field_2._M_allocated_capacity;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)s._M_dataplus._M_p == paVar10) {\n            uVar4 = 0xf;\n          }\n          if (uVar4 < uVar13) {\n            (*(code *)PTR__M_mutate_004c2090)(&s,uVar8,0,0,1);\n          }\n          s._M_dataplus._M_p[uVar8] = '@';\n          s._M_dataplus._M_p[uVar13] = '\0';\n          iVar12 = *(int *)(_Var9 + 4);\n          s._M_string_length = uVar13;\n        }\n        sVar2 = s._M_string_length;\n        uVar8 = (*(code *)PTR_strlen_004c5b9c)(iVar12);\n        if (0x7fffffff - sVar2 < uVar8) goto LAB_002dedc4;\n                    /* try { // try from 002dec90 to 002dedd3 has its CatchHandler @ 002dedfc */\n        (*(code *)PTR__M_append_004c1e68)(&s,iVar12,uVar8);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(s._M_dataplus._M_p,f);\n      p_Var6 = (_Base_ptr)p_Var7->_M_color;\n      if (p_Var6 != p_Var7->_M_parent) {\n        if (s._M_string_length < 0x32) {\n          iVar12 = 0x32 - s._M_string_length;\n        }\n        else {\n          iVar12 = 1;\n        }\n        do {\n          (*(code *)PTR_fprintf_004c5b48)\n                    (f,puVar1 + 0x6d98,iVar12,0x20,*(undefined4 *)(p_Var6->_M_color + 4));\n          p_Var6 = (_Base_ptr)&p_Var6->_M_parent;\n          iVar12 = 0x32;\n        } while (p_Var6 != p_Var7->_M_parent);\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)s._M_dataplus._M_p == paVar10) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      p_Var3 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var3);\n    }" { (while_statement "while( true ) {\n        p_Var7 = p_Var3[1]._M_parent;\n        p_Var6 = (_Base_ptr)p_Var7->_M_color;\n        if (p_Var6 != p_Var7->_M_parent) break;\nLAB_002deb58:\n        p_Var3 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var3);\n        if ((_Rb_tree_header *)p_Var3 == p_Var11) goto LAB_002deb70;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        p_Var7 = p_Var3[1]._M_parent;\n        p_Var6 = (_Base_ptr)p_Var7->_M_color;\n        if (p_Var6 != p_Var7->_M_parent) break;\nLAB_002deb58:\n        p_Var3 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var3);\n        if ((_Rb_tree_header *)p_Var3 == p_Var11) goto LAB_002deb70;\n      }" { (expression_statement "p_Var7 = p_Var3[1]._M_parent;" (assignment_expression "p_Var7 = p_Var3[1]._M_parent" identifier = (field_expression "p_Var3[1]._M_parent" (subscript_expression "p_Var3[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "p_Var6 = (_Base_ptr)p_Var7->_M_color;" (assignment_expression "p_Var6 = (_Base_ptr)p_Var7->_M_color" identifier = (cast_expression "(_Base_ptr)p_Var7->_M_color" ( (type_descriptor "_Base_ptr" type_identifier) ) (field_expression "p_Var7->_M_color" identifier -> field_identifier))) ;) (if_statement "if (p_Var6 != p_Var7->_M_parent) break;" if (parenthesized_expression "(p_Var6 != p_Var7->_M_parent)" ( (binary_expression "p_Var6 != p_Var7->_M_parent" identifier != (field_expression "p_Var7->_M_parent" identifier -> field_identifier)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_002deb58:\n        p_Var3 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var3);" statement_identifier : (expression_statement "p_Var3 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var3);" (assignment_expression "p_Var3 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var3)" identifier = (call_expression "(_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var3)" (call_expression "(_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)" (parenthesized_expression "(_Base_ptr)" ( identifier )) (argument_list "(*(code *)PTR__Rb_tree_increment_004c1e5c)" ( (pointer_expression "*(code *)PTR__Rb_tree_increment_004c1e5c" * (cast_expression "(code *)PTR__Rb_tree_increment_004c1e5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) (argument_list "(p_Var3)" ( identifier )))) ;)) (if_statement "if ((_Rb_tree_header *)p_Var3 == p_Var11) goto LAB_002deb70;" if (parenthesized_expression "((_Rb_tree_header *)p_Var3 == p_Var11)" ( (binary_expression "(_Rb_tree_header *)p_Var3 == p_Var11" (cast_expression "(_Rb_tree_header *)p_Var3" ( (type_descriptor "_Rb_tree_header *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == identifier) )) (goto_statement "goto LAB_002deb70;" goto statement_identifier ;)) })) (expression_statement "p_Var5 = *(_Base_ptr *)(p_Var6->_M_color + 0x2c);" (assignment_expression "p_Var5 = *(_Base_ptr *)(p_Var6->_M_color + 0x2c)" identifier = (pointer_expression "*(_Base_ptr *)(p_Var6->_M_color + 0x2c)" * (cast_expression "(_Base_ptr *)(p_Var6->_M_color + 0x2c)" ( (type_descriptor "_Base_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var6->_M_color + 0x2c)" ( (binary_expression "p_Var6->_M_color + 0x2c" (field_expression "p_Var6->_M_color" identifier -> field_identifier) + number_literal) ))))) ;) (while_statement "while ((int)p_Var5 < 0) {\n        p_Var6 = (_Base_ptr)&p_Var6->_M_parent;\n        if (p_Var6 == p_Var7->_M_parent) goto LAB_002deb58;\n        p_Var5 = (*(_Base_ptr *)p_Var6)[2]._M_right;\n      }" while (parenthesized_expression "((int)p_Var5 < 0)" ( (binary_expression "(int)p_Var5 < 0" (cast_expression "(int)p_Var5" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        p_Var6 = (_Base_ptr)&p_Var6->_M_parent;\n        if (p_Var6 == p_Var7->_M_parent) goto LAB_002deb58;\n        p_Var5 = (*(_Base_ptr *)p_Var6)[2]._M_right;\n      }" { (expression_statement "p_Var6 = (_Base_ptr)&p_Var6->_M_parent;" (assignment_expression "p_Var6 = (_Base_ptr)&p_Var6->_M_parent" identifier = (binary_expression "(_Base_ptr)&p_Var6->_M_parent" (parenthesized_expression "(_Base_ptr)" ( identifier )) & (field_expression "p_Var6->_M_parent" identifier -> field_identifier))) ;) (if_statement "if (p_Var6 == p_Var7->_M_parent) goto LAB_002deb58;" if (parenthesized_expression "(p_Var6 == p_Var7->_M_parent)" ( (binary_expression "p_Var6 == p_Var7->_M_parent" identifier == (field_expression "p_Var7->_M_parent" identifier -> field_identifier)) )) (goto_statement "goto LAB_002deb58;" goto statement_identifier ;)) (expression_statement "p_Var5 = (*(_Base_ptr *)p_Var6)[2]._M_right;" (assignment_expression "p_Var5 = (*(_Base_ptr *)p_Var6)[2]._M_right" identifier = (field_expression "(*(_Base_ptr *)p_Var6)[2]._M_right" (subscript_expression "(*(_Base_ptr *)p_Var6)[2]" (parenthesized_expression "(*(_Base_ptr *)p_Var6)" ( (pointer_expression "*(_Base_ptr *)p_Var6" * (cast_expression "(_Base_ptr *)p_Var6" ( (type_descriptor "_Base_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) [ number_literal ]) . field_identifier)) ;) })) (expression_statement "_Var9 = p_Var3[1]._M_color;" (assignment_expression "_Var9 = p_Var3[1]._M_color" identifier = (field_expression "p_Var3[1]._M_color" (subscript_expression "p_Var3[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "(*(code *)PTR_demangled_name_004c1cc8)(&s,_Var9);" (call_expression "(*(code *)PTR_demangled_name_004c1cc8)(&s,_Var9)" (parenthesized_expression "(*(code *)PTR_demangled_name_004c1cc8)" ( (pointer_expression "*(code *)PTR_demangled_name_004c1cc8" * (cast_expression "(code *)PTR_demangled_name_004c1cc8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&s,_Var9)" ( (pointer_expression "&s" & identifier) , identifier ))) ;) (expression_statement "sVar2 = s._M_string_length;" (assignment_expression "sVar2 = s._M_string_length" identifier = (field_expression "s._M_string_length" identifier . field_identifier)) ;) (if_statement "if (*(int *)(_Var9 + 4) != 0) {\n        uVar8 = s._M_string_length + 1;\n        uVar4 = s.field_2._M_allocated_capacity;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)s._M_dataplus._M_p == paVar10) {\n          uVar4 = 0xf;\n        }\n        if (uVar4 < uVar8) {\n          (*(code *)PTR__M_mutate_004c2090)(&s,s._M_string_length,0,0,1);\n        }\n        s._M_dataplus._M_p[sVar2] = '@';\n        s._M_dataplus._M_p[uVar8] = '\0';\n        iVar12 = *(int *)(_Var9 + 4);\n        s._M_string_length = uVar8;\n        if (iVar12 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\nLAB_002dedc4:\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n        if (*(int *)(_Var9 + 0x28) << 0x13 < 0) {\n          uVar13 = sVar2 + 2;\n          uVar4 = s.field_2._M_allocated_capacity;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)s._M_dataplus._M_p == paVar10) {\n            uVar4 = 0xf;\n          }\n          if (uVar4 < uVar13) {\n            (*(code *)PTR__M_mutate_004c2090)(&s,uVar8,0,0,1);\n          }\n          s._M_dataplus._M_p[uVar8] = '@';\n          s._M_dataplus._M_p[uVar13] = '\0';\n          iVar12 = *(int *)(_Var9 + 4);\n          s._M_string_length = uVar13;\n        }\n        sVar2 = s._M_string_length;\n        uVar8 = (*(code *)PTR_strlen_004c5b9c)(iVar12);\n        if (0x7fffffff - sVar2 < uVar8) goto LAB_002dedc4;\n                    /* try { // try from 002dec90 to 002dedd3 has its CatchHandler @ 002dedfc */\n        (*(code *)PTR__M_append_004c1e68)(&s,iVar12,uVar8);\n      }" if (parenthesized_expression "(*(int *)(_Var9 + 4) != 0)" ( (binary_expression "*(int *)(_Var9 + 4) != 0" (pointer_expression "*(int *)(_Var9 + 4)" * (cast_expression "(int *)(_Var9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(_Var9 + 4)" ( (binary_expression "_Var9 + 4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        uVar8 = s._M_string_length + 1;\n        uVar4 = s.field_2._M_allocated_capacity;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)s._M_dataplus._M_p == paVar10) {\n          uVar4 = 0xf;\n        }\n        if (uVar4 < uVar8) {\n          (*(code *)PTR__M_mutate_004c2090)(&s,s._M_string_length,0,0,1);\n        }\n        s._M_dataplus._M_p[sVar2] = '@';\n        s._M_dataplus._M_p[uVar8] = '\0';\n        iVar12 = *(int *)(_Var9 + 4);\n        s._M_string_length = uVar8;\n        if (iVar12 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\nLAB_002dedc4:\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n        if (*(int *)(_Var9 + 0x28) << 0x13 < 0) {\n          uVar13 = sVar2 + 2;\n          uVar4 = s.field_2._M_allocated_capacity;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)s._M_dataplus._M_p == paVar10) {\n            uVar4 = 0xf;\n          }\n          if (uVar4 < uVar13) {\n            (*(code *)PTR__M_mutate_004c2090)(&s,uVar8,0,0,1);\n          }\n          s._M_dataplus._M_p[uVar8] = '@';\n          s._M_dataplus._M_p[uVar13] = '\0';\n          iVar12 = *(int *)(_Var9 + 4);\n          s._M_string_length = uVar13;\n        }\n        sVar2 = s._M_string_length;\n        uVar8 = (*(code *)PTR_strlen_004c5b9c)(iVar12);\n        if (0x7fffffff - sVar2 < uVar8) goto LAB_002dedc4;\n                    /* try { // try from 002dec90 to 002dedd3 has its CatchHandler @ 002dedfc */\n        (*(code *)PTR__M_append_004c1e68)(&s,iVar12,uVar8);\n      }" { (expression_statement "uVar8 = s._M_string_length + 1;" (assignment_expression "uVar8 = s._M_string_length + 1" identifier = (binary_expression "s._M_string_length + 1" (field_expression "s._M_string_length" identifier . field_identifier) + number_literal)) ;) (expression_statement "uVar4 = s.field_2._M_allocated_capacity;" (assignment_expression "uVar4 = s.field_2._M_allocated_capacity" identifier = (field_expression "s.field_2._M_allocated_capacity" (field_expression "s.field_2" identifier . field_identifier) . field_identifier)) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)s._M_dataplus._M_p == paVar10) {\n          uVar4 = 0xf;\n        }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)s._M_dataplus._M_p == paVar10)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)s._M_dataplus._M_p == paVar10)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_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>_>_9\n             *)s._M_dataplus._M_p == paVar10" (binary_expression "allocator<char>_>_9\n             *)s._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n             *)s._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "s._M_dataplus._M_p" (field_expression "s._M_dataplus" identifier . field_identifier) . field_identifier))) == identifier) )) )) (compound_statement "{\n          uVar4 = 0xf;\n        }" { (expression_statement "uVar4 = 0xf;" (assignment_expression "uVar4 = 0xf" identifier = number_literal) ;) })) (if_statement "if (uVar4 < uVar8) {\n          (*(code *)PTR__M_mutate_004c2090)(&s,s._M_string_length,0,0,1);\n        }" if (parenthesized_expression "(uVar4 < uVar8)" ( (binary_expression "uVar4 < uVar8" identifier < identifier) )) (compound_statement "{\n          (*(code *)PTR__M_mutate_004c2090)(&s,s._M_string_length,0,0,1);\n        }" { (expression_statement "(*(code *)PTR__M_mutate_004c2090)(&s,s._M_string_length,0,0,1);" (call_expression "(*(code *)PTR__M_mutate_004c2090)(&s,s._M_string_length,0,0,1)" (parenthesized_expression "(*(code *)PTR__M_mutate_004c2090)" ( (pointer_expression "*(code *)PTR__M_mutate_004c2090" * (cast_expression "(code *)PTR__M_mutate_004c2090" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&s,s._M_string_length,0,0,1)" ( (pointer_expression "&s" & identifier) , (field_expression "s._M_string_length" identifier . field_identifier) , number_literal , number_literal , number_literal ))) ;) })) (expression_statement "s._M_dataplus._M_p[sVar2] = '@';" (assignment_expression "s._M_dataplus._M_p[sVar2] = '@'" (subscript_expression "s._M_dataplus._M_p[sVar2]" (field_expression "s._M_dataplus._M_p" (field_expression "s._M_dataplus" identifier . field_identifier) . field_identifier) [ identifier ]) = (char_literal "'@'" ' character ')) ;) (expression_statement "s._M_dataplus._M_p[uVar8] = '\0';" (assignment_expression "s._M_dataplus._M_p[uVar8] = '\0'" (subscript_expression "s._M_dataplus._M_p[uVar8]" (field_expression "s._M_dataplus._M_p" (field_expression "s._M_dataplus" identifier . field_identifier) . field_identifier) [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar12 = *(int *)(_Var9 + 4);" (assignment_expression "iVar12 = *(int *)(_Var9 + 4)" identifier = (pointer_expression "*(int *)(_Var9 + 4)" * (cast_expression "(int *)(_Var9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(_Var9 + 4)" ( (binary_expression "_Var9 + 4" identifier + number_literal) ))))) ;) (expression_statement "s._M_string_length = uVar8;" (assignment_expression "s._M_string_length = uVar8" (field_expression "s._M_string_length" identifier . field_identifier) = identifier) ;) (if_statement "if (iVar12 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\nLAB_002dedc4:\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\nLAB_002dedc4:\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x6de8" identifier + number_literal) ))) ;) (labeled_statement "LAB_002dedc4:\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);" statement_identifier : (expression_statement "(*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);" (call_expression "(*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" (parenthesized_expression "(*(code *)PTR___throw_length_error_004c1e74)" ( (pointer_expression "*(code *)PTR___throw_length_error_004c1e74" * (cast_expression "(code *)PTR___throw_length_error_004c1e74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c" identifier + number_literal) ))) ;)) (return_statement "return;" return ;) })) (if_statement "if (*(int *)(_Var9 + 0x28) << 0x13 < 0) {\n          uVar13 = sVar2 + 2;\n          uVar4 = s.field_2._M_allocated_capacity;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)s._M_dataplus._M_p == paVar10) {\n            uVar4 = 0xf;\n          }\n          if (uVar4 < uVar13) {\n            (*(code *)PTR__M_mutate_004c2090)(&s,uVar8,0,0,1);\n          }\n          s._M_dataplus._M_p[uVar8] = '@';\n          s._M_dataplus._M_p[uVar13] = '\0';\n          iVar12 = *(int *)(_Var9 + 4);\n          s._M_string_length = uVar13;\n        }" if (parenthesized_expression "(*(int *)(_Var9 + 0x28) << 0x13 < 0)" ( (binary_expression "*(int *)(_Var9 + 0x28) << 0x13 < 0" (binary_expression "*(int *)(_Var9 + 0x28) << 0x13" (pointer_expression "*(int *)(_Var9 + 0x28)" * (cast_expression "(int *)(_Var9 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(_Var9 + 0x28)" ( (binary_expression "_Var9 + 0x28" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n          uVar13 = sVar2 + 2;\n          uVar4 = s.field_2._M_allocated_capacity;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)s._M_dataplus._M_p == paVar10) {\n            uVar4 = 0xf;\n          }\n          if (uVar4 < uVar13) {\n            (*(code *)PTR__M_mutate_004c2090)(&s,uVar8,0,0,1);\n          }\n          s._M_dataplus._M_p[uVar8] = '@';\n          s._M_dataplus._M_p[uVar13] = '\0';\n          iVar12 = *(int *)(_Var9 + 4);\n          s._M_string_length = uVar13;\n        }" { (expression_statement "uVar13 = sVar2 + 2;" (assignment_expression "uVar13 = sVar2 + 2" identifier = (binary_expression "sVar2 + 2" identifier + number_literal)) ;) (expression_statement "uVar4 = s.field_2._M_allocated_capacity;" (assignment_expression "uVar4 = s.field_2._M_allocated_capacity" identifier = (field_expression "s.field_2._M_allocated_capacity" (field_expression "s.field_2" identifier . field_identifier) . field_identifier)) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)s._M_dataplus._M_p == paVar10) {\n            uVar4 = 0xf;\n          }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)s._M_dataplus._M_p == paVar10)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)s._M_dataplus._M_p == paVar10)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_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>_>_9\n               *)s._M_dataplus._M_p == paVar10" (binary_expression "allocator<char>_>_9\n               *)s._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n               *)s._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "s._M_dataplus._M_p" (field_expression "s._M_dataplus" identifier . field_identifier) . field_identifier))) == identifier) )) )) (compound_statement "{\n            uVar4 = 0xf;\n          }" { (expression_statement "uVar4 = 0xf;" (assignment_expression "uVar4 = 0xf" identifier = number_literal) ;) })) (if_statement "if (uVar4 < uVar13) {\n            (*(code *)PTR__M_mutate_004c2090)(&s,uVar8,0,0,1);\n          }" if (parenthesized_expression "(uVar4 < uVar13)" ( (binary_expression "uVar4 < uVar13" identifier < identifier) )) (compound_statement "{\n            (*(code *)PTR__M_mutate_004c2090)(&s,uVar8,0,0,1);\n          }" { (expression_statement "(*(code *)PTR__M_mutate_004c2090)(&s,uVar8,0,0,1);" (call_expression "(*(code *)PTR__M_mutate_004c2090)(&s,uVar8,0,0,1)" (parenthesized_expression "(*(code *)PTR__M_mutate_004c2090)" ( (pointer_expression "*(code *)PTR__M_mutate_004c2090" * (cast_expression "(code *)PTR__M_mutate_004c2090" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&s,uVar8,0,0,1)" ( (pointer_expression "&s" & identifier) , identifier , number_literal , number_literal , number_literal ))) ;) })) (expression_statement "s._M_dataplus._M_p[uVar8] = '@';" (assignment_expression "s._M_dataplus._M_p[uVar8] = '@'" (subscript_expression "s._M_dataplus._M_p[uVar8]" (field_expression "s._M_dataplus._M_p" (field_expression "s._M_dataplus" identifier . field_identifier) . field_identifier) [ identifier ]) = (char_literal "'@'" ' character ')) ;) (expression_statement "s._M_dataplus._M_p[uVar13] = '\0';" (assignment_expression "s._M_dataplus._M_p[uVar13] = '\0'" (subscript_expression "s._M_dataplus._M_p[uVar13]" (field_expression "s._M_dataplus._M_p" (field_expression "s._M_dataplus" identifier . field_identifier) . field_identifier) [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar12 = *(int *)(_Var9 + 4);" (assignment_expression "iVar12 = *(int *)(_Var9 + 4)" identifier = (pointer_expression "*(int *)(_Var9 + 4)" * (cast_expression "(int *)(_Var9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(_Var9 + 4)" ( (binary_expression "_Var9 + 4" identifier + number_literal) ))))) ;) (expression_statement "s._M_string_length = uVar13;" (assignment_expression "s._M_string_length = uVar13" (field_expression "s._M_string_length" identifier . field_identifier) = identifier) ;) })) (expression_statement "sVar2 = s._M_string_length;" (assignment_expression "sVar2 = s._M_string_length" identifier = (field_expression "s._M_string_length" identifier . field_identifier)) ;) (expression_statement "uVar8 = (*(code *)PTR_strlen_004c5b9c)(iVar12);" (assignment_expression "uVar8 = (*(code *)PTR_strlen_004c5b9c)(iVar12)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(iVar12)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar12)" ( identifier )))) ;) (if_statement "if (0x7fffffff - sVar2 < uVar8) goto LAB_002dedc4;" if (parenthesized_expression "(0x7fffffff - sVar2 < uVar8)" ( (binary_expression "0x7fffffff - sVar2 < uVar8" (binary_expression "0x7fffffff - sVar2" number_literal - identifier) < identifier) )) (goto_statement "goto LAB_002dedc4;" goto statement_identifier ;)) comment (expression_statement "(*(code *)PTR__M_append_004c1e68)(&s,iVar12,uVar8);" (call_expression "(*(code *)PTR__M_append_004c1e68)(&s,iVar12,uVar8)" (parenthesized_expression "(*(code *)PTR__M_append_004c1e68)" ( (pointer_expression "*(code *)PTR__M_append_004c1e68" * (cast_expression "(code *)PTR__M_append_004c1e68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&s,iVar12,uVar8)" ( (pointer_expression "&s" & identifier) , identifier , identifier ))) ;) })) (expression_statement "(*(code *)PTR_fputs_004c5d2c)(s._M_dataplus._M_p,f);" (call_expression "(*(code *)PTR_fputs_004c5d2c)(s._M_dataplus._M_p,f)" (parenthesized_expression "(*(code *)PTR_fputs_004c5d2c)" ( (pointer_expression "*(code *)PTR_fputs_004c5d2c" * (cast_expression "(code *)PTR_fputs_004c5d2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(s._M_dataplus._M_p,f)" ( (field_expression "s._M_dataplus._M_p" (field_expression "s._M_dataplus" identifier . field_identifier) . field_identifier) , identifier ))) ;) (expression_statement "p_Var6 = (_Base_ptr)p_Var7->_M_color;" (assignment_expression "p_Var6 = (_Base_ptr)p_Var7->_M_color" identifier = (cast_expression "(_Base_ptr)p_Var7->_M_color" ( (type_descriptor "_Base_ptr" type_identifier) ) (field_expression "p_Var7->_M_color" identifier -> field_identifier))) ;) (if_statement "if (p_Var6 != p_Var7->_M_parent) {\n        if (s._M_string_length < 0x32) {\n          iVar12 = 0x32 - s._M_string_length;\n        }\n        else {\n          iVar12 = 1;\n        }\n        do {\n          (*(code *)PTR_fprintf_004c5b48)\n                    (f,puVar1 + 0x6d98,iVar12,0x20,*(undefined4 *)(p_Var6->_M_color + 4));\n          p_Var6 = (_Base_ptr)&p_Var6->_M_parent;\n          iVar12 = 0x32;\n        } while (p_Var6 != p_Var7->_M_parent);\n      }" if (parenthesized_expression "(p_Var6 != p_Var7->_M_parent)" ( (binary_expression "p_Var6 != p_Var7->_M_parent" identifier != (field_expression "p_Var7->_M_parent" identifier -> field_identifier)) )) (compound_statement "{\n        if (s._M_string_length < 0x32) {\n          iVar12 = 0x32 - s._M_string_length;\n        }\n        else {\n          iVar12 = 1;\n        }\n        do {\n          (*(code *)PTR_fprintf_004c5b48)\n                    (f,puVar1 + 0x6d98,iVar12,0x20,*(undefined4 *)(p_Var6->_M_color + 4));\n          p_Var6 = (_Base_ptr)&p_Var6->_M_parent;\n          iVar12 = 0x32;\n        } while (p_Var6 != p_Var7->_M_parent);\n      }" { (if_statement "if (s._M_string_length < 0x32) {\n          iVar12 = 0x32 - s._M_string_length;\n        }\n        else {\n          iVar12 = 1;\n        }" if (parenthesized_expression "(s._M_string_length < 0x32)" ( (binary_expression "s._M_string_length < 0x32" (field_expression "s._M_string_length" identifier . field_identifier) < number_literal) )) (compound_statement "{\n          iVar12 = 0x32 - s._M_string_length;\n        }" { (expression_statement "iVar12 = 0x32 - s._M_string_length;" (assignment_expression "iVar12 = 0x32 - s._M_string_length" identifier = (binary_expression "0x32 - s._M_string_length" number_literal - (field_expression "s._M_string_length" identifier . field_identifier))) ;) }) (else_clause "else {\n          iVar12 = 1;\n        }" else (compound_statement "{\n          iVar12 = 1;\n        }" { (expression_statement "iVar12 = 1;" (assignment_expression "iVar12 = 1" identifier = number_literal) ;) }))) (do_statement "do {\n          (*(code *)PTR_fprintf_004c5b48)\n                    (f,puVar1 + 0x6d98,iVar12,0x20,*(undefined4 *)(p_Var6->_M_color + 4));\n          p_Var6 = (_Base_ptr)&p_Var6->_M_parent;\n          iVar12 = 0x32;\n        } while (p_Var6 != p_Var7->_M_parent);" do (compound_statement "{\n          (*(code *)PTR_fprintf_004c5b48)\n                    (f,puVar1 + 0x6d98,iVar12,0x20,*(undefined4 *)(p_Var6->_M_color + 4));\n          p_Var6 = (_Base_ptr)&p_Var6->_M_parent;\n          iVar12 = 0x32;\n        }" { (expression_statement "(*(code *)PTR_fprintf_004c5b48)\n                    (f,puVar1 + 0x6d98,iVar12,0x20,*(undefined4 *)(p_Var6->_M_color + 4));" (call_expression "(*(code *)PTR_fprintf_004c5b48)\n                    (f,puVar1 + 0x6d98,iVar12,0x20,*(undefined4 *)(p_Var6->_M_color + 4))" (parenthesized_expression "(*(code *)PTR_fprintf_004c5b48)" ( (pointer_expression "*(code *)PTR_fprintf_004c5b48" * (cast_expression "(code *)PTR_fprintf_004c5b48" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(f,puVar1 + 0x6d98,iVar12,0x20,*(undefined4 *)(p_Var6->_M_color + 4))" ( identifier , (binary_expression "puVar1 + 0x6d98" identifier + number_literal) , identifier , number_literal , (pointer_expression "*(undefined4 *)(p_Var6->_M_color + 4)" * (cast_expression "(undefined4 *)(p_Var6->_M_color + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var6->_M_color + 4)" ( (binary_expression "p_Var6->_M_color + 4" (field_expression "p_Var6->_M_color" identifier -> field_identifier) + number_literal) )))) ))) ;) (expression_statement "p_Var6 = (_Base_ptr)&p_Var6->_M_parent;" (assignment_expression "p_Var6 = (_Base_ptr)&p_Var6->_M_parent" identifier = (binary_expression "(_Base_ptr)&p_Var6->_M_parent" (parenthesized_expression "(_Base_ptr)" ( identifier )) & (field_expression "p_Var6->_M_parent" identifier -> field_identifier))) ;) (expression_statement "iVar12 = 0x32;" (assignment_expression "iVar12 = 0x32" identifier = number_literal) ;) }) while (parenthesized_expression "(p_Var6 != p_Var7->_M_parent)" ( (binary_expression "p_Var6 != p_Var7->_M_parent" identifier != (field_expression "p_Var7->_M_parent" identifier -> field_identifier)) )) ;) })) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)s._M_dataplus._M_p == paVar10) goto LAB_002deb58;" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)s._M_dataplus._M_p == paVar10)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)s._M_dataplus._M_p == paVar10)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_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>_>_9\n           *)s._M_dataplus._M_p == paVar10" (binary_expression "allocator<char>_>_9\n           *)s._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n           *)s._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "s._M_dataplus._M_p" (field_expression "s._M_dataplus" identifier . field_identifier) . field_identifier))) == identifier) )) )) (goto_statement "goto LAB_002deb58;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "p_Var3 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var3);" (assignment_expression "p_Var3 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var3)" identifier = (call_expression "(_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var3)" (call_expression "(_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)" (parenthesized_expression "(_Base_ptr)" ( identifier )) (argument_list "(*(code *)PTR__Rb_tree_increment_004c1e5c)" ( (pointer_expression "*(code *)PTR__Rb_tree_increment_004c1e5c" * (cast_expression "(code *)PTR__Rb_tree_increment_004c1e5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) (argument_list "(p_Var3)" ( identifier )))) ;) }) while (parenthesized_expression "((_Rb_tree_header *)p_Var3 != p_Var11)" ( (binary_expression "(_Rb_tree_header *)p_Var3 != p_Var11" (cast_expression "(_Rb_tree_header *)p_Var3" ( (type_descriptor "_Rb_tree_header *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) ;) })) (labeled_statement "LAB_002deb70:\n  std::\n  _Rb_tree<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_std::vector<gold::Object*,_std::allocator<gold::Object*>_>*>,_std::_Select1st<std::pair<const_gold::Symbol*_const,_std::vector<gold::Object*,_std::allocator<gold::Object*>_>*>_>,_gold::Cref_inputs::Cref_table_compare,_std::allocator<std::pair<const_gold::Symbol*_const,_std::vector<gold::Object*,_std::allocator<gold::Object*>_>*>_>_>\n  ::_M_erase(&table._M_t,(_Link_type)table._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);" statement_identifier : (ERROR "std::\n  _Rb_tree<const_gold::Symbol*,_std::pair<const_gold::" (comma_expression "std::\n  _Rb_tree<const_gold::Symbol*,_std" identifier (ERROR "::\n  _Rb_tree<const_gold::Symbol*" : : (binary_expression "_Rb_tree<const_gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "pair<const_gold" identifier < identifier) : :) (declaration "Symbol*_const,_std::vector<gold::Object*,_std::allocator<gold::Object*>_>*>,_std::_Select1st<std::pair<const_gold::Symbol*_const,_std::vector<gold::Object*,_std::allocator<gold::Object*>_>*>_>,_gold::Cref_inputs::Cref_table_compare,_std::allocator<std::pair<const_gold::Symbol*_const,_std::vector<gold::Object*,_std::allocator<gold::Object*>_>*>_>_>\n  ::_M_erase(&table._M_t,(_Link_type)table._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);" type_identifier (pointer_declarator "*_const" * identifier) , (ERROR "_std::vector<gold::" identifier : : identifier < identifier : :) identifier (ERROR "*,_std::allocator<gold::Object*>_>*>" * , (ERROR "_std::allocator<gold::Object*>_>" identifier : : identifier < identifier : : identifier * > identifier >) * >) , (ERROR "_std::_Select1st<std::pair<const_gold::Symbol" identifier : : identifier < identifier : : identifier < identifier : : identifier) (pointer_declarator "*_const" * identifier) , (ERROR "_std::vector<gold::" identifier : : identifier < identifier : :) identifier (ERROR "*" *) , (ERROR "_std::allocator<gold::Object*>_>" identifier : : identifier < identifier : : identifier * > identifier >) (pointer_declarator "*>_" * (ERROR ">" >) identifier) (ERROR ">" >) , (ERROR "_gold::Cref_inputs::" identifier : : identifier : :) identifier , (ERROR "_std::allocator<std::pair<const_gold::Symbol" identifier : : identifier < identifier : : identifier < identifier : : identifier) (pointer_declarator "*_const" * identifier) , (ERROR "_std::vector<gold::" identifier : : identifier < identifier : :) identifier (ERROR "*" *) , (ERROR "_std::allocator<gold::Object*>_>" identifier : : identifier < identifier : : identifier * > identifier >) (pointer_declarator "*>_>_>\n  ::_M_erase(&table._M_t,(_Link_type)table._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" * (ERROR ">_>_>\n  ::" > identifier > identifier > : :) (function_declarator "_M_erase(&table._M_t,(_Link_type)table._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" identifier (parameter_list "(&table._M_t,(_Link_type)" ( (ERROR "&" &) (parameter_declaration "table._M_t" type_identifier (ERROR "." .) identifier) , (ERROR "(" () (parameter_declaration "_Link_type" type_identifier) )) identifier (ERROR "." .) identifier (ERROR "." .) identifier (ERROR "." .) identifier (ERROR "." .) identifier (ERROR "." .) identifier)) (ERROR ")" )) ;)) (return_statement "return;" return ;) })))
(translation_unit "void __thiscall\ngold::Cref_inputs::print_cref(Cref_inputs *this,Symbol_table *param_1,_IO_FILE *param_2)\n\n{\n  int *piVar1;\n  undefined4 *puVar2;\n  uint uVar3;\n  int iVar4;\n  Cref_inputs *pCVar5;\n  int *piVar6;\n  uint uVar7;\n  undefined *puVar8;\n  int iVar9;\n  uint uVar10;\n  uint *local_68;\n  uint local_64;\n  uint local_60 [4];\n  map amStack_50 [4];\n  undefined4 local_4c;\n  _Rb_tree_node *local_48;\n  undefined4 *local_44;\n  undefined4 *local_40;\n  undefined4 local_3c;\n  undefined *local_38;\n  int local_34;\n  map *local_30;\n  \n  local_30 = amStack_50;\n  local_4c = 0;\n  local_48 = (_Rb_tree_node *)0x0;\n                    \n  local_3c = 0;\n  local_44 = &local_4c;\n  local_40 = &local_4c;\n  gather_cref(this,(vector *)this,local_30);\n  pCVar5 = *(Cref_inputs **)(this + 0x18);\n  puVar2 = local_44;\n  while (local_44 = puVar2, this + 0x10 != pCVar5) {\n    gather_cref(this,*(vector **)(pCVar5 + 0x40),local_30);\n    pCVar5 = (Cref_inputs *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5);\n    puVar2 = local_44;\n  }\n  if (puVar2 != &local_4c) {\n    local_34 = 0x7fffffff;\n    local_38 = PTR_s_in_a_linker_script_004c191c;\n    do {\n      while( true ) {\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }\n      iVar4 = *(int *)(*piVar1 + 0x2c);\n      while (iVar4 < 0) {\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }\n      iVar4 = puVar2[4];\n      (*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4);\n      uVar10 = local_64;\n      if (*(int *)(iVar4 + 4) != 0) {\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(local_68,param_2);\n      piVar1 = (int *)*piVar6;\n      if (piVar1 != (int *)piVar6[1]) {\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }\n      if (local_68 == local_60) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n    } while (puVar2 != &local_4c);\n  }\nLAB_002deb70:\n  std::\n  _Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n  ::_M_erase((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48);\n  return;\n}\n\n" (function_definition "void __thiscall\ngold::Cref_inputs::print_cref(Cref_inputs *this,Symbol_table *param_1,_IO_FILE *param_2)\n\n{\n  int *piVar1;\n  undefined4 *puVar2;\n  uint uVar3;\n  int iVar4;\n  Cref_inputs *pCVar5;\n  int *piVar6;\n  uint uVar7;\n  undefined *puVar8;\n  int iVar9;\n  uint uVar10;\n  uint *local_68;\n  uint local_64;\n  uint local_60 [4];\n  map amStack_50 [4];\n  undefined4 local_4c;\n  _Rb_tree_node *local_48;\n  undefined4 *local_44;\n  undefined4 *local_40;\n  undefined4 local_3c;\n  undefined *local_38;\n  int local_34;\n  map *local_30;\n  \n  local_30 = amStack_50;\n  local_4c = 0;\n  local_48 = (_Rb_tree_node *)0x0;\n                    \n  local_3c = 0;\n  local_44 = &local_4c;\n  local_40 = &local_4c;\n  gather_cref(this,(vector *)this,local_30);\n  pCVar5 = *(Cref_inputs **)(this + 0x18);\n  puVar2 = local_44;\n  while (local_44 = puVar2, this + 0x10 != pCVar5) {\n    gather_cref(this,*(vector **)(pCVar5 + 0x40),local_30);\n    pCVar5 = (Cref_inputs *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5);\n    puVar2 = local_44;\n  }\n  if (puVar2 != &local_4c) {\n    local_34 = 0x7fffffff;\n    local_38 = PTR_s_in_a_linker_script_004c191c;\n    do {\n      while( true ) {\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }\n      iVar4 = *(int *)(*piVar1 + 0x2c);\n      while (iVar4 < 0) {\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }\n      iVar4 = puVar2[4];\n      (*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4);\n      uVar10 = local_64;\n      if (*(int *)(iVar4 + 4) != 0) {\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(local_68,param_2);\n      piVar1 = (int *)*piVar6;\n      if (piVar1 != (int *)piVar6[1]) {\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }\n      if (local_68 == local_60) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n    } while (puVar2 != &local_4c);\n  }\nLAB_002deb70:\n  std::\n  _Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n  ::_M_erase((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48);\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Cref_inputs::" identifier : : identifier : :) (function_declarator "print_cref(Cref_inputs *this,Symbol_table *param_1,_IO_FILE *param_2)" identifier (parameter_list "(Cref_inputs *this,Symbol_table *param_1,_IO_FILE *param_2)" ( (parameter_declaration "Cref_inputs *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol_table *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "_IO_FILE *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  int *piVar1;\n  undefined4 *puVar2;\n  uint uVar3;\n  int iVar4;\n  Cref_inputs *pCVar5;\n  int *piVar6;\n  uint uVar7;\n  undefined *puVar8;\n  int iVar9;\n  uint uVar10;\n  uint *local_68;\n  uint local_64;\n  uint local_60 [4];\n  map amStack_50 [4];\n  undefined4 local_4c;\n  _Rb_tree_node *local_48;\n  undefined4 *local_44;\n  undefined4 *local_40;\n  undefined4 local_3c;\n  undefined *local_38;\n  int local_34;\n  map *local_30;\n  \n  local_30 = amStack_50;\n  local_4c = 0;\n  local_48 = (_Rb_tree_node *)0x0;\n                    \n  local_3c = 0;\n  local_44 = &local_4c;\n  local_40 = &local_4c;\n  gather_cref(this,(vector *)this,local_30);\n  pCVar5 = *(Cref_inputs **)(this + 0x18);\n  puVar2 = local_44;\n  while (local_44 = puVar2, this + 0x10 != pCVar5) {\n    gather_cref(this,*(vector **)(pCVar5 + 0x40),local_30);\n    pCVar5 = (Cref_inputs *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5);\n    puVar2 = local_44;\n  }\n  if (puVar2 != &local_4c) {\n    local_34 = 0x7fffffff;\n    local_38 = PTR_s_in_a_linker_script_004c191c;\n    do {\n      while( true ) {\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }\n      iVar4 = *(int *)(*piVar1 + 0x2c);\n      while (iVar4 < 0) {\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }\n      iVar4 = puVar2[4];\n      (*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4);\n      uVar10 = local_64;\n      if (*(int *)(iVar4 + 4) != 0) {\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(local_68,param_2);\n      piVar1 = (int *)*piVar6;\n      if (piVar1 != (int *)piVar6[1]) {\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }\n      if (local_68 == local_60) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n    } while (puVar2 != &local_4c);\n  }\nLAB_002deb70:\n  std::\n  _Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n  ::_M_erase((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48);\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "Cref_inputs *pCVar5;" type_identifier (pointer_declarator "*pCVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint *local_68;" type_identifier (pointer_declarator "*local_68" * identifier) ;) (declaration "uint local_64;" type_identifier identifier ;) (declaration "uint local_60 [4];" type_identifier (array_declarator "local_60 [4]" identifier [ number_literal ]) ;) (declaration "map amStack_50 [4];" type_identifier (array_declarator "amStack_50 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "_Rb_tree_node *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "undefined4 *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "undefined4 *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "map *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (expression_statement "local_30 = amStack_50;" (assignment_expression "local_30 = amStack_50" identifier = identifier) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "local_48 = (_Rb_tree_node *)0x0;" (assignment_expression "local_48 = (_Rb_tree_node *)0x0" identifier = (cast_expression "(_Rb_tree_node *)0x0" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_44 = &local_4c;" (assignment_expression "local_44 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "local_40 = &local_4c;" (assignment_expression "local_40 = &local_4c" identifier = (pointer_expression "&local_4c" & identifier)) ;) (expression_statement "gather_cref(this,(vector *)this,local_30);" (call_expression "gather_cref(this,(vector *)this,local_30)" identifier (argument_list "(this,(vector *)this,local_30)" ( identifier , (cast_expression "(vector *)this" ( (type_descriptor "vector *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "pCVar5 = *(Cref_inputs **)(this + 0x18);" (assignment_expression "pCVar5 = *(Cref_inputs **)(this + 0x18)" identifier = (pointer_expression "*(Cref_inputs **)(this + 0x18)" * (cast_expression "(Cref_inputs **)(this + 0x18)" ( (type_descriptor "Cref_inputs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x18)" ( (binary_expression "this + 0x18" identifier + number_literal) ))))) ;) (expression_statement "puVar2 = local_44;" (assignment_expression "puVar2 = local_44" identifier = identifier) ;) (while_statement "while (local_44 = puVar2, this + 0x10 != pCVar5) {\n    gather_cref(this,*(vector **)(pCVar5 + 0x40),local_30);\n    pCVar5 = (Cref_inputs *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5);\n    puVar2 = local_44;\n  }" while (parenthesized_expression "(local_44 = puVar2, this + 0x10 != pCVar5)" ( (comma_expression "local_44 = puVar2, this + 0x10 != pCVar5" (assignment_expression "local_44 = puVar2" identifier = identifier) , (binary_expression "this + 0x10 != pCVar5" (binary_expression "this + 0x10" identifier + number_literal) != identifier)) )) (compound_statement "{\n    gather_cref(this,*(vector **)(pCVar5 + 0x40),local_30);\n    pCVar5 = (Cref_inputs *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5);\n    puVar2 = local_44;\n  }" { (expression_statement "gather_cref(this,*(vector **)(pCVar5 + 0x40),local_30);" (call_expression "gather_cref(this,*(vector **)(pCVar5 + 0x40),local_30)" identifier (argument_list "(this,*(vector **)(pCVar5 + 0x40),local_30)" ( identifier , (pointer_expression "*(vector **)(pCVar5 + 0x40)" * (cast_expression "(vector **)(pCVar5 + 0x40)" ( (type_descriptor "vector **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pCVar5 + 0x40)" ( (binary_expression "pCVar5 + 0x40" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "pCVar5 = (Cref_inputs *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5);" (assignment_expression "pCVar5 = (Cref_inputs *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5)" identifier = (cast_expression "(Cref_inputs *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5)" ( (type_descriptor "Cref_inputs *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5)" (parenthesized_expression "(*(code *)PTR__Rb_tree_increment_004c1e5c)" ( (pointer_expression "*(code *)PTR__Rb_tree_increment_004c1e5c" * (cast_expression "(code *)PTR__Rb_tree_increment_004c1e5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pCVar5)" ( identifier ))))) ;) (expression_statement "puVar2 = local_44;" (assignment_expression "puVar2 = local_44" identifier = identifier) ;) })) (if_statement "if (puVar2 != &local_4c) {\n    local_34 = 0x7fffffff;\n    local_38 = PTR_s_in_a_linker_script_004c191c;\n    do {\n      while( true ) {\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }\n      iVar4 = *(int *)(*piVar1 + 0x2c);\n      while (iVar4 < 0) {\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }\n      iVar4 = puVar2[4];\n      (*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4);\n      uVar10 = local_64;\n      if (*(int *)(iVar4 + 4) != 0) {\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(local_68,param_2);\n      piVar1 = (int *)*piVar6;\n      if (piVar1 != (int *)piVar6[1]) {\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }\n      if (local_68 == local_60) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n    } while (puVar2 != &local_4c);\n  }" if (parenthesized_expression "(puVar2 != &local_4c)" ( (binary_expression "puVar2 != &local_4c" identifier != (pointer_expression "&local_4c" & identifier)) )) (compound_statement "{\n    local_34 = 0x7fffffff;\n    local_38 = PTR_s_in_a_linker_script_004c191c;\n    do {\n      while( true ) {\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }\n      iVar4 = *(int *)(*piVar1 + 0x2c);\n      while (iVar4 < 0) {\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }\n      iVar4 = puVar2[4];\n      (*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4);\n      uVar10 = local_64;\n      if (*(int *)(iVar4 + 4) != 0) {\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(local_68,param_2);\n      piVar1 = (int *)*piVar6;\n      if (piVar1 != (int *)piVar6[1]) {\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }\n      if (local_68 == local_60) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n    } while (puVar2 != &local_4c);\n  }" { (expression_statement "local_34 = 0x7fffffff;" (assignment_expression "local_34 = 0x7fffffff" identifier = number_literal) ;) (expression_statement "local_38 = PTR_s_in_a_linker_script_004c191c;" (assignment_expression "local_38 = PTR_s_in_a_linker_script_004c191c" identifier = identifier) ;) (do_statement "do {\n      while( true ) {\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }\n      iVar4 = *(int *)(*piVar1 + 0x2c);\n      while (iVar4 < 0) {\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }\n      iVar4 = puVar2[4];\n      (*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4);\n      uVar10 = local_64;\n      if (*(int *)(iVar4 + 4) != 0) {\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(local_68,param_2);\n      piVar1 = (int *)*piVar6;\n      if (piVar1 != (int *)piVar6[1]) {\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }\n      if (local_68 == local_60) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n    } while (puVar2 != &local_4c);" do (compound_statement "{\n      while( true ) {\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }\n      iVar4 = *(int *)(*piVar1 + 0x2c);\n      while (iVar4 < 0) {\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }\n      iVar4 = puVar2[4];\n      (*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4);\n      uVar10 = local_64;\n      if (*(int *)(iVar4 + 4) != 0) {\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(local_68,param_2);\n      piVar1 = (int *)*piVar6;\n      if (piVar1 != (int *)piVar6[1]) {\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }\n      if (local_68 == local_60) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n    }" { (while_statement "while( true ) {\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }" { (expression_statement "piVar6 = (int *)puVar2[5];" (assignment_expression "piVar6 = (int *)puVar2[5]" identifier = (cast_expression "(int *)puVar2[5]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar2[5]" identifier [ number_literal ]))) ;) (expression_statement "piVar1 = (int *)*piVar6;" (assignment_expression "piVar1 = (int *)*piVar6" identifier = (cast_expression "(int *)*piVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar6" * identifier))) ;) (if_statement "if (piVar1 != (int *)piVar6[1]) break;" if (parenthesized_expression "(piVar1 != (int *)piVar6[1])" ( (binary_expression "piVar1 != (int *)piVar6[1]" identifier != (cast_expression "(int *)piVar6[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar6[1]" identifier [ number_literal ]))) )) (break_statement "break;" break ;)) (labeled_statement "LAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);" statement_identifier : (expression_statement "puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);" (assignment_expression "puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2)" (parenthesized_expression "(*(code *)PTR__Rb_tree_increment_004c1e5c)" ( (pointer_expression "*(code *)PTR__Rb_tree_increment_004c1e5c" * (cast_expression "(code *)PTR__Rb_tree_increment_004c1e5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2)" ( identifier ))))) ;)) (if_statement "if (puVar2 == &local_4c) goto LAB_002deb70;" if (parenthesized_expression "(puVar2 == &local_4c)" ( (binary_expression "puVar2 == &local_4c" identifier == (pointer_expression "&local_4c" & identifier)) )) (goto_statement "goto LAB_002deb70;" goto statement_identifier ;)) })) (expression_statement "iVar4 = *(int *)(*piVar1 + 0x2c);" (assignment_expression "iVar4 = *(int *)(*piVar1 + 0x2c)" identifier = (pointer_expression "*(int *)(*piVar1 + 0x2c)" * (cast_expression "(int *)(*piVar1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar1 + 0x2c)" ( (binary_expression "*piVar1 + 0x2c" (pointer_expression "*piVar1" * identifier) + number_literal) ))))) ;) (while_statement "while (iVar4 < 0) {\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }" while (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }" { (expression_statement "piVar1 = piVar1 + 1;" (assignment_expression "piVar1 = piVar1 + 1" identifier = (binary_expression "piVar1 + 1" identifier + number_literal)) ;) (if_statement "if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;" if (parenthesized_expression "(piVar1 == (int *)piVar6[1])" ( (binary_expression "piVar1 == (int *)piVar6[1]" identifier == (cast_expression "(int *)piVar6[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar6[1]" identifier [ number_literal ]))) )) (goto_statement "goto LAB_002deb58;" goto statement_identifier ;)) (expression_statement "iVar4 = *(int *)(*piVar1 + 0x2c);" (assignment_expression "iVar4 = *(int *)(*piVar1 + 0x2c)" identifier = (pointer_expression "*(int *)(*piVar1 + 0x2c)" * (cast_expression "(int *)(*piVar1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar1 + 0x2c)" ( (binary_expression "*piVar1 + 0x2c" (pointer_expression "*piVar1" * identifier) + number_literal) ))))) ;) })) (expression_statement "iVar4 = puVar2[4];" (assignment_expression "iVar4 = puVar2[4]" identifier = (subscript_expression "puVar2[4]" identifier [ number_literal ])) ;) (expression_statement "(*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4);" (call_expression "(*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4)" (parenthesized_expression "(*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)" ( (pointer_expression "*(code *)PTR_demangled_name_abi_cxx11__004c1cc8" * (cast_expression "(code *)PTR_demangled_name_abi_cxx11__004c1cc8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_68,iVar4)" ( (pointer_expression "&local_68" & identifier) , identifier ))) ;) (expression_statement "uVar10 = local_64;" (assignment_expression "uVar10 = local_64" identifier = identifier) ;) (if_statement "if (*(int *)(iVar4 + 4) != 0) {\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }" if (parenthesized_expression "(*(int *)(iVar4 + 4) != 0)" ( (binary_expression "*(int *)(iVar4 + 4) != 0" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }" { (expression_statement "uVar7 = local_64 + 1;" (assignment_expression "uVar7 = local_64 + 1" identifier = (binary_expression "local_64 + 1" identifier + number_literal)) ;) (expression_statement "uVar3 = local_60[0];" (assignment_expression "uVar3 = local_60[0]" identifier = (subscript_expression "local_60[0]" identifier [ number_literal ])) ;) (if_statement "if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }" if (parenthesized_expression "(local_68 == local_60)" ( (binary_expression "local_68 == local_60" identifier == identifier) )) (compound_statement "{\n          uVar3 = 0xf;\n        }" { (expression_statement "uVar3 = 0xf;" (assignment_expression "uVar3 = 0xf" identifier = number_literal) ;) })) (if_statement "if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }" if (parenthesized_expression "(uVar3 < uVar7)" ( (binary_expression "uVar3 < uVar7" identifier < identifier) )) (compound_statement "{\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }" { (expression_statement "(*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);" (call_expression "(*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1)" (parenthesized_expression "(*(code *)PTR__M_mutate_004c2090)" ( (pointer_expression "*(code *)PTR__M_mutate_004c2090" * (cast_expression "(code *)PTR__M_mutate_004c2090" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_68,local_64,0,0,1)" ( (pointer_expression "&local_68" & identifier) , identifier , number_literal , number_literal , number_literal ))) ;) })) (expression_statement "*(undefined1 *)((int)local_68 + uVar10) = 0x40;" (assignment_expression "*(undefined1 *)((int)local_68 + uVar10) = 0x40" (pointer_expression "*(undefined1 *)((int)local_68 + uVar10)" * (cast_expression "(undefined1 *)((int)local_68 + uVar10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_68 + uVar10)" ( (binary_expression "(int)local_68 + uVar10" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)local_68 + uVar7) = 0;" (assignment_expression "*(undefined1 *)((int)local_68 + uVar7) = 0" (pointer_expression "*(undefined1 *)((int)local_68 + uVar7)" * (cast_expression "(undefined1 *)((int)local_68 + uVar7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_68 + uVar7)" ( (binary_expression "(int)local_68 + uVar7" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "iVar9 = *(int *)(iVar4 + 4);" (assignment_expression "iVar9 = *(int *)(iVar4 + 4)" identifier = (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_64 = uVar7;" (assignment_expression "local_64 = uVar7" identifier = identifier) ;) (if_statement "if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x6de8" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }" if (parenthesized_expression "(*(int *)(iVar4 + 0x28) << 0x13 < 0)" ( (binary_expression "*(int *)(iVar4 + 0x28) << 0x13 < 0" (binary_expression "*(int *)(iVar4 + 0x28) << 0x13" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }" { (expression_statement "uVar10 = uVar10 + 2;" (assignment_expression "uVar10 = uVar10 + 2" identifier = (binary_expression "uVar10 + 2" identifier + number_literal)) ;) (expression_statement "uVar3 = local_60[0];" (assignment_expression "uVar3 = local_60[0]" identifier = (subscript_expression "local_60[0]" identifier [ number_literal ])) ;) (if_statement "if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }" if (parenthesized_expression "(local_68 == local_60)" ( (binary_expression "local_68 == local_60" identifier == identifier) )) (compound_statement "{\n            uVar3 = 0xf;\n          }" { (expression_statement "uVar3 = 0xf;" (assignment_expression "uVar3 = 0xf" identifier = number_literal) ;) })) (if_statement "if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }" if (parenthesized_expression "(uVar3 < uVar10)" ( (binary_expression "uVar3 < uVar10" identifier < identifier) )) (compound_statement "{\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }" { (expression_statement "(*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);" (call_expression "(*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1)" (parenthesized_expression "(*(code *)PTR__M_mutate_004c2090)" ( (pointer_expression "*(code *)PTR__M_mutate_004c2090" * (cast_expression "(code *)PTR__M_mutate_004c2090" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_68,uVar7,0,0,1)" ( (pointer_expression "&local_68" & identifier) , identifier , number_literal , number_literal , number_literal ))) ;) })) (expression_statement "*(undefined1 *)((int)local_68 + uVar7) = 0x40;" (assignment_expression "*(undefined1 *)((int)local_68 + uVar7) = 0x40" (pointer_expression "*(undefined1 *)((int)local_68 + uVar7)" * (cast_expression "(undefined1 *)((int)local_68 + uVar7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_68 + uVar7)" ( (binary_expression "(int)local_68 + uVar7" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)local_68 + uVar10) = 0;" (assignment_expression "*(undefined1 *)((int)local_68 + uVar10) = 0" (pointer_expression "*(undefined1 *)((int)local_68 + uVar10)" * (cast_expression "(undefined1 *)((int)local_68 + uVar10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_68 + uVar10)" ( (binary_expression "(int)local_68 + uVar10" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "iVar9 = *(int *)(iVar4 + 4);" (assignment_expression "iVar9 = *(int *)(iVar4 + 4)" identifier = (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_64 = uVar10;" (assignment_expression "local_64 = uVar10" identifier = identifier) ;) })) (expression_statement "uVar10 = local_64;" (assignment_expression "uVar10 = local_64" identifier = identifier) ;) (expression_statement "uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);" (assignment_expression "uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(iVar9)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9)" ( identifier )))) ;) (if_statement "if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }" if (parenthesized_expression "(local_34 - uVar10 < uVar3)" ( (binary_expression "local_34 - uVar10 < uVar3" (binary_expression "local_34 - uVar10" identifier - identifier) < identifier) )) (compound_statement "{\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }" { (expression_statement "(*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);" (call_expression "(*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" (parenthesized_expression "(*(code *)PTR___throw_length_error_004c1e74)" ( (pointer_expression "*(code *)PTR___throw_length_error_004c1e74" * (cast_expression "(code *)PTR___throw_length_error_004c1e74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);" (call_expression "(*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3)" (parenthesized_expression "(*(code *)PTR__M_append_004c1e68)" ( (pointer_expression "*(code *)PTR__M_append_004c1e68" * (cast_expression "(code *)PTR__M_append_004c1e68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_68,iVar9,uVar3)" ( (pointer_expression "&local_68" & identifier) , identifier , identifier ))) ;) })) (expression_statement "(*(code *)PTR_fputs_004c5d2c)(local_68,param_2);" (call_expression "(*(code *)PTR_fputs_004c5d2c)(local_68,param_2)" (parenthesized_expression "(*(code *)PTR_fputs_004c5d2c)" ( (pointer_expression "*(code *)PTR_fputs_004c5d2c" * (cast_expression "(code *)PTR_fputs_004c5d2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_68,param_2)" ( identifier , identifier ))) ;) (expression_statement "piVar1 = (int *)*piVar6;" (assignment_expression "piVar1 = (int *)*piVar6" identifier = (cast_expression "(int *)*piVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar6" * identifier))) ;) (if_statement "if (piVar1 != (int *)piVar6[1]) {\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }" if (parenthesized_expression "(piVar1 != (int *)piVar6[1])" ( (binary_expression "piVar1 != (int *)piVar6[1]" identifier != (cast_expression "(int *)piVar6[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar6[1]" identifier [ number_literal ]))) )) (compound_statement "{\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }" { (if_statement "if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }" if (parenthesized_expression "(local_64 < 0x32)" ( (binary_expression "local_64 < 0x32" identifier < number_literal) )) (compound_statement "{\n          iVar4 = 0x32 - local_64;\n        }" { (expression_statement "iVar4 = 0x32 - local_64;" (assignment_expression "iVar4 = 0x32 - local_64" identifier = (binary_expression "0x32 - local_64" number_literal - identifier)) ;) }) (else_clause "else {\n          iVar4 = 1;\n        }" else (compound_statement "{\n          iVar4 = 1;\n        }" { (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) }))) (expression_statement "puVar8 = local_38 + 0x6d98;" (assignment_expression "puVar8 = local_38 + 0x6d98" identifier = (binary_expression "local_38 + 0x6d98" identifier + number_literal)) ;) (do_statement "do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);" do (compound_statement "{\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        }" { (expression_statement "(*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));" (call_expression "(*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4))" (parenthesized_expression "(*(code *)PTR_fprintf_004c5b48)" ( (pointer_expression "*(code *)PTR_fprintf_004c5b48" * (cast_expression "(code *)PTR_fprintf_004c5b48" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4))" ( identifier , identifier , identifier , number_literal , (pointer_expression "*(undefined4 *)(*piVar1 + 4)" * (cast_expression "(undefined4 *)(*piVar1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar1 + 4)" ( (binary_expression "*piVar1 + 4" (pointer_expression "*piVar1" * identifier) + number_literal) )))) ))) ;) (expression_statement "piVar1 = piVar1 + 1;" (assignment_expression "piVar1 = piVar1 + 1" identifier = (binary_expression "piVar1 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = 0x32;" (assignment_expression "iVar4 = 0x32" identifier = number_literal) ;) }) while (parenthesized_expression "(piVar1 != (int *)piVar6[1])" ( (binary_expression "piVar1 != (int *)piVar6[1]" identifier != (cast_expression "(int *)piVar6[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar6[1]" identifier [ number_literal ]))) )) ;) })) (if_statement "if (local_68 == local_60) goto LAB_002deb58;" if (parenthesized_expression "(local_68 == local_60)" ( (binary_expression "local_68 == local_60" identifier == identifier) )) (goto_statement "goto LAB_002deb58;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);" (assignment_expression "puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2)" (parenthesized_expression "(*(code *)PTR__Rb_tree_increment_004c1e5c)" ( (pointer_expression "*(code *)PTR__Rb_tree_increment_004c1e5c" * (cast_expression "(code *)PTR__Rb_tree_increment_004c1e5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2)" ( identifier ))))) ;) }) while (parenthesized_expression "(puVar2 != &local_4c)" ( (binary_expression "puVar2 != &local_4c" identifier != (pointer_expression "&local_4c" & identifier)) )) ;) })) (labeled_statement "LAB_002deb70:\n  std::\n  _Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n  ::_M_erase((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48);" statement_identifier : (ERROR "std::\n  _Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::" (comma_expression "std::\n  _Rb_tree<gold::Symbol_const*,std" identifier (ERROR "::\n  _Rb_tree<gold::Symbol_const*" : : (binary_expression "_Rb_tree<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (comma_expression "Symbol_const*const,std" (binary_expression "Symbol_const*const" identifier * identifier) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (binary_expression "Object*,std" identifier * (ERROR "," ,) identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Object*>>*>,std" identifier * (ERROR ">>" >>) (pointer_expression "*>,std" * (ERROR ">," > ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (comma_expression "Symbol_const*const,std" (binary_expression "Symbol_const*const" identifier * identifier) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (binary_expression "Object*,std" identifier * (ERROR "," ,) identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Object*>>*>>,gold" identifier * (ERROR ">>" >>) (pointer_expression "*>>,gold" * (ERROR ">>," >> ,) identifier)) : : (comma_expression "Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std" identifier (ERROR "::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*" : : (comma_expression "Cref_table_compare,std" identifier , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (comma_expression "Symbol_const*const,std" (binary_expression "Symbol_const*const" identifier * identifier) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Object*>>*>>>\n  ::_M_erase((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48);" (binary_expression "Object*>>*>>>\n  ::_M_erase((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48)" identifier * (ERROR ">>" >>) (pointer_expression "*>>>\n  ::_M_erase((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48)" * (ERROR ">>>\n  ::" >> > : :) (call_expression "_M_erase((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48)" identifier (argument_list "((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48)" ( (parenthesized_expression "(_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48)" ( (ERROR "_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::" (comma_expression "_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std" (binary_expression "_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const" (binary_expression "_Rb_tree<gold::Symbol_const*,std::pair<gold" (binary_expression "_Rb_tree<gold::Symbol_const*,std" (binary_expression "_Rb_tree<gold" identifier < identifier) (ERROR "::Symbol_const" : : identifier) * (ERROR "," ,) identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Symbol_const" : : identifier) * identifier) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (type_descriptor "Object*" type_identifier (abstract_pointer_declarator "*" *)) , identifier : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Object*>>*>,std" identifier * (ERROR ">>" >>) (pointer_expression "*>,std" * (ERROR ">," > ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (comma_expression "Symbol_const*const,std" (binary_expression "Symbol_const*const" identifier * identifier) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (type_descriptor "Object*" type_identifier (abstract_pointer_declarator "*" *)) , identifier : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Object*>>*>>,gold" identifier * (ERROR ">>" >>) (pointer_expression "*>>,gold" * (ERROR ">>," >> ,) identifier)) : : identifier : : (comma_expression "Cref_table_compare,std" identifier , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (comma_expression "Symbol_const*const,std" (binary_expression "Symbol_const*const" identifier * identifier) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (type_descriptor "Object*" type_identifier (abstract_pointer_declarator "*" *)) , identifier : : (binary_expression "allocator<gold" identifier < identifier) : :) (comma_expression "Object*>>*>>>\n              *)local_30,local_48" (binary_expression "Object*>>*>>>\n              *)local_30" identifier * (ERROR ">>" >>) (pointer_expression "*>>>\n              *)local_30" * (ERROR ">>>" >> >) (pointer_expression "*)local_30" * (ERROR ")" )) identifier))) , identifier) )) ))))) ;)) (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 (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression IDENT + LIT) != IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression & IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression & IDENT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression & IDENT) , IDENT , LIT , LIT , LIT ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression & IDENT) , IDENT , LIT , LIT , LIT ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - IDENT) < IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (pointer_expression & IDENT)) )) ;) })) (labeled_statement statement_identifier : (ERROR (comma_expression IDENT (ERROR : : (binary_expression IDENT < IDENT) : : IDENT *) , IDENT) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT * IDENT) , IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT * (ERROR ,) IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT * (ERROR >>) (pointer_expression * (ERROR > ,) IDENT)) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT * IDENT) , IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT * (ERROR ,) IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT * (ERROR >>) (pointer_expression * (ERROR >> ,) IDENT)) : : (comma_expression IDENT (ERROR : : (comma_expression IDENT , IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT * IDENT) , IDENT) : : (binary_expression IDENT < IDENT) : : IDENT *) , IDENT) : : (binary_expression IDENT < IDENT) : :) (expression_statement (binary_expression IDENT * (ERROR >>) (pointer_expression * (ERROR >> > : :) (call_expression IDENT (argument_list ( (parenthesized_expression ( (ERROR (comma_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT < IDENT) (ERROR : : IDENT) * (ERROR ,) IDENT) (ERROR : : IDENT) < IDENT) (ERROR : : IDENT) * IDENT) , IDENT) : : (binary_expression IDENT < IDENT) : : (type_descriptor TYPE (abstract_pointer_declarator *)) , IDENT : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT * (ERROR >>) (pointer_expression * (ERROR > ,) IDENT)) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT * IDENT) , IDENT) : : (binary_expression IDENT < IDENT) : : (type_descriptor TYPE (abstract_pointer_declarator *)) , IDENT : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT * (ERROR >>) (pointer_expression * (ERROR >> ,) IDENT)) : : IDENT : : (comma_expression IDENT , IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT * IDENT) , IDENT) : : (binary_expression IDENT < IDENT) : : (type_descriptor TYPE (abstract_pointer_declarator *)) , IDENT : : (binary_expression IDENT < IDENT) : :) (comma_expression (binary_expression IDENT * (ERROR >>) (pointer_expression * (ERROR >> >) (pointer_expression * (ERROR )) IDENT))) , IDENT) )) ))))) ;)) (return_statement return ;) })))
(function_definition "void __thiscall\ngold::Cref_inputs::print_cref(Cref_inputs *this,Symbol_table *param_1,_IO_FILE *param_2)\n\n{\n  int *piVar1;\n  undefined4 *puVar2;\n  uint uVar3;\n  int iVar4;\n  Cref_inputs *pCVar5;\n  int *piVar6;\n  uint uVar7;\n  undefined *puVar8;\n  int iVar9;\n  uint uVar10;\n  uint *local_68;\n  uint local_64;\n  uint local_60 [4];\n  map amStack_50 [4];\n  undefined4 local_4c;\n  _Rb_tree_node *local_48;\n  undefined4 *local_44;\n  undefined4 *local_40;\n  undefined4 local_3c;\n  undefined *local_38;\n  int local_34;\n  map *local_30;\n  \n  local_30 = amStack_50;\n  local_4c = 0;\n  local_48 = (_Rb_tree_node *)0x0;\n                    \n  local_3c = 0;\n  local_44 = &local_4c;\n  local_40 = &local_4c;\n  gather_cref(this,(vector *)this,local_30);\n  pCVar5 = *(Cref_inputs **)(this + 0x18);\n  puVar2 = local_44;\n  while (local_44 = puVar2, this + 0x10 != pCVar5) {\n    gather_cref(this,*(vector **)(pCVar5 + 0x40),local_30);\n    pCVar5 = (Cref_inputs *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5);\n    puVar2 = local_44;\n  }\n  if (puVar2 != &local_4c) {\n    local_34 = 0x7fffffff;\n    local_38 = PTR_s_in_a_linker_script_004c191c;\n    do {\n      while( true ) {\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }\n      iVar4 = *(int *)(*piVar1 + 0x2c);\n      while (iVar4 < 0) {\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }\n      iVar4 = puVar2[4];\n      (*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4);\n      uVar10 = local_64;\n      if (*(int *)(iVar4 + 4) != 0) {\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(local_68,param_2);\n      piVar1 = (int *)*piVar6;\n      if (piVar1 != (int *)piVar6[1]) {\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }\n      if (local_68 == local_60) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n    } while (puVar2 != &local_4c);\n  }\nLAB_002deb70:\n  std::\n  _Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n  ::_M_erase((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48);\n  return;\n}" (primitive_type "void") (ms_call_modifier "__thiscall" (__thiscall "__thiscall")) (ERROR "gold::Cref_inputs::" (identifier "gold") (: ":") (: ":") (identifier "Cref_inputs") (: ":") (: ":")) (function_declarator "print_cref(Cref_inputs *this,Symbol_table *param_1,_IO_FILE *param_2)" (identifier "print_cref") (parameter_list "(Cref_inputs *this,Symbol_table *param_1,_IO_FILE *param_2)" (( "(") (parameter_declaration "Cref_inputs *this" (type_identifier "Cref_inputs") (pointer_declarator "*this" (* "*") (identifier "this"))) (, ",") (parameter_declaration "Symbol_table *param_1" (type_identifier "Symbol_table") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "_IO_FILE *param_2" (type_identifier "_IO_FILE") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  int *piVar1;\n  undefined4 *puVar2;\n  uint uVar3;\n  int iVar4;\n  Cref_inputs *pCVar5;\n  int *piVar6;\n  uint uVar7;\n  undefined *puVar8;\n  int iVar9;\n  uint uVar10;\n  uint *local_68;\n  uint local_64;\n  uint local_60 [4];\n  map amStack_50 [4];\n  undefined4 local_4c;\n  _Rb_tree_node *local_48;\n  undefined4 *local_44;\n  undefined4 *local_40;\n  undefined4 local_3c;\n  undefined *local_38;\n  int local_34;\n  map *local_30;\n  \n  local_30 = amStack_50;\n  local_4c = 0;\n  local_48 = (_Rb_tree_node *)0x0;\n                    \n  local_3c = 0;\n  local_44 = &local_4c;\n  local_40 = &local_4c;\n  gather_cref(this,(vector *)this,local_30);\n  pCVar5 = *(Cref_inputs **)(this + 0x18);\n  puVar2 = local_44;\n  while (local_44 = puVar2, this + 0x10 != pCVar5) {\n    gather_cref(this,*(vector **)(pCVar5 + 0x40),local_30);\n    pCVar5 = (Cref_inputs *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5);\n    puVar2 = local_44;\n  }\n  if (puVar2 != &local_4c) {\n    local_34 = 0x7fffffff;\n    local_38 = PTR_s_in_a_linker_script_004c191c;\n    do {\n      while( true ) {\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }\n      iVar4 = *(int *)(*piVar1 + 0x2c);\n      while (iVar4 < 0) {\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }\n      iVar4 = puVar2[4];\n      (*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4);\n      uVar10 = local_64;\n      if (*(int *)(iVar4 + 4) != 0) {\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(local_68,param_2);\n      piVar1 = (int *)*piVar6;\n      if (piVar1 != (int *)piVar6[1]) {\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }\n      if (local_68 == local_60) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n    } while (puVar2 != &local_4c);\n  }\nLAB_002deb70:\n  std::\n  _Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n  ::_M_erase((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48);\n  return;\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "undefined4 *puVar2;" (type_identifier "undefined4") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "Cref_inputs *pCVar5;" (type_identifier "Cref_inputs") (pointer_declarator "*pCVar5" (* "*") (identifier "pCVar5")) (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "undefined *puVar8;" (type_identifier "undefined") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "uint *local_68;" (type_identifier "uint") (pointer_declarator "*local_68" (* "*") (identifier "local_68")) (; ";")) (declaration "uint local_64;" (type_identifier "uint") (identifier "local_64") (; ";")) (declaration "uint local_60 [4];" (type_identifier "uint") (array_declarator "local_60 [4]" (identifier "local_60") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "map amStack_50 [4];" (type_identifier "map") (array_declarator "amStack_50 [4]" (identifier "amStack_50") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined4 local_4c;" (type_identifier "undefined4") (identifier "local_4c") (; ";")) (declaration "_Rb_tree_node *local_48;" (type_identifier "_Rb_tree_node") (pointer_declarator "*local_48" (* "*") (identifier "local_48")) (; ";")) (declaration "undefined4 *local_44;" (type_identifier "undefined4") (pointer_declarator "*local_44" (* "*") (identifier "local_44")) (; ";")) (declaration "undefined4 *local_40;" (type_identifier "undefined4") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "undefined4 local_3c;" (type_identifier "undefined4") (identifier "local_3c") (; ";")) (declaration "undefined *local_38;" (type_identifier "undefined") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "int local_34;" (primitive_type "int") (identifier "local_34") (; ";")) (declaration "map *local_30;" (type_identifier "map") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (expression_statement "local_30 = amStack_50;" (assignment_expression "local_30 = amStack_50" (identifier "local_30") (= "=") (identifier "amStack_50")) (; ";")) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" (identifier "local_4c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_48 = (_Rb_tree_node *)0x0;" (assignment_expression "local_48 = (_Rb_tree_node *)0x0" (identifier "local_48") (= "=") (cast_expression "(_Rb_tree_node *)0x0" (( "(") (type_descriptor "_Rb_tree_node *" (type_identifier "_Rb_tree_node") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" (identifier "local_3c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_44 = &local_4c;" (assignment_expression "local_44 = &local_4c" (identifier "local_44") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";")) (expression_statement "local_40 = &local_4c;" (assignment_expression "local_40 = &local_4c" (identifier "local_40") (= "=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) (; ";")) (expression_statement "gather_cref(this,(vector *)this,local_30);" (call_expression "gather_cref(this,(vector *)this,local_30)" (identifier "gather_cref") (argument_list "(this,(vector *)this,local_30)" (( "(") (identifier "this") (, ",") (cast_expression "(vector *)this" (( "(") (type_descriptor "vector *" (type_identifier "vector") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "this")) (, ",") (identifier "local_30") () ")"))) (; ";")) (expression_statement "pCVar5 = *(Cref_inputs **)(this + 0x18);" (assignment_expression "pCVar5 = *(Cref_inputs **)(this + 0x18)" (identifier "pCVar5") (= "=") (pointer_expression "*(Cref_inputs **)(this + 0x18)" (* "*") (cast_expression "(Cref_inputs **)(this + 0x18)" (( "(") (type_descriptor "Cref_inputs **" (type_identifier "Cref_inputs") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x18)" (( "(") (binary_expression "this + 0x18" (identifier "this") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "puVar2 = local_44;" (assignment_expression "puVar2 = local_44" (identifier "puVar2") (= "=") (identifier "local_44")) (; ";")) (while_statement "while (local_44 = puVar2, this + 0x10 != pCVar5) {\n    gather_cref(this,*(vector **)(pCVar5 + 0x40),local_30);\n    pCVar5 = (Cref_inputs *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5);\n    puVar2 = local_44;\n  }" (while "while") (parenthesized_expression "(local_44 = puVar2, this + 0x10 != pCVar5)" (( "(") (comma_expression "local_44 = puVar2, this + 0x10 != pCVar5" (assignment_expression "local_44 = puVar2" (identifier "local_44") (= "=") (identifier "puVar2")) (, ",") (binary_expression "this + 0x10 != pCVar5" (binary_expression "this + 0x10" (identifier "this") (+ "+") (number_literal "0x10")) (!= "!=") (identifier "pCVar5"))) () ")")) (compound_statement "{\n    gather_cref(this,*(vector **)(pCVar5 + 0x40),local_30);\n    pCVar5 = (Cref_inputs *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5);\n    puVar2 = local_44;\n  }" ({ "{") (expression_statement "gather_cref(this,*(vector **)(pCVar5 + 0x40),local_30);" (call_expression "gather_cref(this,*(vector **)(pCVar5 + 0x40),local_30)" (identifier "gather_cref") (argument_list "(this,*(vector **)(pCVar5 + 0x40),local_30)" (( "(") (identifier "this") (, ",") (pointer_expression "*(vector **)(pCVar5 + 0x40)" (* "*") (cast_expression "(vector **)(pCVar5 + 0x40)" (( "(") (type_descriptor "vector **" (type_identifier "vector") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pCVar5 + 0x40)" (( "(") (binary_expression "pCVar5 + 0x40" (identifier "pCVar5") (+ "+") (number_literal "0x40")) () ")")))) (, ",") (identifier "local_30") () ")"))) (; ";")) (expression_statement "pCVar5 = (Cref_inputs *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5);" (assignment_expression "pCVar5 = (Cref_inputs *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5)" (identifier "pCVar5") (= "=") (cast_expression "(Cref_inputs *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5)" (( "(") (type_descriptor "Cref_inputs *" (type_identifier "Cref_inputs") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5)" (parenthesized_expression "(*(code *)PTR__Rb_tree_increment_004c1e5c)" (( "(") (pointer_expression "*(code *)PTR__Rb_tree_increment_004c1e5c" (* "*") (cast_expression "(code *)PTR__Rb_tree_increment_004c1e5c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__Rb_tree_increment_004c1e5c"))) () ")")) (argument_list "(pCVar5)" (( "(") (identifier "pCVar5") () ")"))))) (; ";")) (expression_statement "puVar2 = local_44;" (assignment_expression "puVar2 = local_44" (identifier "puVar2") (= "=") (identifier "local_44")) (; ";")) (} "}"))) (if_statement "if (puVar2 != &local_4c) {\n    local_34 = 0x7fffffff;\n    local_38 = PTR_s_in_a_linker_script_004c191c;\n    do {\n      while( true ) {\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }\n      iVar4 = *(int *)(*piVar1 + 0x2c);\n      while (iVar4 < 0) {\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }\n      iVar4 = puVar2[4];\n      (*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4);\n      uVar10 = local_64;\n      if (*(int *)(iVar4 + 4) != 0) {\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(local_68,param_2);\n      piVar1 = (int *)*piVar6;\n      if (piVar1 != (int *)piVar6[1]) {\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }\n      if (local_68 == local_60) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n    } while (puVar2 != &local_4c);\n  }" (if "if") (parenthesized_expression "(puVar2 != &local_4c)" (( "(") (binary_expression "puVar2 != &local_4c" (identifier "puVar2") (!= "!=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) () ")")) (compound_statement "{\n    local_34 = 0x7fffffff;\n    local_38 = PTR_s_in_a_linker_script_004c191c;\n    do {\n      while( true ) {\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }\n      iVar4 = *(int *)(*piVar1 + 0x2c);\n      while (iVar4 < 0) {\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }\n      iVar4 = puVar2[4];\n      (*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4);\n      uVar10 = local_64;\n      if (*(int *)(iVar4 + 4) != 0) {\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(local_68,param_2);\n      piVar1 = (int *)*piVar6;\n      if (piVar1 != (int *)piVar6[1]) {\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }\n      if (local_68 == local_60) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n    } while (puVar2 != &local_4c);\n  }" ({ "{") (expression_statement "local_34 = 0x7fffffff;" (assignment_expression "local_34 = 0x7fffffff" (identifier "local_34") (= "=") (number_literal "0x7fffffff")) (; ";")) (expression_statement "local_38 = PTR_s_in_a_linker_script_004c191c;" (assignment_expression "local_38 = PTR_s_in_a_linker_script_004c191c" (identifier "local_38") (= "=") (identifier "PTR_s_in_a_linker_script_004c191c")) (; ";")) (do_statement "do {\n      while( true ) {\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }\n      iVar4 = *(int *)(*piVar1 + 0x2c);\n      while (iVar4 < 0) {\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }\n      iVar4 = puVar2[4];\n      (*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4);\n      uVar10 = local_64;\n      if (*(int *)(iVar4 + 4) != 0) {\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(local_68,param_2);\n      piVar1 = (int *)*piVar6;\n      if (piVar1 != (int *)piVar6[1]) {\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }\n      if (local_68 == local_60) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n    } while (puVar2 != &local_4c);" (do "do") (compound_statement "{\n      while( true ) {\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }\n      iVar4 = *(int *)(*piVar1 + 0x2c);\n      while (iVar4 < 0) {\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }\n      iVar4 = puVar2[4];\n      (*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4);\n      uVar10 = local_64;\n      if (*(int *)(iVar4 + 4) != 0) {\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }\n      (*(code *)PTR_fputs_004c5d2c)(local_68,param_2);\n      piVar1 = (int *)*piVar6;\n      if (piVar1 != (int *)piVar6[1]) {\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }\n      if (local_68 == local_60) goto LAB_002deb58;\n      (*(code *)PTR_operator_delete_004c12fc)();\n      puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n    }" ({ "{") (while_statement "while( true ) {\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        piVar6 = (int *)puVar2[5];\n        piVar1 = (int *)*piVar6;\n        if (piVar1 != (int *)piVar6[1]) break;\nLAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);\n        if (puVar2 == &local_4c) goto LAB_002deb70;\n      }" ({ "{") (expression_statement "piVar6 = (int *)puVar2[5];" (assignment_expression "piVar6 = (int *)puVar2[5]" (identifier "piVar6") (= "=") (cast_expression "(int *)puVar2[5]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar2[5]" (identifier "puVar2") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "piVar1 = (int *)*piVar6;" (assignment_expression "piVar1 = (int *)*piVar6" (identifier "piVar1") (= "=") (cast_expression "(int *)*piVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar6" (* "*") (identifier "piVar6")))) (; ";")) (if_statement "if (piVar1 != (int *)piVar6[1]) break;" (if "if") (parenthesized_expression "(piVar1 != (int *)piVar6[1])" (( "(") (binary_expression "piVar1 != (int *)piVar6[1]" (identifier "piVar1") (!= "!=") (cast_expression "(int *)piVar6[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar6[1]" (identifier "piVar6") ([ "[") (number_literal "1") (] "]")))) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_002deb58:\n        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);" (statement_identifier "LAB_002deb58") (: ":") (expression_statement "puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);" (assignment_expression "puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2)" (parenthesized_expression "(*(code *)PTR__Rb_tree_increment_004c1e5c)" (( "(") (pointer_expression "*(code *)PTR__Rb_tree_increment_004c1e5c" (* "*") (cast_expression "(code *)PTR__Rb_tree_increment_004c1e5c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__Rb_tree_increment_004c1e5c"))) () ")")) (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")"))))) (; ";"))) (if_statement "if (puVar2 == &local_4c) goto LAB_002deb70;" (if "if") (parenthesized_expression "(puVar2 == &local_4c)" (( "(") (binary_expression "puVar2 == &local_4c" (identifier "puVar2") (== "==") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) () ")")) (goto_statement "goto LAB_002deb70;" (goto "goto") (statement_identifier "LAB_002deb70") (; ";"))) (} "}"))) (expression_statement "iVar4 = *(int *)(*piVar1 + 0x2c);" (assignment_expression "iVar4 = *(int *)(*piVar1 + 0x2c)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(*piVar1 + 0x2c)" (* "*") (cast_expression "(int *)(*piVar1 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar1 + 0x2c)" (( "(") (binary_expression "*piVar1 + 0x2c" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (while_statement "while (iVar4 < 0) {\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }" (while "while") (parenthesized_expression "(iVar4 < 0)" (( "(") (binary_expression "iVar4 < 0" (identifier "iVar4") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        piVar1 = piVar1 + 1;\n        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;\n        iVar4 = *(int *)(*piVar1 + 0x2c);\n      }" ({ "{") (expression_statement "piVar1 = piVar1 + 1;" (assignment_expression "piVar1 = piVar1 + 1" (identifier "piVar1") (= "=") (binary_expression "piVar1 + 1" (identifier "piVar1") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;" (if "if") (parenthesized_expression "(piVar1 == (int *)piVar6[1])" (( "(") (binary_expression "piVar1 == (int *)piVar6[1]" (identifier "piVar1") (== "==") (cast_expression "(int *)piVar6[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar6[1]" (identifier "piVar6") ([ "[") (number_literal "1") (] "]")))) () ")")) (goto_statement "goto LAB_002deb58;" (goto "goto") (statement_identifier "LAB_002deb58") (; ";"))) (expression_statement "iVar4 = *(int *)(*piVar1 + 0x2c);" (assignment_expression "iVar4 = *(int *)(*piVar1 + 0x2c)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(*piVar1 + 0x2c)" (* "*") (cast_expression "(int *)(*piVar1 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar1 + 0x2c)" (( "(") (binary_expression "*piVar1 + 0x2c" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar4 = puVar2[4];" (assignment_expression "iVar4 = puVar2[4]" (identifier "iVar4") (= "=") (subscript_expression "puVar2[4]" (identifier "puVar2") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "(*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4);" (call_expression "(*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4)" (parenthesized_expression "(*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)" (( "(") (pointer_expression "*(code *)PTR_demangled_name_abi_cxx11__004c1cc8" (* "*") (cast_expression "(code *)PTR_demangled_name_abi_cxx11__004c1cc8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_demangled_name_abi_cxx11__004c1cc8"))) () ")")) (argument_list "(&local_68,iVar4)" (( "(") (pointer_expression "&local_68" (& "&") (identifier "local_68")) (, ",") (identifier "iVar4") () ")"))) (; ";")) (expression_statement "uVar10 = local_64;" (assignment_expression "uVar10 = local_64" (identifier "uVar10") (= "=") (identifier "local_64")) (; ";")) (if_statement "if (*(int *)(iVar4 + 4) != 0) {\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 4) != 0)" (( "(") (binary_expression "*(int *)(iVar4 + 4) != 0" (pointer_expression "*(int *)(iVar4 + 4)" (* "*") (cast_expression "(int *)(iVar4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar7 = local_64 + 1;\n        uVar3 = local_60[0];\n        if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }\n        if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }\n        *(undefined1 *)((int)local_68 + uVar10) = 0x40;\n        *(undefined1 *)((int)local_68 + uVar7) = 0;\n        iVar9 = *(int *)(iVar4 + 4);\n        local_64 = uVar7;\n        if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }\n        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }\n        uVar10 = local_64;\n        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);\n        if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }\n                    \n        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);\n      }" ({ "{") (expression_statement "uVar7 = local_64 + 1;" (assignment_expression "uVar7 = local_64 + 1" (identifier "uVar7") (= "=") (binary_expression "local_64 + 1" (identifier "local_64") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar3 = local_60[0];" (assignment_expression "uVar3 = local_60[0]" (identifier "uVar3") (= "=") (subscript_expression "local_60[0]" (identifier "local_60") ([ "[") (number_literal "0") (] "]"))) (; ";")) (if_statement "if (local_68 == local_60) {\n          uVar3 = 0xf;\n        }" (if "if") (parenthesized_expression "(local_68 == local_60)" (( "(") (binary_expression "local_68 == local_60" (identifier "local_68") (== "==") (identifier "local_60")) () ")")) (compound_statement "{\n          uVar3 = 0xf;\n        }" ({ "{") (expression_statement "uVar3 = 0xf;" (assignment_expression "uVar3 = 0xf" (identifier "uVar3") (= "=") (number_literal "0xf")) (; ";")) (} "}"))) (if_statement "if (uVar3 < uVar7) {\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }" (if "if") (parenthesized_expression "(uVar3 < uVar7)" (( "(") (binary_expression "uVar3 < uVar7" (identifier "uVar3") (< "<") (identifier "uVar7")) () ")")) (compound_statement "{\n          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);\n        }" ({ "{") (expression_statement "(*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);" (call_expression "(*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1)" (parenthesized_expression "(*(code *)PTR__M_mutate_004c2090)" (( "(") (pointer_expression "*(code *)PTR__M_mutate_004c2090" (* "*") (cast_expression "(code *)PTR__M_mutate_004c2090" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_mutate_004c2090"))) () ")")) (argument_list "(&local_68,local_64,0,0,1)" (( "(") (pointer_expression "&local_68" (& "&") (identifier "local_68")) (, ",") (identifier "local_64") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)((int)local_68 + uVar10) = 0x40;" (assignment_expression "*(undefined1 *)((int)local_68 + uVar10) = 0x40" (pointer_expression "*(undefined1 *)((int)local_68 + uVar10)" (* "*") (cast_expression "(undefined1 *)((int)local_68 + uVar10)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_68 + uVar10)" (( "(") (binary_expression "(int)local_68 + uVar10" (cast_expression "(int)local_68" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_68")) (+ "+") (identifier "uVar10")) () ")")))) (= "=") (number_literal "0x40")) (; ";")) (expression_statement "*(undefined1 *)((int)local_68 + uVar7) = 0;" (assignment_expression "*(undefined1 *)((int)local_68 + uVar7) = 0" (pointer_expression "*(undefined1 *)((int)local_68 + uVar7)" (* "*") (cast_expression "(undefined1 *)((int)local_68 + uVar7)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_68 + uVar7)" (( "(") (binary_expression "(int)local_68 + uVar7" (cast_expression "(int)local_68" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_68")) (+ "+") (identifier "uVar7")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar9 = *(int *)(iVar4 + 4);" (assignment_expression "iVar9 = *(int *)(iVar4 + 4)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(iVar4 + 4)" (* "*") (cast_expression "(int *)(iVar4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "local_64 = uVar7;" (assignment_expression "local_64 = uVar7" (identifier "local_64") (= "=") (identifier "uVar7")) (; ";")) (if_statement "if (iVar9 == 0) {\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);\n          return;\n        }" ({ "{") (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,\n                     PTR_s_in_a_linker_script_004c191c + 0x6de8)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x3860")) (, ",") (number_literal "0x86") (, ",") (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x6de8" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "0x6de8")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x28) << 0x13 < 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x28) << 0x13 < 0" (binary_expression "*(int *)(iVar4 + 0x28) << 0x13" (pointer_expression "*(int *)(iVar4 + 0x28)" (* "*") (cast_expression "(int *)(iVar4 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x28)" (( "(") (binary_expression "iVar4 + 0x28" (identifier "iVar4") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "0x13")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          uVar10 = uVar10 + 2;\n          uVar3 = local_60[0];\n          if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }\n          if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }\n          *(undefined1 *)((int)local_68 + uVar7) = 0x40;\n          *(undefined1 *)((int)local_68 + uVar10) = 0;\n          iVar9 = *(int *)(iVar4 + 4);\n          local_64 = uVar10;\n        }" ({ "{") (expression_statement "uVar10 = uVar10 + 2;" (assignment_expression "uVar10 = uVar10 + 2" (identifier "uVar10") (= "=") (binary_expression "uVar10 + 2" (identifier "uVar10") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "uVar3 = local_60[0];" (assignment_expression "uVar3 = local_60[0]" (identifier "uVar3") (= "=") (subscript_expression "local_60[0]" (identifier "local_60") ([ "[") (number_literal "0") (] "]"))) (; ";")) (if_statement "if (local_68 == local_60) {\n            uVar3 = 0xf;\n          }" (if "if") (parenthesized_expression "(local_68 == local_60)" (( "(") (binary_expression "local_68 == local_60" (identifier "local_68") (== "==") (identifier "local_60")) () ")")) (compound_statement "{\n            uVar3 = 0xf;\n          }" ({ "{") (expression_statement "uVar3 = 0xf;" (assignment_expression "uVar3 = 0xf" (identifier "uVar3") (= "=") (number_literal "0xf")) (; ";")) (} "}"))) (if_statement "if (uVar3 < uVar10) {\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }" (if "if") (parenthesized_expression "(uVar3 < uVar10)" (( "(") (binary_expression "uVar3 < uVar10" (identifier "uVar3") (< "<") (identifier "uVar10")) () ")")) (compound_statement "{\n            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);\n          }" ({ "{") (expression_statement "(*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);" (call_expression "(*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1)" (parenthesized_expression "(*(code *)PTR__M_mutate_004c2090)" (( "(") (pointer_expression "*(code *)PTR__M_mutate_004c2090" (* "*") (cast_expression "(code *)PTR__M_mutate_004c2090" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_mutate_004c2090"))) () ")")) (argument_list "(&local_68,uVar7,0,0,1)" (( "(") (pointer_expression "&local_68" (& "&") (identifier "local_68")) (, ",") (identifier "uVar7") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)((int)local_68 + uVar7) = 0x40;" (assignment_expression "*(undefined1 *)((int)local_68 + uVar7) = 0x40" (pointer_expression "*(undefined1 *)((int)local_68 + uVar7)" (* "*") (cast_expression "(undefined1 *)((int)local_68 + uVar7)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_68 + uVar7)" (( "(") (binary_expression "(int)local_68 + uVar7" (cast_expression "(int)local_68" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_68")) (+ "+") (identifier "uVar7")) () ")")))) (= "=") (number_literal "0x40")) (; ";")) (expression_statement "*(undefined1 *)((int)local_68 + uVar10) = 0;" (assignment_expression "*(undefined1 *)((int)local_68 + uVar10) = 0" (pointer_expression "*(undefined1 *)((int)local_68 + uVar10)" (* "*") (cast_expression "(undefined1 *)((int)local_68 + uVar10)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_68 + uVar10)" (( "(") (binary_expression "(int)local_68 + uVar10" (cast_expression "(int)local_68" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_68")) (+ "+") (identifier "uVar10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar9 = *(int *)(iVar4 + 4);" (assignment_expression "iVar9 = *(int *)(iVar4 + 4)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(iVar4 + 4)" (* "*") (cast_expression "(int *)(iVar4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "local_64 = uVar10;" (assignment_expression "local_64 = uVar10" (identifier "local_64") (= "=") (identifier "uVar10")) (; ";")) (} "}"))) (expression_statement "uVar10 = local_64;" (assignment_expression "uVar10 = local_64" (identifier "uVar10") (= "=") (identifier "local_64")) (; ";")) (expression_statement "uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);" (assignment_expression "uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9)" (identifier "uVar3") (= "=") (call_expression "(*(code *)PTR_strlen_004c5b9c)(iVar9)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" (( "(") (pointer_expression "*(code *)PTR_strlen_004c5b9c" (* "*") (cast_expression "(code *)PTR_strlen_004c5b9c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_004c5b9c"))) () ")")) (argument_list "(iVar9)" (( "(") (identifier "iVar9") () ")")))) (; ";")) (if_statement "if (local_34 - uVar10 < uVar3) {\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }" (if "if") (parenthesized_expression "(local_34 - uVar10 < uVar3)" (( "(") (binary_expression "local_34 - uVar10 < uVar3" (binary_expression "local_34 - uVar10" (identifier "local_34") (- "-") (identifier "uVar10")) (< "<") (identifier "uVar3")) () ")")) (compound_statement "{\n          (*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n          return;\n        }" ({ "{") (expression_statement "(*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);" (call_expression "(*(code *)PTR___throw_length_error_004c1e74)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" (parenthesized_expression "(*(code *)PTR___throw_length_error_004c1e74)" (( "(") (pointer_expression "*(code *)PTR___throw_length_error_004c1e74" (* "*") (cast_expression "(code *)PTR___throw_length_error_004c1e74" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___throw_length_error_004c1e74"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x446c")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);" (call_expression "(*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3)" (parenthesized_expression "(*(code *)PTR__M_append_004c1e68)" (( "(") (pointer_expression "*(code *)PTR__M_append_004c1e68" (* "*") (cast_expression "(code *)PTR__M_append_004c1e68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_append_004c1e68"))) () ")")) (argument_list "(&local_68,iVar9,uVar3)" (( "(") (pointer_expression "&local_68" (& "&") (identifier "local_68")) (, ",") (identifier "iVar9") (, ",") (identifier "uVar3") () ")"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_fputs_004c5d2c)(local_68,param_2);" (call_expression "(*(code *)PTR_fputs_004c5d2c)(local_68,param_2)" (parenthesized_expression "(*(code *)PTR_fputs_004c5d2c)" (( "(") (pointer_expression "*(code *)PTR_fputs_004c5d2c" (* "*") (cast_expression "(code *)PTR_fputs_004c5d2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fputs_004c5d2c"))) () ")")) (argument_list "(local_68,param_2)" (( "(") (identifier "local_68") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "piVar1 = (int *)*piVar6;" (assignment_expression "piVar1 = (int *)*piVar6" (identifier "piVar1") (= "=") (cast_expression "(int *)*piVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar6" (* "*") (identifier "piVar6")))) (; ";")) (if_statement "if (piVar1 != (int *)piVar6[1]) {\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }" (if "if") (parenthesized_expression "(piVar1 != (int *)piVar6[1])" (( "(") (binary_expression "piVar1 != (int *)piVar6[1]" (identifier "piVar1") (!= "!=") (cast_expression "(int *)piVar6[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar6[1]" (identifier "piVar6") ([ "[") (number_literal "1") (] "]")))) () ")")) (compound_statement "{\n        if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }\n        puVar8 = local_38 + 0x6d98;\n        do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);\n      }" ({ "{") (if_statement "if (local_64 < 0x32) {\n          iVar4 = 0x32 - local_64;\n        }\n        else {\n          iVar4 = 1;\n        }" (if "if") (parenthesized_expression "(local_64 < 0x32)" (( "(") (binary_expression "local_64 < 0x32" (identifier "local_64") (< "<") (number_literal "0x32")) () ")")) (compound_statement "{\n          iVar4 = 0x32 - local_64;\n        }" ({ "{") (expression_statement "iVar4 = 0x32 - local_64;" (assignment_expression "iVar4 = 0x32 - local_64" (identifier "iVar4") (= "=") (binary_expression "0x32 - local_64" (number_literal "0x32") (- "-") (identifier "local_64"))) (; ";")) (} "}")) (else_clause "else {\n          iVar4 = 1;\n        }" (else "else") (compound_statement "{\n          iVar4 = 1;\n        }" ({ "{") (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" (identifier "iVar4") (= "=") (number_literal "1")) (; ";")) (} "}")))) (expression_statement "puVar8 = local_38 + 0x6d98;" (assignment_expression "puVar8 = local_38 + 0x6d98" (identifier "puVar8") (= "=") (binary_expression "local_38 + 0x6d98" (identifier "local_38") (+ "+") (number_literal "0x6d98"))) (; ";")) (do_statement "do {\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        } while (piVar1 != (int *)piVar6[1]);" (do "do") (compound_statement "{\n          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));\n          piVar1 = piVar1 + 1;\n          iVar4 = 0x32;\n        }" ({ "{") (expression_statement "(*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));" (call_expression "(*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4))" (parenthesized_expression "(*(code *)PTR_fprintf_004c5b48)" (( "(") (pointer_expression "*(code *)PTR_fprintf_004c5b48" (* "*") (cast_expression "(code *)PTR_fprintf_004c5b48" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fprintf_004c5b48"))) () ")")) (argument_list "(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4))" (( "(") (identifier "param_2") (, ",") (identifier "puVar8") (, ",") (identifier "iVar4") (, ",") (number_literal "0x20") (, ",") (pointer_expression "*(undefined4 *)(*piVar1 + 4)" (* "*") (cast_expression "(undefined4 *)(*piVar1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar1 + 4)" (( "(") (binary_expression "*piVar1 + 4" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (+ "+") (number_literal "4")) () ")")))) () ")"))) (; ";")) (expression_statement "piVar1 = piVar1 + 1;" (assignment_expression "piVar1 = piVar1 + 1" (identifier "piVar1") (= "=") (binary_expression "piVar1 + 1" (identifier "piVar1") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar4 = 0x32;" (assignment_expression "iVar4 = 0x32" (identifier "iVar4") (= "=") (number_literal "0x32")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar1 != (int *)piVar6[1])" (( "(") (binary_expression "piVar1 != (int *)piVar6[1]" (identifier "piVar1") (!= "!=") (cast_expression "(int *)piVar6[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar6[1]" (identifier "piVar6") ([ "[") (number_literal "1") (] "]")))) () ")")) (; ";")) (} "}"))) (if_statement "if (local_68 == local_60) goto LAB_002deb58;" (if "if") (parenthesized_expression "(local_68 == local_60)" (( "(") (binary_expression "local_68 == local_60" (identifier "local_68") (== "==") (identifier "local_60")) () ")")) (goto_statement "goto LAB_002deb58;" (goto "goto") (statement_identifier "LAB_002deb58") (; ";"))) (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_004c12fc" (* "*") (cast_expression "(code *)PTR_operator_delete_004c12fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_004c12fc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);" (assignment_expression "puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2)" (parenthesized_expression "(*(code *)PTR__Rb_tree_increment_004c1e5c)" (( "(") (pointer_expression "*(code *)PTR__Rb_tree_increment_004c1e5c" (* "*") (cast_expression "(code *)PTR__Rb_tree_increment_004c1e5c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__Rb_tree_increment_004c1e5c"))) () ")")) (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar2 != &local_4c)" (( "(") (binary_expression "puVar2 != &local_4c" (identifier "puVar2") (!= "!=") (pointer_expression "&local_4c" (& "&") (identifier "local_4c"))) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_002deb70:\n  std::\n  _Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n  ::_M_erase((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48);" (statement_identifier "LAB_002deb70") (: ":") (ERROR "std::\n  _Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::" (comma_expression "std::\n  _Rb_tree<gold::Symbol_const*,std" (identifier "std") (ERROR "::\n  _Rb_tree<gold::Symbol_const*" (: ":") (: ":") (binary_expression "_Rb_tree<gold" (identifier "_Rb_tree") (< "<") (identifier "gold")) (: ":") (: ":") (identifier "Symbol_const") (* "*")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "pair<gold" (identifier "pair") (< "<") (identifier "gold")) (: ":") (: ":") (comma_expression "Symbol_const*const,std" (binary_expression "Symbol_const*const" (identifier "Symbol_const") (* "*") (identifier "const")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "vector<gold" (identifier "vector") (< "<") (identifier "gold")) (: ":") (: ":") (binary_expression "Object*,std" (identifier "Object") (* "*") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":") (binary_expression "allocator<gold" (identifier "allocator") (< "<") (identifier "gold")) (: ":") (: ":") (binary_expression "Object*>>*>,std" (identifier "Object") (* "*") (ERROR ">>" (>> ">>")) (pointer_expression "*>,std" (* "*") (ERROR ">," (> ">") (, ",")) (identifier "std"))) (: ":") (: ":") (binary_expression "_Select1st<std" (identifier "_Select1st") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "pair<gold" (identifier "pair") (< "<") (identifier "gold")) (: ":") (: ":") (comma_expression "Symbol_const*const,std" (binary_expression "Symbol_const*const" (identifier "Symbol_const") (* "*") (identifier "const")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "vector<gold" (identifier "vector") (< "<") (identifier "gold")) (: ":") (: ":") (binary_expression "Object*,std" (identifier "Object") (* "*") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":") (binary_expression "allocator<gold" (identifier "allocator") (< "<") (identifier "gold")) (: ":") (: ":") (binary_expression "Object*>>*>>,gold" (identifier "Object") (* "*") (ERROR ">>" (>> ">>")) (pointer_expression "*>>,gold" (* "*") (ERROR ">>," (>> ">>") (, ",")) (identifier "gold"))) (: ":") (: ":") (comma_expression "Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std" (identifier "Cref_inputs") (ERROR "::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*" (: ":") (: ":") (comma_expression "Cref_table_compare,std" (identifier "Cref_table_compare") (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "pair<gold" (identifier "pair") (< "<") (identifier "gold")) (: ":") (: ":") (comma_expression "Symbol_const*const,std" (binary_expression "Symbol_const*const" (identifier "Symbol_const") (* "*") (identifier "const")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "vector<gold" (identifier "vector") (< "<") (identifier "gold")) (: ":") (: ":") (identifier "Object") (* "*")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "allocator<gold" (identifier "allocator") (< "<") (identifier "gold")) (: ":") (: ":")) (expression_statement "Object*>>*>>>\n  ::_M_erase((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48);" (binary_expression "Object*>>*>>>\n  ::_M_erase((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48)" (identifier "Object") (* "*") (ERROR ">>" (>> ">>")) (pointer_expression "*>>>\n  ::_M_erase((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48)" (* "*") (ERROR ">>>\n  ::" (>> ">>") (> ">") (: ":") (: ":")) (call_expression "_M_erase((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48)" (identifier "_M_erase") (argument_list "((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48)" (( "(") (parenthesized_expression "(_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>\n              *)local_30,local_48)" (( "(") (ERROR "_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::" (comma_expression "_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std" (binary_expression "_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const" (binary_expression "_Rb_tree<gold::Symbol_const*,std::pair<gold" (binary_expression "_Rb_tree<gold::Symbol_const*,std" (binary_expression "_Rb_tree<gold" (identifier "_Rb_tree") (< "<") (identifier "gold")) (ERROR "::Symbol_const" (: ":") (: ":") (identifier "Symbol_const")) (* "*") (ERROR "," (, ",")) (identifier "std")) (ERROR "::pair" (: ":") (: ":") (identifier "pair")) (< "<") (identifier "gold")) (ERROR "::Symbol_const" (: ":") (: ":") (identifier "Symbol_const")) (* "*") (identifier "const")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "vector<gold" (identifier "vector") (< "<") (identifier "gold")) (: ":") (: ":") (type_descriptor "Object*" (type_identifier "Object") (abstract_pointer_declarator "*" (* "*"))) (, ",") (identifier "std") (: ":") (: ":") (binary_expression "allocator<gold" (identifier "allocator") (< "<") (identifier "gold")) (: ":") (: ":") (binary_expression "Object*>>*>,std" (identifier "Object") (* "*") (ERROR ">>" (>> ">>")) (pointer_expression "*>,std" (* "*") (ERROR ">," (> ">") (, ",")) (identifier "std"))) (: ":") (: ":") (binary_expression "_Select1st<std" (identifier "_Select1st") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "pair<gold" (identifier "pair") (< "<") (identifier "gold")) (: ":") (: ":") (comma_expression "Symbol_const*const,std" (binary_expression "Symbol_const*const" (identifier "Symbol_const") (* "*") (identifier "const")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "vector<gold" (identifier "vector") (< "<") (identifier "gold")) (: ":") (: ":") (type_descriptor "Object*" (type_identifier "Object") (abstract_pointer_declarator "*" (* "*"))) (, ",") (identifier "std") (: ":") (: ":") (binary_expression "allocator<gold" (identifier "allocator") (< "<") (identifier "gold")) (: ":") (: ":") (binary_expression "Object*>>*>>,gold" (identifier "Object") (* "*") (ERROR ">>" (>> ">>")) (pointer_expression "*>>,gold" (* "*") (ERROR ">>," (>> ">>") (, ",")) (identifier "gold"))) (: ":") (: ":") (identifier "Cref_inputs") (: ":") (: ":") (comma_expression "Cref_table_compare,std" (identifier "Cref_table_compare") (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "pair<gold" (identifier "pair") (< "<") (identifier "gold")) (: ":") (: ":") (comma_expression "Symbol_const*const,std" (binary_expression "Symbol_const*const" (identifier "Symbol_const") (* "*") (identifier "const")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "vector<gold" (identifier "vector") (< "<") (identifier "gold")) (: ":") (: ":") (type_descriptor "Object*" (type_identifier "Object") (abstract_pointer_declarator "*" (* "*"))) (, ",") (identifier "std") (: ":") (: ":") (binary_expression "allocator<gold" (identifier "allocator") (< "<") (identifier "gold")) (: ":") (: ":")) (comma_expression "Object*>>*>>>\n              *)local_30,local_48" (binary_expression "Object*>>*>>>\n              *)local_30" (identifier "Object") (* "*") (ERROR ">>" (>> ">>")) (pointer_expression "*>>>\n              *)local_30" (* "*") (ERROR ">>>" (>> ">>") (> ">")) (pointer_expression "*)local_30" (* "*") (ERROR ")" () ")")) (identifier "local_30")))) (, ",") (identifier "local_48")) () ")")) () ""))))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Type propagation algorithm not settling */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* DWARF original prototype: void print_cref(Cref_inputs * this, Symbol_table * param_1, FILE * f)
    */

void __thiscall gold::type_1::function_1(type_1 *this,type_2 *param_1,type_3 *f)

{
  type_4 *var_17;
  type_5 var_15;
  type_6 p_Var3;
  type_7 var_10;
  type_6 p_Var5;
  type_6 var_8;
  type_6 p_Var7;
  type_8 var_11;
  type_9 var_9;
  anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
  *var_5;
  type_10 *var_7;
  int var_12;
  type_8 var_16;
  type_11 s;
  type_12 type_16;
  
  var_7 = &type_16.function_3.function_4.function_5;
  type_16.function_3.function_4.function_5.function_6._M_color = _S_red;
  type_16.function_3.function_4.function_5.function_6.function_7 = (type_6)0x0;
                    /* try { // try from 002deaa4 to 002debbf has its CatchHandler @ 002dedd4 */
  type_16.function_3.function_4.function_5._M_node_count = 0;
  type_16.function_3.function_4.function_5.function_6._M_left = &var_7->function_6;
  type_16.function_3.function_4.function_5.function_6._M_right = &var_7->function_6;
  var_6(this,&this->objects_,(type_12 *)&type_16.function_3);
  var_8 = (this->archives_).function_3.function_4.function_5.function_6._M_left;
  p_Var3 = type_16.function_3.function_4.function_5.function_6._M_left;
  while (var_17 = var_14,
        type_16.function_3.function_4.function_5.function_6._M_left = p_Var3,
        &(this->archives_).function_3.function_4.function_5 != (type_10 *)var_8) {
    var_6(this,(type_13 *)var_8[4]._M_color,(type_12 *)&type_16.function_3);
    var_8 = (type_6)(*(type_14 *)PTR__Rb_tree_increment_004c1e5c)(var_8);
    p_Var3 = type_16.function_3.function_4.function_5.function_6._M_left;
  }
  if ((type_10 *)p_Var3 != var_7) {
    var_5 = &s.field_2;
    do {
      while( true ) {
        p_Var7 = p_Var3[1].function_7;
        var_8 = (type_6)p_Var7->_M_color;
        if (var_8 != p_Var7->function_7) break;
LAB_002deb58:
        p_Var3 = (type_6)(*(type_14 *)PTR__Rb_tree_increment_004c1e5c)(p_Var3);
        if ((type_10 *)p_Var3 == var_7) goto LAB_002deb70;
      }
      p_Var5 = *(type_6 *)(var_8->_M_color + 0x2c);
      while ((int)p_Var5 < 0) {
        var_8 = (type_6)&var_8->function_7;
        if (var_8 == p_Var7->function_7) goto LAB_002deb58;
        p_Var5 = (*(type_6 *)var_8)[2]._M_right;
      }
      var_9 = p_Var3[1]._M_color;
      (*(type_14 *)PTR_demangled_name_004c1cc8)(&s,var_9);
      var_15 = s._M_string_length;
      if (*(int *)(var_9 + 4) != 0) {
        var_11 = s._M_string_length + 1;
        var_10 = s.field_2._M_allocated_capacity;
        if ((anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
             *)s._M_dataplus._M_p == var_5) {
          var_10 = 0xf;
        }
        if (var_10 < var_11) {
          (*(type_14 *)PTR__M_mutate_004c2090)(&s,s._M_string_length,0,0,1);
        }
        s._M_dataplus._M_p[var_15] = '@';
        s._M_dataplus._M_p[var_11] = '\0';
        var_12 = *(int *)(var_9 + 4);
        s._M_string_length = var_11;
        if (var_12 == 0) {
          (*(type_14 *)PTR_do_gold_unreachable_004c1a30)
                    (var_13 + 0x3860,0x86,
                     var_14 + 0x6de8);
LAB_002dedc4:
          (*(type_14 *)PTR___throw_length_error_004c1e74)
                    (var_13 + 0x446c);
          return;
        }
        if (*(int *)(var_9 + 0x28) << 0x13 < 0) {
          var_16 = var_15 + 2;
          var_10 = s.field_2._M_allocated_capacity;
          if ((anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
               *)s._M_dataplus._M_p == var_5) {
            var_10 = 0xf;
          }
          if (var_10 < var_16) {
            (*(type_14 *)PTR__M_mutate_004c2090)(&s,var_11,0,0,1);
          }
          s._M_dataplus._M_p[var_11] = '@';
          s._M_dataplus._M_p[var_16] = '\0';
          var_12 = *(int *)(var_9 + 4);
          s._M_string_length = var_16;
        }
        var_15 = s._M_string_length;
        var_11 = (*(type_14 *)PTR_strlen_004c5b9c)(var_12);
        if (0x7fffffff - var_15 < var_11) goto LAB_002dedc4;
                    /* try { // try from 002dec90 to 002dedd3 has its CatchHandler @ 002dedfc */
        (*(type_14 *)PTR__M_append_004c1e68)(&s,var_12,var_11);
      }
      (*(type_14 *)PTR_fputs_004c5d2c)(s._M_dataplus._M_p,f);
      var_8 = (type_6)p_Var7->_M_color;
      if (var_8 != p_Var7->function_7) {
        if (s._M_string_length < 0x32) {
          var_12 = 0x32 - s._M_string_length;
        }
        else {
          var_12 = 1;
        }
        do {
          (*(type_14 *)PTR_fprintf_004c5b48)
                    (f,var_17 + 0x6d98,var_12,0x20,*(type_7 *)(var_8->_M_color + 4));
          var_8 = (type_6)&var_8->function_7;
          var_12 = 0x32;
        } while (var_8 != p_Var7->function_7);
      }
      if ((anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
           *)s._M_dataplus._M_p == var_5) goto LAB_002deb58;
      (*(type_14 *)PTR_operator_delete_004c12fc)();
      p_Var3 = (type_6)(*(type_14 *)PTR__Rb_tree_increment_004c1e5c)(p_Var3);
    } while ((type_10 *)p_Var3 != var_7);
  }
LAB_002deb70:
  std::
  _Rb_tree<const_gold::type_15*,_std::pair<const_gold::type_15*_const,_std::vector<gold::Object*,_std::var_1<gold::Object*>var_3>*>,_std::_Select1st<std::pair<const_gold::type_15*_const,_std::vector<gold::Object*,_std::var_1<gold::Object*>var_3>*>var_3>,_gold::type_1::Cref_table_compare,_std::var_1<std::pair<const_gold::type_15*_const,_std::vector<gold::Object*,_std::var_1<gold::Object*>var_3>*>var_3>var_3>
  ::function_2(&type_16.function_3,(type_17)type_16.function_3.function_4.function_5.function_6.function_7);
  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: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) body: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (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)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (break_statement)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (number_literal) (number_literal) (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (number_literal) (number_literal) (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) (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 (pointer_expression argument: (identifier)) (identifier) (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))))))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) (ERROR (binary_expression left: (identifier) right: (identifier)) (identifier)) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) (ERROR) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) (ERROR) right: (pointer_expression (ERROR) argument: (identifier))) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) (ERROR) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) (ERROR) right: (pointer_expression (ERROR) argument: (identifier))) (comma_expression left: (identifier) (ERROR (comma_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (identifier)) right: (identifier)) (binary_expression left: (identifier) right: (identifier))) (expression_statement (binary_expression left: (identifier) (ERROR) right: (pointer_expression (ERROR) argument: (call_expression function: (identifier) arguments: (argument_list (parenthesized_expression (ERROR (comma_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) (ERROR (identifier)) (ERROR) right: (identifier)) (ERROR (identifier)) right: (identifier)) (ERROR (identifier)) right: (identifier)) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) (identifier) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) (ERROR) right: (pointer_expression (ERROR) argument: (identifier))) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) (identifier) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) (ERROR) right: (pointer_expression (ERROR) argument: (identifier))) (identifier) (comma_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) (identifier) (binary_expression left: (identifier) right: (identifier))) (comma_expression left: (binary_expression left: (identifier) (ERROR) right: (pointer_expression (ERROR) argument: (pointer_expression (ERROR) argument: (identifier)))) right: (identifier))) (MISSING ")"))))))) (return_statement))))

/* gold::Cref_inputs::MASKED(gold::Symbol_table const*, _IO_FILE*) const */

void __thiscall
gold::Cref_inputs::MASKED(Cref_inputs *this,Symbol_table *param_1,_IO_FILE *param_2)

{
  int *piVar1;
  undefined4 *puVar2;
  uint uVar3;
  int iVar4;
  Cref_inputs *pCVar5;
  int *piVar6;
  uint uVar7;
  undefined *puVar8;
  int iVar9;
  uint uVar10;
  uint *local_68;
  uint local_64;
  uint local_60 [4];
  map amStack_50 [4];
  undefined4 local_4c;
  _Rb_tree_node *local_48;
  undefined4 *local_44;
  undefined4 *local_40;
  undefined4 local_3c;
  undefined *local_38;
  int local_34;
  map *local_30;
  
  local_30 = amStack_50;
  local_4c = 0;
  local_48 = (_Rb_tree_node *)0x0;
                    /* try { // try from 002deaa4 to 002debbf has its CatchHandler @ 002dedd4 */
  local_3c = 0;
  local_44 = &local_4c;
  local_40 = &local_4c;
  gather_cref(this,(vector *)this,local_30);
  pCVar5 = *(Cref_inputs **)(this + 0x18);
  puVar2 = local_44;
  while (local_44 = puVar2, this + 0x10 != pCVar5) {
    gather_cref(this,*(vector **)(pCVar5 + 0x40),local_30);
    pCVar5 = (Cref_inputs *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(pCVar5);
    puVar2 = local_44;
  }
  if (puVar2 != &local_4c) {
    local_34 = 0x7fffffff;
    local_38 = PTR_s_in_a_linker_script_004c191c;
    do {
      while( true ) {
        piVar6 = (int *)puVar2[5];
        piVar1 = (int *)*piVar6;
        if (piVar1 != (int *)piVar6[1]) break;
LAB_002deb58:
        puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);
        if (puVar2 == &local_4c) goto LAB_002deb70;
      }
      iVar4 = *(int *)(*piVar1 + 0x2c);
      while (iVar4 < 0) {
        piVar1 = piVar1 + 1;
        if (piVar1 == (int *)piVar6[1]) goto LAB_002deb58;
        iVar4 = *(int *)(*piVar1 + 0x2c);
      }
      iVar4 = puVar2[4];
      (*(code *)PTR_demangled_name_abi_cxx11__004c1cc8)(&local_68,iVar4);
      uVar10 = local_64;
      if (*(int *)(iVar4 + 4) != 0) {
        uVar7 = local_64 + 1;
        uVar3 = local_60[0];
        if (local_68 == local_60) {
          uVar3 = 0xf;
        }
        if (uVar3 < uVar7) {
          (*(code *)PTR__M_mutate_004c2090)(&local_68,local_64,0,0,1);
        }
        *(undefined1 *)((int)local_68 + uVar10) = 0x40;
        *(undefined1 *)((int)local_68 + uVar7) = 0;
        iVar9 = *(int *)(iVar4 + 4);
        local_64 = uVar7;
        if (iVar9 == 0) {
          (*(code *)PTR_do_gold_unreachable_004c1a30)
                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0x86,
                     PTR_s_in_a_linker_script_004c191c + 0x6de8);
          return;
        }
        if (*(int *)(iVar4 + 0x28) << 0x13 < 0) {
          uVar10 = uVar10 + 2;
          uVar3 = local_60[0];
          if (local_68 == local_60) {
            uVar3 = 0xf;
          }
          if (uVar3 < uVar10) {
            (*(code *)PTR__M_mutate_004c2090)(&local_68,uVar7,0,0,1);
          }
          *(undefined1 *)((int)local_68 + uVar7) = 0x40;
          *(undefined1 *)((int)local_68 + uVar10) = 0;
          iVar9 = *(int *)(iVar4 + 4);
          local_64 = uVar10;
        }
        uVar10 = local_64;
        uVar3 = (*(code *)PTR_strlen_004c5b9c)(iVar9);
        if (local_34 - uVar10 < uVar3) {
          (*(code *)PTR___throw_length_error_004c1e74)
                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);
          return;
        }
                    /* try { // try from 002dec90 to 002dedd3 has its CatchHandler @ 002dedfc */
        (*(code *)PTR__M_append_004c1e68)(&local_68,iVar9,uVar3);
      }
      (*(code *)PTR_fputs_004c5d2c)(local_68,param_2);
      piVar1 = (int *)*piVar6;
      if (piVar1 != (int *)piVar6[1]) {
        if (local_64 < 0x32) {
          iVar4 = 0x32 - local_64;
        }
        else {
          iVar4 = 1;
        }
        puVar8 = local_38 + 0x6d98;
        do {
          (*(code *)PTR_fprintf_004c5b48)(param_2,puVar8,iVar4,0x20,*(undefined4 *)(*piVar1 + 4));
          piVar1 = piVar1 + 1;
          iVar4 = 0x32;
        } while (piVar1 != (int *)piVar6[1]);
      }
      if (local_68 == local_60) goto LAB_002deb58;
      (*(code *)PTR_operator_delete_004c12fc)();
      puVar2 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar2);
    } while (puVar2 != &local_4c);
  }
LAB_002deb70:
  std::
  _Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>
  ::_M_erase((_Rb_tree<gold::Symbol_const*,std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>,std::_Select1st<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>,gold::Cref_inputs::Cref_table_compare,std::allocator<std::pair<gold::Symbol_const*const,std::vector<gold::Object*,std::allocator<gold::Object*>>*>>>
              *)local_30,local_48);
  return;
}

