
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */

ld_plugin_status gold::add_symbols(void *handle,int nsyms,ld_plugin_symbol *syms)

{
  Plugin_manager *pPVar1;
  Pluginobj *pPVar2;
  int iVar3;
  Lock_impl *pLVar4;
  Plugin_manager *pPVar5;
  size_t sVar6;
  int *piVar7;
  ld_plugin_status lVar8;
  pointer ppOVar9;
  Plugin_recorder *this;
  size_type sVar10;
  size_type sVar11;
  Input_file *pIVar12;
  iterator __position;
  string *plugin_name;
  undefined4 in_a3;
  pointer ppOVar13;
  int iVar14;
  string *obj_name;
  undefined4 *unaff_s6;
  Lock *pLVar15;
  void *handle_00;
  undefined *puVar16;
  code *pcVar17;
  undefined1 *apuStack_c0 [2];
  undefined1 auStack_b8 [16];
  undefined1 uStack_a8;
  __bucket_type *pp_Stack_a4;
  char cStack_a0;
  size_type sStack_98;
  Input_file *pIStack_94;
  undefined4 in_stack_ffffff98;
  undefined4 in_stack_ffffff9c;
  int aiStack_58 [2];
  undefined4 uStack_14;
  Object *pOStack_10;
  
  if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {
    (*(code *)PTR_do_gold_unreachable_004323c4)
              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s__0043226c + -0x742c);
  }
  else {
    pPVar1 = *(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c);
    if (pPVar1 != (Plugin_manager *)0x0) {
      pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle);
      if (pPVar2 != (Pluginobj *)0x0) {
        pPVar2->nsyms_ = nsyms;
        pPVar2->syms_ = syms;
        return LDPS_OK;
      }
      return LDPS_ERR;
    }
  }
  pIVar12 = (Input_file *)0x70e;
  plugin_name = (string *)(PTR_s__0043226c + -0x7394);
  pPVar1 = (Plugin_manager *)(PTR_s__0043226c + -0x7b3c);
  puVar16 = PTR_do_gold_unreachable_004323c4;
  (*(code *)PTR_do_gold_unreachable_004323c4)();
  iVar3 = (**(code **)(puVar16 + 0x24a744))(&pPVar1->initialize_lock_);
  if (iVar3 == 0) {
    piVar7 = (int *)&DAT_000002da;
    iVar3 = *(int *)(puVar16 + 0x249c40) + -0x786c;
    sVar10 = *(int *)(puVar16 + 0x249c40) - 0x7b3c;
    (**(code **)(puVar16 + 0x249d98))(sVar10,0x2da,iVar3);
    (**(code **)(*(int *)*unaff_s6 + 0xc))((int *)*unaff_s6);
    pcVar17 = *(code **)(puVar16 + 0x249c2c);
    sVar11 = sVar10;
    (*pcVar17)(sVar10);
    apuStack_c0[0] = auStack_b8;
    sStack_98 = sVar10;
    pIStack_94 = pIVar12;
    (**(code **)(pcVar17 + 0x249b30))(apuStack_c0,*piVar7,*piVar7 + piVar7[1],0);
    uStack_a8 = 0;
    std::
    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
    ::
    _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>
              ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                *)&pp_Stack_a4,sVar11 + 0x58,0,apuStack_c0);
    if (apuStack_c0[0] != auStack_b8) {
      (**(code **)(pcVar17 + 0x249930))();
    }
    if (cStack_a0 == '\0') {
      return (uint)*(byte *)(pp_Stack_a4 + 7);
    }
    lVar8 = (**(code **)(pcVar17 + 0x24b894))(iVar3,piVar7,0,0,1,1,0);
    *(char *)(pp_Stack_a4 + 7) = (char)lVar8;
    return lVar8;
  }
  pLVar15 = pPVar1->lock_;
  pLVar4 = pLVar15->lock_;
  obj_name = &(pIVar12->file_).name_;
  (*pLVar4->_vptr_Lock_impl[2])(pLVar4);
  ppOVar13 = (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.
             _M_impl._M_finish;
  ppOVar9 = (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.
            _M_impl._M_start;
  pPVar1->input_file_ = pIVar12;
  pcVar17 = *(code **)(puVar16 + 0x24a760);
  iVar14 = (int)ppOVar13 - (int)ppOVar9;
  (pPVar1->plugin_input_file_).name = (pIVar12->file_).name_._M_dataplus._M_p;
  handle_00 = (void *)(iVar14 >> 2);
  (*pcVar17)(obj_name);
  iVar3 = (pIVar12->file_).descriptor_;
  *(undefined4 *)((int)&(pPVar1->plugin_input_file_).offset + 4) = in_a3;
  *(string **)&(pPVar1->plugin_input_file_).offset = plugin_name;
  (pPVar1->plugin_input_file_).fd = iVar3;
  *(undefined4 *)((int)&(pPVar1->plugin_input_file_).filesize + 4) = uStack_14;
  *(undefined4 *)&(pPVar1->plugin_input_file_).filesize = 0x43a1d0;
  (pPVar1->plugin_input_file_).handle = handle_00;
  if (pOStack_10 != (Object *)0x0) {
    __position._M_current =
         (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.
         _M_impl._M_finish;
    if (__position._M_current ==
        (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl
        ._M_end_of_storage) {
      std::vector<gold::Object*,_std::allocator<gold::Object*>_>::
      _M_realloc_insert<gold::Object*_const&>(&pPVar1->objects_,__position,&pOStack_10);
    }
    else {
      *__position._M_current = pOStack_10;
      (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.
      _M_finish = __position._M_current + 1;
    }
  }
  pPVar5 = (Plugin_manager *)
           (pPVar1->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold::Plugin*>_>.
           _M_impl._M_node.super__List_node_base._M_next;
  pPVar1->in_claim_file_handler_ = true;
  (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;
  if (pPVar5 == pPVar1) {
    this = pPVar1->recorder_;
  }
  else {
LAB_001e8774:
    do {
      sVar6 = (pPVar5->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold::Plugin*>_>.
              _M_impl._M_node._M_size;
      if (pPVar1->in_replacement_phase_ == false) {
        pcVar17 = *(code **)(sVar6 + 0x28);
        aiStack_58[0] = 0;
        if ((pcVar17 != (code *)0x0) &&
           ((*pcVar17)(&pPVar1->plugin_input_file_,aiStack_58), aiStack_58[0] != 0)) {
          pPVar1->in_claim_file_handler_ = false;
          pPVar1->any_claimed_ = true;
          if (pPVar1->recorder_ != (Plugin_recorder *)0x0) {
            if (pOStack_10 != (Object *)0x0) {
              obj_name = &pOStack_10->name_;
            }
            Plugin_recorder::claimed_file
                      (pPVar1->recorder_,obj_name,CONCAT44(0x43a1d0,uStack_14),
                       CONCAT44(&((pPVar1->current_)._M_node[1]._M_next)->_M_prev,in_stack_ffffff9c)
                       ,plugin_name);
          }
          ppOVar9 = (pPVar1->objects_).
                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.
                    _M_start;
          if ((handle_00 <
               (void *)((int)(pPVar1->objects_).
                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.
                             _M_impl._M_finish - (int)ppOVar9 >> 2)) &&
             (piVar7 = *(int **)((int)ppOVar9 + iVar14),
             iVar3 = (**(code **)(*piVar7 + 0x14))(piVar7), iVar3 != 0)) {
            piVar7 = *(int **)((int)(pPVar1->objects_).
                                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>
                                    ._M_impl._M_start + iVar14);
            pPVar2 = (Pluginobj *)(**(code **)(*piVar7 + 0x14))(piVar7);
          }
          else {
            pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle_00);
          }
          goto LAB_001e889c;
        }
      }
      else {
        pcVar17 = *(code **)(sVar6 + 0x34);
        if (pcVar17 != (code *)0x0) {
          (*pcVar17)(&pPVar1->plugin_input_file_);
          pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;
          (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;
          if (pPVar5 == pPVar1) break;
          goto LAB_001e8774;
        }
      }
      pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;
      (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;
    } while (pPVar5 != pPVar1);
    this = pPVar1->recorder_;
  }
  pPVar1->in_claim_file_handler_ = false;
  if (this != (Plugin_recorder *)0x0) {
    Plugin_recorder::unclaimed_file
              (this,obj_name,CONCAT44(0x43a1d0,uStack_14),
               CONCAT44(in_stack_ffffff98,in_stack_ffffff9c));
  }
  pPVar2 = (Pluginobj *)0x0;
LAB_001e889c:
  pLVar4 = pLVar15->lock_;
  (*pLVar4->_vptr_Lock_impl[3])(pLVar4);
  return (ld_plugin_status)pPVar2;
}



undefined4 FUN_001e8564(uint param_1,undefined4 param_2,undefined4 param_3)

{
  Plugin_manager *this;
  int iVar1;
  undefined4 uVar2;
  
  if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {
    uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)
                      (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c);
    return uVar2;
  }
  this = *(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c);
  if (this != (Plugin_manager *)0x0) {
    iVar1 = gold::Plugin_manager::make_plugin_object(this,param_1);
    if (iVar1 != 0) {
      *(undefined4 *)(iVar1 + 0x38) = param_2;
      *(undefined4 *)(iVar1 + 0x3c) = param_3;
      return 0;
    }
    return 3;
  }
  uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)
                    (PTR_DAT_0043226c + -0x7b3c,0x70e,PTR_DAT_0043226c + -0x7394);
  return uVar2;
}


lui gp,0x25
addiu gp,gp,0x1c6c
addu gp,gp,t9
lw v0,-0x75f0(gp)
addiu sp,sp,-0x28
sw gp,0x10(sp)
lw v0,0x0(v0)
sw ra,0x24(sp)
sw s1,0x20(sp)
sw s0,0x1c(sp)
lw v0,0x8(v0)
beq v0,zero,0x001e85f8
_lw t9,-0x7e0c(gp)
lw v0,0x594c(v0)
beq v0,zero,0x001e8610
_lw t9,-0x5440(gp)
or s1,a1,zero
or a1,a0,zero
or a0,v0,zero
bal 0x001e7e5c
_or s0,a2,zero
beq v0,zero,0x001e85e0
_lw ra,0x24(sp)
or v1,zero,zero
sw s1,0x38(v0)
sw s0,0x3c(v0)
or v0,v1,zero
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x28
li v1,0x3
lw s1,0x20(sp)
lw s0,0x1c(sp)
or v0,v1,zero
jr ra
_addiu sp,sp,0x28
lw a2,-0x7f64(gp)
li a1,0x5c
lw a0,-0x7e1c(gp)
addiu a2,a2,-0x742c
jalr t9
_addiu a0,a0,-0x5cec
lw a2,-0x7f64(gp)
li a1,0x70e
lw a0,-0x7f64(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,-0x7394
jalr t9
_addiu a0,a0,-0x7b3c
(translation_unit "undefined4 FUN_001e8564(uint param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  Plugin_manager *this;\n  int iVar1;\n  undefined4 uVar2;\n  \n  if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n    uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c);\n    return uVar2;\n  }\n  this = *(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c);\n  if (this != (Plugin_manager *)0x0) {\n    iVar1 = gold::Plugin_manager::make_plugin_object(this,param_1);\n    if (iVar1 != 0) {\n      *(undefined4 *)(iVar1 + 0x38) = param_2;\n      *(undefined4 *)(iVar1 + 0x3c) = param_3;\n      return 0;\n    }\n    return 3;\n  }\n  uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_DAT_0043226c + -0x7b3c,0x70e,PTR_DAT_0043226c + -0x7394);\n  return uVar2;\n}\n\n" (function_definition "undefined4 FUN_001e8564(uint param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  Plugin_manager *this;\n  int iVar1;\n  undefined4 uVar2;\n  \n  if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n    uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c);\n    return uVar2;\n  }\n  this = *(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c);\n  if (this != (Plugin_manager *)0x0) {\n    iVar1 = gold::Plugin_manager::make_plugin_object(this,param_1);\n    if (iVar1 != 0) {\n      *(undefined4 *)(iVar1 + 0x38) = param_2;\n      *(undefined4 *)(iVar1 + 0x3c) = param_3;\n      return 0;\n    }\n    return 3;\n  }\n  uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_DAT_0043226c + -0x7b3c,0x70e,PTR_DAT_0043226c + -0x7394);\n  return uVar2;\n}" type_identifier (function_declarator "FUN_001e8564(uint param_1,undefined4 param_2,undefined4 param_3)" identifier (parameter_list "(uint param_1,undefined4 param_2,undefined4 param_3)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  Plugin_manager *this;\n  int iVar1;\n  undefined4 uVar2;\n  \n  if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n    uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c);\n    return uVar2;\n  }\n  this = *(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c);\n  if (this != (Plugin_manager *)0x0) {\n    iVar1 = gold::Plugin_manager::make_plugin_object(this,param_1);\n    if (iVar1 != 0) {\n      *(undefined4 *)(iVar1 + 0x38) = param_2;\n      *(undefined4 *)(iVar1 + 0x3c) = param_3;\n      return 0;\n    }\n    return 3;\n  }\n  uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_DAT_0043226c + -0x7b3c,0x70e,PTR_DAT_0043226c + -0x7394);\n  return uVar2;\n}" { (declaration "Plugin_manager *this;" type_identifier (pointer_declarator "*this" * identifier) ;) (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (if_statement "if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n    uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c);\n    return uVar2;\n  }" if (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0" (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 8)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 8" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == number_literal) )) (compound_statement "{\n    uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c);\n    return uVar2;\n  }" { (expression_statement "uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c);" (assignment_expression "uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c)" identifier = (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5cec" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_0043226c + -0x742c" identifier + number_literal) )))) ;) (return_statement "return uVar2;" return identifier ;) })) (expression_statement "this = *(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c);" (assignment_expression "this = *(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c)" identifier = (pointer_expression "*(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c)" * (cast_expression "(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c)" ( (type_descriptor "Plugin_manager **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c" (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 8)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 8" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (this != (Plugin_manager *)0x0) {\n    iVar1 = gold::Plugin_manager::make_plugin_object(this,param_1);\n    if (iVar1 != 0) {\n      *(undefined4 *)(iVar1 + 0x38) = param_2;\n      *(undefined4 *)(iVar1 + 0x3c) = param_3;\n      return 0;\n    }\n    return 3;\n  }" if (parenthesized_expression "(this != (Plugin_manager *)0x0)" ( (binary_expression "this != (Plugin_manager *)0x0" identifier != (cast_expression "(Plugin_manager *)0x0" ( (type_descriptor "Plugin_manager *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar1 = gold::Plugin_manager::make_plugin_object(this,param_1);\n    if (iVar1 != 0) {\n      *(undefined4 *)(iVar1 + 0x38) = param_2;\n      *(undefined4 *)(iVar1 + 0x3c) = param_3;\n      return 0;\n    }\n    return 3;\n  }" { (ERROR "iVar1 = gold::" (assignment_expression "iVar1 = gold" identifier = identifier) : :) (labeled_statement "Plugin_manager::make_plugin_object(this,param_1);" statement_identifier : (ERROR ":" :) (expression_statement "make_plugin_object(this,param_1);" (call_expression "make_plugin_object(this,param_1)" identifier (argument_list "(this,param_1)" ( identifier , identifier ))) ;)) (if_statement "if (iVar1 != 0) {\n      *(undefined4 *)(iVar1 + 0x38) = param_2;\n      *(undefined4 *)(iVar1 + 0x3c) = param_3;\n      return 0;\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      *(undefined4 *)(iVar1 + 0x38) = param_2;\n      *(undefined4 *)(iVar1 + 0x3c) = param_3;\n      return 0;\n    }" { (expression_statement "*(undefined4 *)(iVar1 + 0x38) = param_2;" (assignment_expression "*(undefined4 *)(iVar1 + 0x38) = param_2" (pointer_expression "*(undefined4 *)(iVar1 + 0x38)" * (cast_expression "(undefined4 *)(iVar1 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x38)" ( (binary_expression "iVar1 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x3c) = param_3;" (assignment_expression "*(undefined4 *)(iVar1 + 0x3c) = param_3" (pointer_expression "*(undefined4 *)(iVar1 + 0x3c)" * (cast_expression "(undefined4 *)(iVar1 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3c)" ( (binary_expression "iVar1 + 0x3c" identifier + number_literal) )))) = identifier) ;) (return_statement "return 0;" return number_literal ;) })) (return_statement "return 3;" return number_literal ;) })) (expression_statement "uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_DAT_0043226c + -0x7b3c,0x70e,PTR_DAT_0043226c + -0x7394);" (assignment_expression "uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_DAT_0043226c + -0x7b3c,0x70e,PTR_DAT_0043226c + -0x7394)" identifier = (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_DAT_0043226c + -0x7b3c,0x70e,PTR_DAT_0043226c + -0x7394)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0043226c + -0x7b3c,0x70e,PTR_DAT_0043226c + -0x7394)" ( (binary_expression "PTR_DAT_0043226c + -0x7b3c" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_0043226c + -0x7394" identifier + number_literal) )))) ;) (return_statement "return uVar2;" return identifier ;) })))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */\n/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */\n\nld_plugin_status gold::add_symbols(void *handle,int nsyms,ld_plugin_symbol *syms)\n\n{\n  Plugin_manager *pPVar1;\n  Pluginobj *pPVar2;\n  int iVar3;\n  Lock_impl *pLVar4;\n  Plugin_manager *pPVar5;\n  size_t sVar6;\n  int *piVar7;\n  ld_plugin_status lVar8;\n  pointer ppOVar9;\n  Plugin_recorder *this;\n  size_type sVar10;\n  size_type sVar11;\n  Input_file *pIVar12;\n  iterator __position;\n  string *plugin_name;\n  undefined4 in_a3;\n  pointer ppOVar13;\n  int iVar14;\n  string *obj_name;\n  undefined4 *unaff_s6;\n  Lock *pLVar15;\n  void *handle_00;\n  undefined *puVar16;\n  code *pcVar17;\n  undefined1 *apuStack_c0 [2];\n  undefined1 auStack_b8 [16];\n  undefined1 uStack_a8;\n  __bucket_type *pp_Stack_a4;\n  char cStack_a0;\n  size_type sStack_98;\n  Input_file *pIStack_94;\n  undefined4 in_stack_ffffff98;\n  undefined4 in_stack_ffffff9c;\n  int aiStack_58 [2];\n  undefined4 uStack_14;\n  Object *pOStack_10;\n  \n  if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s__0043226c + -0x742c);\n  }\n  else {\n    pPVar1 = *(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c);\n    if (pPVar1 != (Plugin_manager *)0x0) {\n      pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle);\n      if (pPVar2 != (Pluginobj *)0x0) {\n        pPVar2->nsyms_ = nsyms;\n        pPVar2->syms_ = syms;\n        return LDPS_OK;\n      }\n      return LDPS_ERR;\n    }\n  }\n  pIVar12 = (Input_file *)0x70e;\n  plugin_name = (string *)(PTR_s__0043226c + -0x7394);\n  pPVar1 = (Plugin_manager *)(PTR_s__0043226c + -0x7b3c);\n  puVar16 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)();\n  iVar3 = (**(code **)(puVar16 + 0x24a744))(&pPVar1->initialize_lock_);\n  if (iVar3 == 0) {\n    piVar7 = (int *)&DAT_000002da;\n    iVar3 = *(int *)(puVar16 + 0x249c40) + -0x786c;\n    sVar10 = *(int *)(puVar16 + 0x249c40) - 0x7b3c;\n    (**(code **)(puVar16 + 0x249d98))(sVar10,0x2da,iVar3);\n    (**(code **)(*(int *)*unaff_s6 + 0xc))((int *)*unaff_s6);\n    pcVar17 = *(code **)(puVar16 + 0x249c2c);\n    sVar11 = sVar10;\n    (*pcVar17)(sVar10);\n    apuStack_c0[0] = auStack_b8;\n    sStack_98 = sVar10;\n    pIStack_94 = pIVar12;\n    (**(code **)(pcVar17 + 0x249b30))(apuStack_c0,*piVar7,*piVar7 + piVar7[1],0);\n    uStack_a8 = 0;\n    std::\n    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n    ::\n    _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>\n              ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                *)&pp_Stack_a4,sVar11 + 0x58,0,apuStack_c0);\n    if (apuStack_c0[0] != auStack_b8) {\n      (**(code **)(pcVar17 + 0x249930))();\n    }\n    if (cStack_a0 == '\0') {\n      return (uint)*(byte *)(pp_Stack_a4 + 7);\n    }\n    lVar8 = (**(code **)(pcVar17 + 0x24b894))(iVar3,piVar7,0,0,1,1,0);\n    *(char *)(pp_Stack_a4 + 7) = (char)lVar8;\n    return lVar8;\n  }\n  pLVar15 = pPVar1->lock_;\n  pLVar4 = pLVar15->lock_;\n  obj_name = &(pIVar12->file_).name_;\n  (*pLVar4->_vptr_Lock_impl[2])(pLVar4);\n  ppOVar13 = (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n             _M_impl._M_finish;\n  ppOVar9 = (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n            _M_impl._M_start;\n  pPVar1->input_file_ = pIVar12;\n  pcVar17 = *(code **)(puVar16 + 0x24a760);\n  iVar14 = (int)ppOVar13 - (int)ppOVar9;\n  (pPVar1->plugin_input_file_).name = (pIVar12->file_).name_._M_dataplus._M_p;\n  handle_00 = (void *)(iVar14 >> 2);\n  (*pcVar17)(obj_name);\n  iVar3 = (pIVar12->file_).descriptor_;\n  *(undefined4 *)((int)&(pPVar1->plugin_input_file_).offset + 4) = in_a3;\n  *(string **)&(pPVar1->plugin_input_file_).offset = plugin_name;\n  (pPVar1->plugin_input_file_).fd = iVar3;\n  *(undefined4 *)((int)&(pPVar1->plugin_input_file_).filesize + 4) = uStack_14;\n  *(undefined4 *)&(pPVar1->plugin_input_file_).filesize = 0x43a1d0;\n  (pPVar1->plugin_input_file_).handle = handle_00;\n  if (pOStack_10 != (Object *)0x0) {\n    __position._M_current =\n         (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n         _M_impl._M_finish;\n    if (__position._M_current ==\n        (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl\n        ._M_end_of_storage) {\n      std::vector<gold::Object*,_std::allocator<gold::Object*>_>::\n      _M_realloc_insert<gold::Object*_const&>(&pPVar1->objects_,__position,&pOStack_10);\n    }\n    else {\n      *__position._M_current = pOStack_10;\n      (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n      _M_finish = __position._M_current + 1;\n    }\n  }\n  pPVar5 = (Plugin_manager *)\n           (pPVar1->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold::Plugin*>_>.\n           _M_impl._M_node.super__List_node_base._M_next;\n  pPVar1->in_claim_file_handler_ = true;\n  (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n  if (pPVar5 == pPVar1) {\n    this = pPVar1->recorder_;\n  }\n  else {\nLAB_001e8774:\n    do {\n      sVar6 = (pPVar5->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold::Plugin*>_>.\n              _M_impl._M_node._M_size;\n      if (pPVar1->in_replacement_phase_ == false) {\n        pcVar17 = *(code **)(sVar6 + 0x28);\n        aiStack_58[0] = 0;\n        if ((pcVar17 != (code *)0x0) &&\n           ((*pcVar17)(&pPVar1->plugin_input_file_,aiStack_58), aiStack_58[0] != 0)) {\n          pPVar1->in_claim_file_handler_ = false;\n          pPVar1->any_claimed_ = true;\n          if (pPVar1->recorder_ != (Plugin_recorder *)0x0) {\n            if (pOStack_10 != (Object *)0x0) {\n              obj_name = &pOStack_10->name_;\n            }\n            Plugin_recorder::claimed_file\n                      (pPVar1->recorder_,obj_name,CONCAT44(0x43a1d0,uStack_14),\n                       CONCAT44(&((pPVar1->current_)._M_node[1]._M_next)->_M_prev,in_stack_ffffff9c)\n                       ,plugin_name);\n          }\n          ppOVar9 = (pPVar1->objects_).\n                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n                    _M_start;\n          if ((handle_00 <\n               (void *)((int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n                             _M_impl._M_finish - (int)ppOVar9 >> 2)) &&\n             (piVar7 = *(int **)((int)ppOVar9 + iVar14),\n             iVar3 = (**(code **)(*piVar7 + 0x14))(piVar7), iVar3 != 0)) {\n            piVar7 = *(int **)((int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>\n                                    ._M_impl._M_start + iVar14);\n            pPVar2 = (Pluginobj *)(**(code **)(*piVar7 + 0x14))(piVar7);\n          }\n          else {\n            pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle_00);\n          }\n          goto LAB_001e889c;\n        }\n      }\n      else {\n        pcVar17 = *(code **)(sVar6 + 0x34);\n        if (pcVar17 != (code *)0x0) {\n          (*pcVar17)(&pPVar1->plugin_input_file_);\n          pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;\n          (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n          if (pPVar5 == pPVar1) break;\n          goto LAB_001e8774;\n        }\n      }\n      pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;\n      (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n    } while (pPVar5 != pPVar1);\n    this = pPVar1->recorder_;\n  }\n  pPVar1->in_claim_file_handler_ = false;\n  if (this != (Plugin_recorder *)0x0) {\n    Plugin_recorder::unclaimed_file\n              (this,obj_name,CONCAT44(0x43a1d0,uStack_14),\n               CONCAT44(in_stack_ffffff98,in_stack_ffffff9c));\n  }\n  pPVar2 = (Pluginobj *)0x0;\nLAB_001e889c:\n  pLVar4 = pLVar15->lock_;\n  (*pLVar4->_vptr_Lock_impl[3])(pLVar4);\n  return (ld_plugin_status)pPVar2;\n}\n\n" comment comment comment comment comment comment comment (function_definition "ld_plugin_status gold::add_symbols(void *handle,int nsyms,ld_plugin_symbol *syms)\n\n{\n  Plugin_manager *pPVar1;\n  Pluginobj *pPVar2;\n  int iVar3;\n  Lock_impl *pLVar4;\n  Plugin_manager *pPVar5;\n  size_t sVar6;\n  int *piVar7;\n  ld_plugin_status lVar8;\n  pointer ppOVar9;\n  Plugin_recorder *this;\n  size_type sVar10;\n  size_type sVar11;\n  Input_file *pIVar12;\n  iterator __position;\n  string *plugin_name;\n  undefined4 in_a3;\n  pointer ppOVar13;\n  int iVar14;\n  string *obj_name;\n  undefined4 *unaff_s6;\n  Lock *pLVar15;\n  void *handle_00;\n  undefined *puVar16;\n  code *pcVar17;\n  undefined1 *apuStack_c0 [2];\n  undefined1 auStack_b8 [16];\n  undefined1 uStack_a8;\n  __bucket_type *pp_Stack_a4;\n  char cStack_a0;\n  size_type sStack_98;\n  Input_file *pIStack_94;\n  undefined4 in_stack_ffffff98;\n  undefined4 in_stack_ffffff9c;\n  int aiStack_58 [2];\n  undefined4 uStack_14;\n  Object *pOStack_10;\n  \n  if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s__0043226c + -0x742c);\n  }\n  else {\n    pPVar1 = *(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c);\n    if (pPVar1 != (Plugin_manager *)0x0) {\n      pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle);\n      if (pPVar2 != (Pluginobj *)0x0) {\n        pPVar2->nsyms_ = nsyms;\n        pPVar2->syms_ = syms;\n        return LDPS_OK;\n      }\n      return LDPS_ERR;\n    }\n  }\n  pIVar12 = (Input_file *)0x70e;\n  plugin_name = (string *)(PTR_s__0043226c + -0x7394);\n  pPVar1 = (Plugin_manager *)(PTR_s__0043226c + -0x7b3c);\n  puVar16 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)();\n  iVar3 = (**(code **)(puVar16 + 0x24a744))(&pPVar1->initialize_lock_);\n  if (iVar3 == 0) {\n    piVar7 = (int *)&DAT_000002da;\n    iVar3 = *(int *)(puVar16 + 0x249c40) + -0x786c;\n    sVar10 = *(int *)(puVar16 + 0x249c40) - 0x7b3c;\n    (**(code **)(puVar16 + 0x249d98))(sVar10,0x2da,iVar3);\n    (**(code **)(*(int *)*unaff_s6 + 0xc))((int *)*unaff_s6);\n    pcVar17 = *(code **)(puVar16 + 0x249c2c);\n    sVar11 = sVar10;\n    (*pcVar17)(sVar10);\n    apuStack_c0[0] = auStack_b8;\n    sStack_98 = sVar10;\n    pIStack_94 = pIVar12;\n    (**(code **)(pcVar17 + 0x249b30))(apuStack_c0,*piVar7,*piVar7 + piVar7[1],0);\n    uStack_a8 = 0;\n    std::\n    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n    ::\n    _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>\n              ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                *)&pp_Stack_a4,sVar11 + 0x58,0,apuStack_c0);\n    if (apuStack_c0[0] != auStack_b8) {\n      (**(code **)(pcVar17 + 0x249930))();\n    }\n    if (cStack_a0 == '\0') {\n      return (uint)*(byte *)(pp_Stack_a4 + 7);\n    }\n    lVar8 = (**(code **)(pcVar17 + 0x24b894))(iVar3,piVar7,0,0,1,1,0);\n    *(char *)(pp_Stack_a4 + 7) = (char)lVar8;\n    return lVar8;\n  }\n  pLVar15 = pPVar1->lock_;\n  pLVar4 = pLVar15->lock_;\n  obj_name = &(pIVar12->file_).name_;\n  (*pLVar4->_vptr_Lock_impl[2])(pLVar4);\n  ppOVar13 = (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n             _M_impl._M_finish;\n  ppOVar9 = (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n            _M_impl._M_start;\n  pPVar1->input_file_ = pIVar12;\n  pcVar17 = *(code **)(puVar16 + 0x24a760);\n  iVar14 = (int)ppOVar13 - (int)ppOVar9;\n  (pPVar1->plugin_input_file_).name = (pIVar12->file_).name_._M_dataplus._M_p;\n  handle_00 = (void *)(iVar14 >> 2);\n  (*pcVar17)(obj_name);\n  iVar3 = (pIVar12->file_).descriptor_;\n  *(undefined4 *)((int)&(pPVar1->plugin_input_file_).offset + 4) = in_a3;\n  *(string **)&(pPVar1->plugin_input_file_).offset = plugin_name;\n  (pPVar1->plugin_input_file_).fd = iVar3;\n  *(undefined4 *)((int)&(pPVar1->plugin_input_file_).filesize + 4) = uStack_14;\n  *(undefined4 *)&(pPVar1->plugin_input_file_).filesize = 0x43a1d0;\n  (pPVar1->plugin_input_file_).handle = handle_00;\n  if (pOStack_10 != (Object *)0x0) {\n    __position._M_current =\n         (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n         _M_impl._M_finish;\n    if (__position._M_current ==\n        (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl\n        ._M_end_of_storage) {\n      std::vector<gold::Object*,_std::allocator<gold::Object*>_>::\n      _M_realloc_insert<gold::Object*_const&>(&pPVar1->objects_,__position,&pOStack_10);\n    }\n    else {\n      *__position._M_current = pOStack_10;\n      (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n      _M_finish = __position._M_current + 1;\n    }\n  }\n  pPVar5 = (Plugin_manager *)\n           (pPVar1->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold::Plugin*>_>.\n           _M_impl._M_node.super__List_node_base._M_next;\n  pPVar1->in_claim_file_handler_ = true;\n  (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n  if (pPVar5 == pPVar1) {\n    this = pPVar1->recorder_;\n  }\n  else {\nLAB_001e8774:\n    do {\n      sVar6 = (pPVar5->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold::Plugin*>_>.\n              _M_impl._M_node._M_size;\n      if (pPVar1->in_replacement_phase_ == false) {\n        pcVar17 = *(code **)(sVar6 + 0x28);\n        aiStack_58[0] = 0;\n        if ((pcVar17 != (code *)0x0) &&\n           ((*pcVar17)(&pPVar1->plugin_input_file_,aiStack_58), aiStack_58[0] != 0)) {\n          pPVar1->in_claim_file_handler_ = false;\n          pPVar1->any_claimed_ = true;\n          if (pPVar1->recorder_ != (Plugin_recorder *)0x0) {\n            if (pOStack_10 != (Object *)0x0) {\n              obj_name = &pOStack_10->name_;\n            }\n            Plugin_recorder::claimed_file\n                      (pPVar1->recorder_,obj_name,CONCAT44(0x43a1d0,uStack_14),\n                       CONCAT44(&((pPVar1->current_)._M_node[1]._M_next)->_M_prev,in_stack_ffffff9c)\n                       ,plugin_name);\n          }\n          ppOVar9 = (pPVar1->objects_).\n                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n                    _M_start;\n          if ((handle_00 <\n               (void *)((int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n                             _M_impl._M_finish - (int)ppOVar9 >> 2)) &&\n             (piVar7 = *(int **)((int)ppOVar9 + iVar14),\n             iVar3 = (**(code **)(*piVar7 + 0x14))(piVar7), iVar3 != 0)) {\n            piVar7 = *(int **)((int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>\n                                    ._M_impl._M_start + iVar14);\n            pPVar2 = (Pluginobj *)(**(code **)(*piVar7 + 0x14))(piVar7);\n          }\n          else {\n            pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle_00);\n          }\n          goto LAB_001e889c;\n        }\n      }\n      else {\n        pcVar17 = *(code **)(sVar6 + 0x34);\n        if (pcVar17 != (code *)0x0) {\n          (*pcVar17)(&pPVar1->plugin_input_file_);\n          pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;\n          (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n          if (pPVar5 == pPVar1) break;\n          goto LAB_001e8774;\n        }\n      }\n      pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;\n      (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n    } while (pPVar5 != pPVar1);\n    this = pPVar1->recorder_;\n  }\n  pPVar1->in_claim_file_handler_ = false;\n  if (this != (Plugin_recorder *)0x0) {\n    Plugin_recorder::unclaimed_file\n              (this,obj_name,CONCAT44(0x43a1d0,uStack_14),\n               CONCAT44(in_stack_ffffff98,in_stack_ffffff9c));\n  }\n  pPVar2 = (Pluginobj *)0x0;\nLAB_001e889c:\n  pLVar4 = pLVar15->lock_;\n  (*pLVar4->_vptr_Lock_impl[3])(pLVar4);\n  return (ld_plugin_status)pPVar2;\n}" type_identifier (ERROR "gold::" identifier : :) (function_declarator "add_symbols(void *handle,int nsyms,ld_plugin_symbol *syms)" identifier (parameter_list "(void *handle,int nsyms,ld_plugin_symbol *syms)" ( (parameter_declaration "void *handle" primitive_type (pointer_declarator "*handle" * identifier)) , (parameter_declaration "int nsyms" primitive_type identifier) , (parameter_declaration "ld_plugin_symbol *syms" type_identifier (pointer_declarator "*syms" * identifier)) ))) (compound_statement "{\n  Plugin_manager *pPVar1;\n  Pluginobj *pPVar2;\n  int iVar3;\n  Lock_impl *pLVar4;\n  Plugin_manager *pPVar5;\n  size_t sVar6;\n  int *piVar7;\n  ld_plugin_status lVar8;\n  pointer ppOVar9;\n  Plugin_recorder *this;\n  size_type sVar10;\n  size_type sVar11;\n  Input_file *pIVar12;\n  iterator __position;\n  string *plugin_name;\n  undefined4 in_a3;\n  pointer ppOVar13;\n  int iVar14;\n  string *obj_name;\n  undefined4 *unaff_s6;\n  Lock *pLVar15;\n  void *handle_00;\n  undefined *puVar16;\n  code *pcVar17;\n  undefined1 *apuStack_c0 [2];\n  undefined1 auStack_b8 [16];\n  undefined1 uStack_a8;\n  __bucket_type *pp_Stack_a4;\n  char cStack_a0;\n  size_type sStack_98;\n  Input_file *pIStack_94;\n  undefined4 in_stack_ffffff98;\n  undefined4 in_stack_ffffff9c;\n  int aiStack_58 [2];\n  undefined4 uStack_14;\n  Object *pOStack_10;\n  \n  if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s__0043226c + -0x742c);\n  }\n  else {\n    pPVar1 = *(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c);\n    if (pPVar1 != (Plugin_manager *)0x0) {\n      pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle);\n      if (pPVar2 != (Pluginobj *)0x0) {\n        pPVar2->nsyms_ = nsyms;\n        pPVar2->syms_ = syms;\n        return LDPS_OK;\n      }\n      return LDPS_ERR;\n    }\n  }\n  pIVar12 = (Input_file *)0x70e;\n  plugin_name = (string *)(PTR_s__0043226c + -0x7394);\n  pPVar1 = (Plugin_manager *)(PTR_s__0043226c + -0x7b3c);\n  puVar16 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)();\n  iVar3 = (**(code **)(puVar16 + 0x24a744))(&pPVar1->initialize_lock_);\n  if (iVar3 == 0) {\n    piVar7 = (int *)&DAT_000002da;\n    iVar3 = *(int *)(puVar16 + 0x249c40) + -0x786c;\n    sVar10 = *(int *)(puVar16 + 0x249c40) - 0x7b3c;\n    (**(code **)(puVar16 + 0x249d98))(sVar10,0x2da,iVar3);\n    (**(code **)(*(int *)*unaff_s6 + 0xc))((int *)*unaff_s6);\n    pcVar17 = *(code **)(puVar16 + 0x249c2c);\n    sVar11 = sVar10;\n    (*pcVar17)(sVar10);\n    apuStack_c0[0] = auStack_b8;\n    sStack_98 = sVar10;\n    pIStack_94 = pIVar12;\n    (**(code **)(pcVar17 + 0x249b30))(apuStack_c0,*piVar7,*piVar7 + piVar7[1],0);\n    uStack_a8 = 0;\n    std::\n    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n    ::\n    _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>\n              ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                *)&pp_Stack_a4,sVar11 + 0x58,0,apuStack_c0);\n    if (apuStack_c0[0] != auStack_b8) {\n      (**(code **)(pcVar17 + 0x249930))();\n    }\n    if (cStack_a0 == '\0') {\n      return (uint)*(byte *)(pp_Stack_a4 + 7);\n    }\n    lVar8 = (**(code **)(pcVar17 + 0x24b894))(iVar3,piVar7,0,0,1,1,0);\n    *(char *)(pp_Stack_a4 + 7) = (char)lVar8;\n    return lVar8;\n  }\n  pLVar15 = pPVar1->lock_;\n  pLVar4 = pLVar15->lock_;\n  obj_name = &(pIVar12->file_).name_;\n  (*pLVar4->_vptr_Lock_impl[2])(pLVar4);\n  ppOVar13 = (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n             _M_impl._M_finish;\n  ppOVar9 = (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n            _M_impl._M_start;\n  pPVar1->input_file_ = pIVar12;\n  pcVar17 = *(code **)(puVar16 + 0x24a760);\n  iVar14 = (int)ppOVar13 - (int)ppOVar9;\n  (pPVar1->plugin_input_file_).name = (pIVar12->file_).name_._M_dataplus._M_p;\n  handle_00 = (void *)(iVar14 >> 2);\n  (*pcVar17)(obj_name);\n  iVar3 = (pIVar12->file_).descriptor_;\n  *(undefined4 *)((int)&(pPVar1->plugin_input_file_).offset + 4) = in_a3;\n  *(string **)&(pPVar1->plugin_input_file_).offset = plugin_name;\n  (pPVar1->plugin_input_file_).fd = iVar3;\n  *(undefined4 *)((int)&(pPVar1->plugin_input_file_).filesize + 4) = uStack_14;\n  *(undefined4 *)&(pPVar1->plugin_input_file_).filesize = 0x43a1d0;\n  (pPVar1->plugin_input_file_).handle = handle_00;\n  if (pOStack_10 != (Object *)0x0) {\n    __position._M_current =\n         (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n         _M_impl._M_finish;\n    if (__position._M_current ==\n        (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl\n        ._M_end_of_storage) {\n      std::vector<gold::Object*,_std::allocator<gold::Object*>_>::\n      _M_realloc_insert<gold::Object*_const&>(&pPVar1->objects_,__position,&pOStack_10);\n    }\n    else {\n      *__position._M_current = pOStack_10;\n      (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n      _M_finish = __position._M_current + 1;\n    }\n  }\n  pPVar5 = (Plugin_manager *)\n           (pPVar1->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold::Plugin*>_>.\n           _M_impl._M_node.super__List_node_base._M_next;\n  pPVar1->in_claim_file_handler_ = true;\n  (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n  if (pPVar5 == pPVar1) {\n    this = pPVar1->recorder_;\n  }\n  else {\nLAB_001e8774:\n    do {\n      sVar6 = (pPVar5->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold::Plugin*>_>.\n              _M_impl._M_node._M_size;\n      if (pPVar1->in_replacement_phase_ == false) {\n        pcVar17 = *(code **)(sVar6 + 0x28);\n        aiStack_58[0] = 0;\n        if ((pcVar17 != (code *)0x0) &&\n           ((*pcVar17)(&pPVar1->plugin_input_file_,aiStack_58), aiStack_58[0] != 0)) {\n          pPVar1->in_claim_file_handler_ = false;\n          pPVar1->any_claimed_ = true;\n          if (pPVar1->recorder_ != (Plugin_recorder *)0x0) {\n            if (pOStack_10 != (Object *)0x0) {\n              obj_name = &pOStack_10->name_;\n            }\n            Plugin_recorder::claimed_file\n                      (pPVar1->recorder_,obj_name,CONCAT44(0x43a1d0,uStack_14),\n                       CONCAT44(&((pPVar1->current_)._M_node[1]._M_next)->_M_prev,in_stack_ffffff9c)\n                       ,plugin_name);\n          }\n          ppOVar9 = (pPVar1->objects_).\n                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n                    _M_start;\n          if ((handle_00 <\n               (void *)((int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n                             _M_impl._M_finish - (int)ppOVar9 >> 2)) &&\n             (piVar7 = *(int **)((int)ppOVar9 + iVar14),\n             iVar3 = (**(code **)(*piVar7 + 0x14))(piVar7), iVar3 != 0)) {\n            piVar7 = *(int **)((int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>\n                                    ._M_impl._M_start + iVar14);\n            pPVar2 = (Pluginobj *)(**(code **)(*piVar7 + 0x14))(piVar7);\n          }\n          else {\n            pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle_00);\n          }\n          goto LAB_001e889c;\n        }\n      }\n      else {\n        pcVar17 = *(code **)(sVar6 + 0x34);\n        if (pcVar17 != (code *)0x0) {\n          (*pcVar17)(&pPVar1->plugin_input_file_);\n          pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;\n          (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n          if (pPVar5 == pPVar1) break;\n          goto LAB_001e8774;\n        }\n      }\n      pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;\n      (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n    } while (pPVar5 != pPVar1);\n    this = pPVar1->recorder_;\n  }\n  pPVar1->in_claim_file_handler_ = false;\n  if (this != (Plugin_recorder *)0x0) {\n    Plugin_recorder::unclaimed_file\n              (this,obj_name,CONCAT44(0x43a1d0,uStack_14),\n               CONCAT44(in_stack_ffffff98,in_stack_ffffff9c));\n  }\n  pPVar2 = (Pluginobj *)0x0;\nLAB_001e889c:\n  pLVar4 = pLVar15->lock_;\n  (*pLVar4->_vptr_Lock_impl[3])(pLVar4);\n  return (ld_plugin_status)pPVar2;\n}" { (declaration "Plugin_manager *pPVar1;" type_identifier (pointer_declarator "*pPVar1" * identifier) ;) (declaration "Pluginobj *pPVar2;" type_identifier (pointer_declarator "*pPVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "Lock_impl *pLVar4;" type_identifier (pointer_declarator "*pLVar4" * identifier) ;) (declaration "Plugin_manager *pPVar5;" type_identifier (pointer_declarator "*pPVar5" * identifier) ;) (declaration "size_t sVar6;" primitive_type identifier ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "ld_plugin_status lVar8;" type_identifier identifier ;) (declaration "pointer ppOVar9;" type_identifier identifier ;) (declaration "Plugin_recorder *this;" type_identifier (pointer_declarator "*this" * identifier) ;) (declaration "size_type sVar10;" type_identifier identifier ;) (declaration "size_type sVar11;" type_identifier identifier ;) (declaration "Input_file *pIVar12;" type_identifier (pointer_declarator "*pIVar12" * identifier) ;) (declaration "iterator __position;" type_identifier identifier ;) (declaration "string *plugin_name;" type_identifier (pointer_declarator "*plugin_name" * identifier) ;) (declaration "undefined4 in_a3;" type_identifier identifier ;) (declaration "pointer ppOVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "string *obj_name;" type_identifier (pointer_declarator "*obj_name" * identifier) ;) (declaration "undefined4 *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "Lock *pLVar15;" type_identifier (pointer_declarator "*pLVar15" * identifier) ;) (declaration "void *handle_00;" primitive_type (pointer_declarator "*handle_00" * identifier) ;) (declaration "undefined *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "code *pcVar17;" type_identifier (pointer_declarator "*pcVar17" * identifier) ;) (declaration "undefined1 *apuStack_c0 [2];" type_identifier (pointer_declarator "*apuStack_c0 [2]" * (array_declarator "apuStack_c0 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 auStack_b8 [16];" type_identifier (array_declarator "auStack_b8 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 uStack_a8;" type_identifier identifier ;) (declaration "__bucket_type *pp_Stack_a4;" type_identifier (pointer_declarator "*pp_Stack_a4" * identifier) ;) (declaration "char cStack_a0;" primitive_type identifier ;) (declaration "size_type sStack_98;" type_identifier identifier ;) (declaration "Input_file *pIStack_94;" type_identifier (pointer_declarator "*pIStack_94" * identifier) ;) (declaration "undefined4 in_stack_ffffff98;" type_identifier identifier ;) (declaration "undefined4 in_stack_ffffff9c;" type_identifier identifier ;) (declaration "int aiStack_58 [2];" primitive_type (array_declarator "aiStack_58 [2]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (declaration "Object *pOStack_10;" type_identifier (pointer_declarator "*pOStack_10" * identifier) ;) (if_statement "if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s__0043226c + -0x742c);\n  }\n  else {\n    pPVar1 = *(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c);\n    if (pPVar1 != (Plugin_manager *)0x0) {\n      pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle);\n      if (pPVar2 != (Pluginobj *)0x0) {\n        pPVar2->nsyms_ = nsyms;\n        pPVar2->syms_ = syms;\n        return LDPS_OK;\n      }\n      return LDPS_ERR;\n    }\n  }" if (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0" (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 8)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 8" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == number_literal) )) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s__0043226c + -0x742c);\n  }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s__0043226c + -0x742c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s__0043226c + -0x742c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s__0043226c + -0x742c)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5cec" identifier + number_literal) , number_literal , (binary_expression "PTR_s__0043226c + -0x742c" identifier + number_literal) ))) ;) }) (else_clause "else {\n    pPVar1 = *(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c);\n    if (pPVar1 != (Plugin_manager *)0x0) {\n      pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle);\n      if (pPVar2 != (Pluginobj *)0x0) {\n        pPVar2->nsyms_ = nsyms;\n        pPVar2->syms_ = syms;\n        return LDPS_OK;\n      }\n      return LDPS_ERR;\n    }\n  }" else (compound_statement "{\n    pPVar1 = *(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c);\n    if (pPVar1 != (Plugin_manager *)0x0) {\n      pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle);\n      if (pPVar2 != (Pluginobj *)0x0) {\n        pPVar2->nsyms_ = nsyms;\n        pPVar2->syms_ = syms;\n        return LDPS_OK;\n      }\n      return LDPS_ERR;\n    }\n  }" { (expression_statement "pPVar1 = *(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c);" (assignment_expression "pPVar1 = *(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c)" identifier = (pointer_expression "*(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c)" * (cast_expression "(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c)" ( (type_descriptor "Plugin_manager **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c" (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 8)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 8" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (pPVar1 != (Plugin_manager *)0x0) {\n      pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle);\n      if (pPVar2 != (Pluginobj *)0x0) {\n        pPVar2->nsyms_ = nsyms;\n        pPVar2->syms_ = syms;\n        return LDPS_OK;\n      }\n      return LDPS_ERR;\n    }" if (parenthesized_expression "(pPVar1 != (Plugin_manager *)0x0)" ( (binary_expression "pPVar1 != (Plugin_manager *)0x0" identifier != (cast_expression "(Plugin_manager *)0x0" ( (type_descriptor "Plugin_manager *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle);\n      if (pPVar2 != (Pluginobj *)0x0) {\n        pPVar2->nsyms_ = nsyms;\n        pPVar2->syms_ = syms;\n        return LDPS_OK;\n      }\n      return LDPS_ERR;\n    }" { (ERROR "pPVar2 = Plugin_manager::" (assignment_expression "pPVar2 = Plugin_manager" identifier = identifier) : :) (expression_statement "make_plugin_object(pPVar1,(uint)handle);" (call_expression "make_plugin_object(pPVar1,(uint)handle)" identifier (argument_list "(pPVar1,(uint)handle)" ( identifier , (cast_expression "(uint)handle" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) (if_statement "if (pPVar2 != (Pluginobj *)0x0) {\n        pPVar2->nsyms_ = nsyms;\n        pPVar2->syms_ = syms;\n        return LDPS_OK;\n      }" if (parenthesized_expression "(pPVar2 != (Pluginobj *)0x0)" ( (binary_expression "pPVar2 != (Pluginobj *)0x0" identifier != (cast_expression "(Pluginobj *)0x0" ( (type_descriptor "Pluginobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pPVar2->nsyms_ = nsyms;\n        pPVar2->syms_ = syms;\n        return LDPS_OK;\n      }" { (expression_statement "pPVar2->nsyms_ = nsyms;" (assignment_expression "pPVar2->nsyms_ = nsyms" (field_expression "pPVar2->nsyms_" identifier -> field_identifier) = identifier) ;) (expression_statement "pPVar2->syms_ = syms;" (assignment_expression "pPVar2->syms_ = syms" (field_expression "pPVar2->syms_" identifier -> field_identifier) = identifier) ;) (return_statement "return LDPS_OK;" return identifier ;) })) (return_statement "return LDPS_ERR;" return identifier ;) })) }))) (expression_statement "pIVar12 = (Input_file *)0x70e;" (assignment_expression "pIVar12 = (Input_file *)0x70e" identifier = (cast_expression "(Input_file *)0x70e" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "plugin_name = (string *)(PTR_s__0043226c + -0x7394);" (assignment_expression "plugin_name = (string *)(PTR_s__0043226c + -0x7394)" identifier = (cast_expression "(string *)(PTR_s__0043226c + -0x7394)" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s__0043226c + -0x7394)" ( (binary_expression "PTR_s__0043226c + -0x7394" identifier + number_literal) )))) ;) (expression_statement "pPVar1 = (Plugin_manager *)(PTR_s__0043226c + -0x7b3c);" (assignment_expression "pPVar1 = (Plugin_manager *)(PTR_s__0043226c + -0x7b3c)" identifier = (cast_expression "(Plugin_manager *)(PTR_s__0043226c + -0x7b3c)" ( (type_descriptor "Plugin_manager *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s__0043226c + -0x7b3c)" ( (binary_expression "PTR_s__0043226c + -0x7b3c" identifier + number_literal) )))) ;) (expression_statement "puVar16 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar16 = PTR_do_gold_unreachable_004323c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)();" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)()" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar3 = (**(code **)(puVar16 + 0x24a744))(&pPVar1->initialize_lock_);" (assignment_expression "iVar3 = (**(code **)(puVar16 + 0x24a744))(&pPVar1->initialize_lock_)" identifier = (call_expression "(**(code **)(puVar16 + 0x24a744))(&pPVar1->initialize_lock_)" (parenthesized_expression "(**(code **)(puVar16 + 0x24a744))" ( (pointer_expression "**(code **)(puVar16 + 0x24a744)" * (pointer_expression "*(code **)(puVar16 + 0x24a744)" * (cast_expression "(code **)(puVar16 + 0x24a744)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x24a744)" ( (binary_expression "puVar16 + 0x24a744" identifier + number_literal) ))))) )) (argument_list "(&pPVar1->initialize_lock_)" ( (pointer_expression "&pPVar1->initialize_lock_" & (field_expression "pPVar1->initialize_lock_" identifier -> field_identifier)) )))) ;) (if_statement "if (iVar3 == 0) {\n    piVar7 = (int *)&DAT_000002da;\n    iVar3 = *(int *)(puVar16 + 0x249c40) + -0x786c;\n    sVar10 = *(int *)(puVar16 + 0x249c40) - 0x7b3c;\n    (**(code **)(puVar16 + 0x249d98))(sVar10,0x2da,iVar3);\n    (**(code **)(*(int *)*unaff_s6 + 0xc))((int *)*unaff_s6);\n    pcVar17 = *(code **)(puVar16 + 0x249c2c);\n    sVar11 = sVar10;\n    (*pcVar17)(sVar10);\n    apuStack_c0[0] = auStack_b8;\n    sStack_98 = sVar10;\n    pIStack_94 = pIVar12;\n    (**(code **)(pcVar17 + 0x249b30))(apuStack_c0,*piVar7,*piVar7 + piVar7[1],0);\n    uStack_a8 = 0;\n    std::\n    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n    ::\n    _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>\n              ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                *)&pp_Stack_a4,sVar11 + 0x58,0,apuStack_c0);\n    if (apuStack_c0[0] != auStack_b8) {\n      (**(code **)(pcVar17 + 0x249930))();\n    }\n    if (cStack_a0 == '\0') {\n      return (uint)*(byte *)(pp_Stack_a4 + 7);\n    }\n    lVar8 = (**(code **)(pcVar17 + 0x24b894))(iVar3,piVar7,0,0,1,1,0);\n    *(char *)(pp_Stack_a4 + 7) = (char)lVar8;\n    return lVar8;\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    piVar7 = (int *)&DAT_000002da;\n    iVar3 = *(int *)(puVar16 + 0x249c40) + -0x786c;\n    sVar10 = *(int *)(puVar16 + 0x249c40) - 0x7b3c;\n    (**(code **)(puVar16 + 0x249d98))(sVar10,0x2da,iVar3);\n    (**(code **)(*(int *)*unaff_s6 + 0xc))((int *)*unaff_s6);\n    pcVar17 = *(code **)(puVar16 + 0x249c2c);\n    sVar11 = sVar10;\n    (*pcVar17)(sVar10);\n    apuStack_c0[0] = auStack_b8;\n    sStack_98 = sVar10;\n    pIStack_94 = pIVar12;\n    (**(code **)(pcVar17 + 0x249b30))(apuStack_c0,*piVar7,*piVar7 + piVar7[1],0);\n    uStack_a8 = 0;\n    std::\n    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n    ::\n    _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>\n              ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                *)&pp_Stack_a4,sVar11 + 0x58,0,apuStack_c0);\n    if (apuStack_c0[0] != auStack_b8) {\n      (**(code **)(pcVar17 + 0x249930))();\n    }\n    if (cStack_a0 == '\0') {\n      return (uint)*(byte *)(pp_Stack_a4 + 7);\n    }\n    lVar8 = (**(code **)(pcVar17 + 0x24b894))(iVar3,piVar7,0,0,1,1,0);\n    *(char *)(pp_Stack_a4 + 7) = (char)lVar8;\n    return lVar8;\n  }" { (expression_statement "piVar7 = (int *)&DAT_000002da;" (assignment_expression "piVar7 = (int *)&DAT_000002da" identifier = (cast_expression "(int *)&DAT_000002da" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000002da" & identifier))) ;) (expression_statement "iVar3 = *(int *)(puVar16 + 0x249c40) + -0x786c;" (assignment_expression "iVar3 = *(int *)(puVar16 + 0x249c40) + -0x786c" identifier = (binary_expression "*(int *)(puVar16 + 0x249c40) + -0x786c" (pointer_expression "*(int *)(puVar16 + 0x249c40)" * (cast_expression "(int *)(puVar16 + 0x249c40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x249c40)" ( (binary_expression "puVar16 + 0x249c40" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "sVar10 = *(int *)(puVar16 + 0x249c40) - 0x7b3c;" (assignment_expression "sVar10 = *(int *)(puVar16 + 0x249c40) - 0x7b3c" identifier = (binary_expression "*(int *)(puVar16 + 0x249c40) - 0x7b3c" (pointer_expression "*(int *)(puVar16 + 0x249c40)" * (cast_expression "(int *)(puVar16 + 0x249c40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x249c40)" ( (binary_expression "puVar16 + 0x249c40" identifier + number_literal) )))) - number_literal)) ;) (expression_statement "(**(code **)(puVar16 + 0x249d98))(sVar10,0x2da,iVar3);" (call_expression "(**(code **)(puVar16 + 0x249d98))(sVar10,0x2da,iVar3)" (parenthesized_expression "(**(code **)(puVar16 + 0x249d98))" ( (pointer_expression "**(code **)(puVar16 + 0x249d98)" * (pointer_expression "*(code **)(puVar16 + 0x249d98)" * (cast_expression "(code **)(puVar16 + 0x249d98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x249d98)" ( (binary_expression "puVar16 + 0x249d98" identifier + number_literal) ))))) )) (argument_list "(sVar10,0x2da,iVar3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "(**(code **)(*(int *)*unaff_s6 + 0xc))((int *)*unaff_s6);" (call_expression "(**(code **)(*(int *)*unaff_s6 + 0xc))((int *)*unaff_s6)" (parenthesized_expression "(**(code **)(*(int *)*unaff_s6 + 0xc))" ( (pointer_expression "**(code **)(*(int *)*unaff_s6 + 0xc)" * (pointer_expression "*(code **)(*(int *)*unaff_s6 + 0xc)" * (cast_expression "(code **)(*(int *)*unaff_s6 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)*unaff_s6 + 0xc)" ( (binary_expression "*(int *)*unaff_s6 + 0xc" (pointer_expression "*(int *)*unaff_s6" * (cast_expression "(int *)*unaff_s6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*unaff_s6" * identifier))) + number_literal) ))))) )) (argument_list "((int *)*unaff_s6)" ( (cast_expression "(int *)*unaff_s6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*unaff_s6" * identifier)) ))) ;) (expression_statement "pcVar17 = *(code **)(puVar16 + 0x249c2c);" (assignment_expression "pcVar17 = *(code **)(puVar16 + 0x249c2c)" identifier = (pointer_expression "*(code **)(puVar16 + 0x249c2c)" * (cast_expression "(code **)(puVar16 + 0x249c2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x249c2c)" ( (binary_expression "puVar16 + 0x249c2c" identifier + number_literal) ))))) ;) (expression_statement "sVar11 = sVar10;" (assignment_expression "sVar11 = sVar10" identifier = identifier) ;) (expression_statement "(*pcVar17)(sVar10);" (call_expression "(*pcVar17)(sVar10)" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "(sVar10)" ( identifier ))) ;) (expression_statement "apuStack_c0[0] = auStack_b8;" (assignment_expression "apuStack_c0[0] = auStack_b8" (subscript_expression "apuStack_c0[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "sStack_98 = sVar10;" (assignment_expression "sStack_98 = sVar10" identifier = identifier) ;) (expression_statement "pIStack_94 = pIVar12;" (assignment_expression "pIStack_94 = pIVar12" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar17 + 0x249b30))(apuStack_c0,*piVar7,*piVar7 + piVar7[1],0);" (call_expression "(**(code **)(pcVar17 + 0x249b30))(apuStack_c0,*piVar7,*piVar7 + piVar7[1],0)" (parenthesized_expression "(**(code **)(pcVar17 + 0x249b30))" ( (pointer_expression "**(code **)(pcVar17 + 0x249b30)" * (pointer_expression "*(code **)(pcVar17 + 0x249b30)" * (cast_expression "(code **)(pcVar17 + 0x249b30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x249b30)" ( (binary_expression "pcVar17 + 0x249b30" identifier + number_literal) ))))) )) (argument_list "(apuStack_c0,*piVar7,*piVar7 + piVar7[1],0)" ( identifier , (pointer_expression "*piVar7" * identifier) , (binary_expression "*piVar7 + piVar7[1]" (pointer_expression "*piVar7" * identifier) + (subscript_expression "piVar7[1]" identifier [ number_literal ])) , number_literal ))) ;) (expression_statement "uStack_a8 = 0;" (assignment_expression "uStack_a8 = 0" identifier = number_literal) ;) (ERROR "std::\n    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::" (comma_expression "std::\n    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::\n    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_bool>,_std" (binary_expression "allocator<char>_>,_bool" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_bool>_>,_std" (binary_expression "allocator<char>_>,_bool>_" (binary_expression "allocator<char>_>,_bool" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std" identifier (ERROR "::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) >) , identifier) : : (binary_expression "hash<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n    ::\n    _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>\n              ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                *)&pp_Stack_a4,sVar11 + 0x58,0,apuStack_c0);" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n    ::\n    _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>\n              ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                *)&pp_Stack_a4,sVar11 + 0x58,0,apuStack_c0);" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n    ::\n    _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>\n              ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                *)&pp_Stack_a4,sVar11 + 0x58,0,apuStack_c0);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (expression_statement "__detail::_Hashtable_traits<true,_false,_true>_>\n    ::\n    _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>\n              ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                *)&pp_Stack_a4,sVar11 + 0x58,0,apuStack_c0);" (comma_expression "__detail::_Hashtable_traits<true,_false,_true>_>\n    ::\n    _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>\n              ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                *)&pp_Stack_a4,sVar11 + 0x58,0,apuStack_c0)" identifier (ERROR "::_Hashtable_traits<true,_false,_true>_>\n    ::\n    _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (comma_expression "_Hashtable_traits<true,_false,_true>_>\n    ::\n    _M_emplace<std" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n    ::\n    _M_emplace<std" identifier , (binary_expression "_true>_>\n    ::\n    _M_emplace<std" (binary_expression "_true>_>\n    ::\n    _M_emplace" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) identifier) < identifier))) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , (binary_expression "_bool>_>\n              ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                *)&pp_Stack_a4,sVar11 + 0x58,0,apuStack_c0)" (binary_expression "_bool>_" identifier > identifier) > (parenthesized_expression "((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                *)&pp_Stack_a4,sVar11 + 0x58,0,apuStack_c0)" ( (comma_expression "(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                *)&pp_Stack_a4,sVar11 + 0x58,0,apuStack_c0" (binary_expression "(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                *)&pp_Stack_a4" (parenthesized_expression "(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                *)" ( (ERROR "_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_bool>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::__cxx11::basic_string<char,_std" (binary_expression "_Hashtable<std::__cxx11::basic_string<char" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_bool>,_std" (binary_expression "allocator<char>_>,_bool" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_bool>_>,_std" (binary_expression "allocator<char>_>,_bool>_" (binary_expression "allocator<char>_>,_bool" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "hash<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,_false,_true>_>\n                *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n                *" identifier , (binary_expression "_true>_>\n                *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) & identifier) , (comma_expression "sVar11 + 0x58,0,apuStack_c0" (binary_expression "sVar11 + 0x58" identifier + number_literal) , (comma_expression "0,apuStack_c0" number_literal , identifier))) )))) ;)))) (if_statement "if (apuStack_c0[0] != auStack_b8) {\n      (**(code **)(pcVar17 + 0x249930))();\n    }" if (parenthesized_expression "(apuStack_c0[0] != auStack_b8)" ( (binary_expression "apuStack_c0[0] != auStack_b8" (subscript_expression "apuStack_c0[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n      (**(code **)(pcVar17 + 0x249930))();\n    }" { (expression_statement "(**(code **)(pcVar17 + 0x249930))();" (call_expression "(**(code **)(pcVar17 + 0x249930))()" (parenthesized_expression "(**(code **)(pcVar17 + 0x249930))" ( (pointer_expression "**(code **)(pcVar17 + 0x249930)" * (pointer_expression "*(code **)(pcVar17 + 0x249930)" * (cast_expression "(code **)(pcVar17 + 0x249930)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x249930)" ( (binary_expression "pcVar17 + 0x249930" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (if_statement "if (cStack_a0 == '\0') {\n      return (uint)*(byte *)(pp_Stack_a4 + 7);\n    }" if (parenthesized_expression "(cStack_a0 == '\0')" ( (binary_expression "cStack_a0 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return (uint)*(byte *)(pp_Stack_a4 + 7);\n    }" { (return_statement "return (uint)*(byte *)(pp_Stack_a4 + 7);" return (binary_expression "(uint)*(byte *)(pp_Stack_a4 + 7)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(pp_Stack_a4 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pp_Stack_a4 + 7)" ( (binary_expression "pp_Stack_a4 + 7" identifier + number_literal) )))) ;) })) (expression_statement "lVar8 = (**(code **)(pcVar17 + 0x24b894))(iVar3,piVar7,0,0,1,1,0);" (assignment_expression "lVar8 = (**(code **)(pcVar17 + 0x24b894))(iVar3,piVar7,0,0,1,1,0)" identifier = (call_expression "(**(code **)(pcVar17 + 0x24b894))(iVar3,piVar7,0,0,1,1,0)" (parenthesized_expression "(**(code **)(pcVar17 + 0x24b894))" ( (pointer_expression "**(code **)(pcVar17 + 0x24b894)" * (pointer_expression "*(code **)(pcVar17 + 0x24b894)" * (cast_expression "(code **)(pcVar17 + 0x24b894)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x24b894)" ( (binary_expression "pcVar17 + 0x24b894" identifier + number_literal) ))))) )) (argument_list "(iVar3,piVar7,0,0,1,1,0)" ( identifier , identifier , number_literal , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "*(char *)(pp_Stack_a4 + 7) = (char)lVar8;" (assignment_expression "*(char *)(pp_Stack_a4 + 7) = (char)lVar8" (pointer_expression "*(char *)(pp_Stack_a4 + 7)" * (cast_expression "(char *)(pp_Stack_a4 + 7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pp_Stack_a4 + 7)" ( (binary_expression "pp_Stack_a4 + 7" identifier + number_literal) )))) = (cast_expression "(char)lVar8" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (return_statement "return lVar8;" return identifier ;) })) (expression_statement "pLVar15 = pPVar1->lock_;" (assignment_expression "pLVar15 = pPVar1->lock_" identifier = (field_expression "pPVar1->lock_" identifier -> field_identifier)) ;) (expression_statement "pLVar4 = pLVar15->lock_;" (assignment_expression "pLVar4 = pLVar15->lock_" identifier = (field_expression "pLVar15->lock_" identifier -> field_identifier)) ;) (expression_statement "obj_name = &(pIVar12->file_).name_;" (assignment_expression "obj_name = &(pIVar12->file_).name_" identifier = (pointer_expression "&(pIVar12->file_).name_" & (field_expression "(pIVar12->file_).name_" (parenthesized_expression "(pIVar12->file_)" ( (field_expression "pIVar12->file_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "(*pLVar4->_vptr_Lock_impl[2])(pLVar4);" (call_expression "(*pLVar4->_vptr_Lock_impl[2])(pLVar4)" (parenthesized_expression "(*pLVar4->_vptr_Lock_impl[2])" ( (pointer_expression "*pLVar4->_vptr_Lock_impl[2]" * (subscript_expression "pLVar4->_vptr_Lock_impl[2]" (field_expression "pLVar4->_vptr_Lock_impl" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pLVar4)" ( identifier ))) ;) (expression_statement "ppOVar13 = (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n             _M_impl._M_finish;" (field_expression "ppOVar13 = (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n             _M_impl._M_finish" (field_expression "ppOVar13 = (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n             _M_impl" (binary_expression "ppOVar13 = (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_" (binary_expression "ppOVar13 = (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold" (binary_expression "ppOVar13 = (pPVar1->objects_).super__Vector_base<gold::Object*,_std" (assignment_expression "ppOVar13 = (pPVar1->objects_).super__Vector_base<gold" identifier = (binary_expression "(pPVar1->objects_).super__Vector_base<gold" (field_expression "(pPVar1->objects_).super__Vector_base" (parenthesized_expression "(pPVar1->objects_)" ( (field_expression "pPVar1->objects_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Object" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Object" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "ppOVar9 = (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n            _M_impl._M_start;" (field_expression "ppOVar9 = (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n            _M_impl._M_start" (field_expression "ppOVar9 = (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n            _M_impl" (binary_expression "ppOVar9 = (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_" (binary_expression "ppOVar9 = (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold" (binary_expression "ppOVar9 = (pPVar1->objects_).super__Vector_base<gold::Object*,_std" (assignment_expression "ppOVar9 = (pPVar1->objects_).super__Vector_base<gold" identifier = (binary_expression "(pPVar1->objects_).super__Vector_base<gold" (field_expression "(pPVar1->objects_).super__Vector_base" (parenthesized_expression "(pPVar1->objects_)" ( (field_expression "pPVar1->objects_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Object" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Object" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "pPVar1->input_file_ = pIVar12;" (assignment_expression "pPVar1->input_file_ = pIVar12" (field_expression "pPVar1->input_file_" identifier -> field_identifier) = identifier) ;) (expression_statement "pcVar17 = *(code **)(puVar16 + 0x24a760);" (assignment_expression "pcVar17 = *(code **)(puVar16 + 0x24a760)" identifier = (pointer_expression "*(code **)(puVar16 + 0x24a760)" * (cast_expression "(code **)(puVar16 + 0x24a760)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x24a760)" ( (binary_expression "puVar16 + 0x24a760" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = (int)ppOVar13 - (int)ppOVar9;" (assignment_expression "iVar14 = (int)ppOVar13 - (int)ppOVar9" identifier = (binary_expression "(int)ppOVar13 - (int)ppOVar9" (cast_expression "(int)ppOVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppOVar9" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "(pPVar1->plugin_input_file_).name = (pIVar12->file_).name_._M_dataplus._M_p;" (assignment_expression "(pPVar1->plugin_input_file_).name = (pIVar12->file_).name_._M_dataplus._M_p" (field_expression "(pPVar1->plugin_input_file_).name" (parenthesized_expression "(pPVar1->plugin_input_file_)" ( (field_expression "pPVar1->plugin_input_file_" identifier -> field_identifier) )) . field_identifier) = (field_expression "(pIVar12->file_).name_._M_dataplus._M_p" (field_expression "(pIVar12->file_).name_._M_dataplus" (field_expression "(pIVar12->file_).name_" (parenthesized_expression "(pIVar12->file_)" ( (field_expression "pIVar12->file_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "handle_00 = (void *)(iVar14 >> 2);" (assignment_expression "handle_00 = (void *)(iVar14 >> 2)" identifier = (cast_expression "(void *)(iVar14 >> 2)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 >> 2)" ( (binary_expression "iVar14 >> 2" identifier >> number_literal) )))) ;) (expression_statement "(*pcVar17)(obj_name);" (call_expression "(*pcVar17)(obj_name)" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "(obj_name)" ( identifier ))) ;) (expression_statement "iVar3 = (pIVar12->file_).descriptor_;" (assignment_expression "iVar3 = (pIVar12->file_).descriptor_" identifier = (field_expression "(pIVar12->file_).descriptor_" (parenthesized_expression "(pIVar12->file_)" ( (field_expression "pIVar12->file_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "*(undefined4 *)((int)&(pPVar1->plugin_input_file_).offset + 4) = in_a3;" (assignment_expression "*(undefined4 *)((int)&(pPVar1->plugin_input_file_).offset + 4) = in_a3" (pointer_expression "*(undefined4 *)((int)&(pPVar1->plugin_input_file_).offset + 4)" * (cast_expression "(undefined4 *)((int)&(pPVar1->plugin_input_file_).offset + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pPVar1->plugin_input_file_).offset + 4)" ( (binary_expression "(int)&(pPVar1->plugin_input_file_).offset + 4" (cast_expression "(int)&(pPVar1->plugin_input_file_).offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pPVar1->plugin_input_file_).offset" & (field_expression "(pPVar1->plugin_input_file_).offset" (parenthesized_expression "(pPVar1->plugin_input_file_)" ( (field_expression "pPVar1->plugin_input_file_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(string **)&(pPVar1->plugin_input_file_).offset = plugin_name;" (assignment_expression "*(string **)&(pPVar1->plugin_input_file_).offset = plugin_name" (pointer_expression "*(string **)&(pPVar1->plugin_input_file_).offset" * (cast_expression "(string **)&(pPVar1->plugin_input_file_).offset" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(pPVar1->plugin_input_file_).offset" & (field_expression "(pPVar1->plugin_input_file_).offset" (parenthesized_expression "(pPVar1->plugin_input_file_)" ( (field_expression "pPVar1->plugin_input_file_" identifier -> field_identifier) )) . field_identifier)))) = identifier) ;) (expression_statement "(pPVar1->plugin_input_file_).fd = iVar3;" (assignment_expression "(pPVar1->plugin_input_file_).fd = iVar3" (field_expression "(pPVar1->plugin_input_file_).fd" (parenthesized_expression "(pPVar1->plugin_input_file_)" ( (field_expression "pPVar1->plugin_input_file_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "*(undefined4 *)((int)&(pPVar1->plugin_input_file_).filesize + 4) = uStack_14;" (assignment_expression "*(undefined4 *)((int)&(pPVar1->plugin_input_file_).filesize + 4) = uStack_14" (pointer_expression "*(undefined4 *)((int)&(pPVar1->plugin_input_file_).filesize + 4)" * (cast_expression "(undefined4 *)((int)&(pPVar1->plugin_input_file_).filesize + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pPVar1->plugin_input_file_).filesize + 4)" ( (binary_expression "(int)&(pPVar1->plugin_input_file_).filesize + 4" (cast_expression "(int)&(pPVar1->plugin_input_file_).filesize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pPVar1->plugin_input_file_).filesize" & (field_expression "(pPVar1->plugin_input_file_).filesize" (parenthesized_expression "(pPVar1->plugin_input_file_)" ( (field_expression "pPVar1->plugin_input_file_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)&(pPVar1->plugin_input_file_).filesize = 0x43a1d0;" (assignment_expression "*(undefined4 *)&(pPVar1->plugin_input_file_).filesize = 0x43a1d0" (pointer_expression "*(undefined4 *)&(pPVar1->plugin_input_file_).filesize" * (cast_expression "(undefined4 *)&(pPVar1->plugin_input_file_).filesize" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pPVar1->plugin_input_file_).filesize" & (field_expression "(pPVar1->plugin_input_file_).filesize" (parenthesized_expression "(pPVar1->plugin_input_file_)" ( (field_expression "pPVar1->plugin_input_file_" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "(pPVar1->plugin_input_file_).handle = handle_00;" (assignment_expression "(pPVar1->plugin_input_file_).handle = handle_00" (field_expression "(pPVar1->plugin_input_file_).handle" (parenthesized_expression "(pPVar1->plugin_input_file_)" ( (field_expression "pPVar1->plugin_input_file_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (if_statement "if (pOStack_10 != (Object *)0x0) {\n    __position._M_current =\n         (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n         _M_impl._M_finish;\n    if (__position._M_current ==\n        (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl\n        ._M_end_of_storage) {\n      std::vector<gold::Object*,_std::allocator<gold::Object*>_>::\n      _M_realloc_insert<gold::Object*_const&>(&pPVar1->objects_,__position,&pOStack_10);\n    }\n    else {\n      *__position._M_current = pOStack_10;\n      (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n      _M_finish = __position._M_current + 1;\n    }\n  }" if (parenthesized_expression "(pOStack_10 != (Object *)0x0)" ( (binary_expression "pOStack_10 != (Object *)0x0" identifier != (cast_expression "(Object *)0x0" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    __position._M_current =\n         (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n         _M_impl._M_finish;\n    if (__position._M_current ==\n        (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl\n        ._M_end_of_storage) {\n      std::vector<gold::Object*,_std::allocator<gold::Object*>_>::\n      _M_realloc_insert<gold::Object*_const&>(&pPVar1->objects_,__position,&pOStack_10);\n    }\n    else {\n      *__position._M_current = pOStack_10;\n      (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n      _M_finish = __position._M_current + 1;\n    }\n  }" { (expression_statement "__position._M_current =\n         (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n         _M_impl._M_finish;" (field_expression "__position._M_current =\n         (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n         _M_impl._M_finish" (field_expression "__position._M_current =\n         (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n         _M_impl" (binary_expression "__position._M_current =\n         (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_" (binary_expression "__position._M_current =\n         (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold" (binary_expression "__position._M_current =\n         (pPVar1->objects_).super__Vector_base<gold::Object*,_std" (assignment_expression "__position._M_current =\n         (pPVar1->objects_).super__Vector_base<gold" (field_expression "__position._M_current" identifier . field_identifier) = (binary_expression "(pPVar1->objects_).super__Vector_base<gold" (field_expression "(pPVar1->objects_).super__Vector_base" (parenthesized_expression "(pPVar1->objects_)" ( (field_expression "pPVar1->objects_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Object" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Object" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (__position._M_current ==\n        (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl\n        ._M_end_of_storage) {\n      std::vector<gold::Object*,_std::allocator<gold::Object*>_>::\n      _M_realloc_insert<gold::Object*_const&>(&pPVar1->objects_,__position,&pOStack_10);\n    }\n    else {\n      *__position._M_current = pOStack_10;\n      (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n      _M_finish = __position._M_current + 1;\n    }" if (parenthesized_expression "(__position._M_current ==\n        (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl\n        ._M_end_of_storage)" ( (field_expression "__position._M_current ==\n        (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl\n        ._M_end_of_storage" (field_expression "__position._M_current ==\n        (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl" (binary_expression "__position._M_current ==\n        (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_" (binary_expression "__position._M_current ==\n        (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold" (binary_expression "__position._M_current ==\n        (pPVar1->objects_).super__Vector_base<gold::Object*,_std" (binary_expression "__position._M_current ==\n        (pPVar1->objects_).super__Vector_base<gold" (field_expression "__position._M_current" identifier . field_identifier) == (binary_expression "(pPVar1->objects_).super__Vector_base<gold" (field_expression "(pPVar1->objects_).super__Vector_base" (parenthesized_expression "(pPVar1->objects_)" ( (field_expression "pPVar1->objects_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Object" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Object" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n      std::vector<gold::Object*,_std::allocator<gold::Object*>_>::\n      _M_realloc_insert<gold::Object*_const&>(&pPVar1->objects_,__position,&pOStack_10);\n    }" { (ERROR "std::vector<gold::Object*,_std::allocator<gold::Object*>_>::\n      _M_realloc_insert<gold::" (comma_expression "std::vector<gold::Object*,_std" identifier (ERROR "::vector<gold::Object*" : : (binary_expression "vector<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Object*>_>::\n      _M_realloc_insert<gold" (binary_expression "Object*>_>::\n      _M_realloc_insert" (binary_expression "Object*>_" identifier * (ERROR ">" >) identifier) > (ERROR "::" : :) identifier) < identifier) : :) (expression_statement "Object*_const&>(&pPVar1->objects_,__position,&pOStack_10);" (binary_expression "Object*_const&>(&pPVar1->objects_,__position,&pOStack_10)" (binary_expression "Object*_const" identifier * identifier) (ERROR "&" &) > (parenthesized_expression "(&pPVar1->objects_,__position,&pOStack_10)" ( (comma_expression "&pPVar1->objects_,__position,&pOStack_10" (pointer_expression "&pPVar1->objects_" & (field_expression "pPVar1->objects_" identifier -> field_identifier)) , (comma_expression "__position,&pOStack_10" identifier , (pointer_expression "&pOStack_10" & identifier))) ))) ;) }) (else_clause "else {\n      *__position._M_current = pOStack_10;\n      (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n      _M_finish = __position._M_current + 1;\n    }" else (compound_statement "{\n      *__position._M_current = pOStack_10;\n      (pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n      _M_finish = __position._M_current + 1;\n    }" { (expression_statement "*__position._M_current = pOStack_10;" (assignment_expression "*__position._M_current = pOStack_10" (pointer_expression "*__position._M_current" * (field_expression "__position._M_current" identifier . field_identifier)) = identifier) ;) (expression_statement "(pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n      _M_finish = __position._M_current + 1;" (assignment_expression "(pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n      _M_finish = __position._M_current + 1" (field_expression "(pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n      _M_finish" (field_expression "(pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl" (binary_expression "(pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_" (binary_expression "(pPVar1->objects_).super__Vector_base<gold::Object*,_std::allocator<gold" (binary_expression "(pPVar1->objects_).super__Vector_base<gold::Object*,_std" (binary_expression "(pPVar1->objects_).super__Vector_base<gold" (field_expression "(pPVar1->objects_).super__Vector_base" (parenthesized_expression "(pPVar1->objects_)" ( (field_expression "pPVar1->objects_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Object" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Object" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "__position._M_current + 1" (field_expression "__position._M_current" identifier . field_identifier) + number_literal)) ;) }))) })) (expression_statement "pPVar5 = (Plugin_manager *)\n           (pPVar1->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold::Plugin*>_>.\n           _M_impl._M_node.super__List_node_base._M_next;" (field_expression "pPVar5 = (Plugin_manager *)\n           (pPVar1->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold::Plugin*>_>.\n           _M_impl._M_node.super__List_node_base._M_next" (field_expression "pPVar5 = (Plugin_manager *)\n           (pPVar1->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold::Plugin*>_>.\n           _M_impl._M_node.super__List_node_base" (field_expression "pPVar5 = (Plugin_manager *)\n           (pPVar1->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold::Plugin*>_>.\n           _M_impl._M_node" (field_expression "pPVar5 = (Plugin_manager *)\n           (pPVar1->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold::Plugin*>_>.\n           _M_impl" (binary_expression "pPVar5 = (Plugin_manager *)\n           (pPVar1->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold::Plugin*>_" (binary_expression "pPVar5 = (Plugin_manager *)\n           (pPVar1->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold" (binary_expression "pPVar5 = (Plugin_manager *)\n           (pPVar1->plugins_).super__List_base<gold::Plugin*,_std" (assignment_expression "pPVar5 = (Plugin_manager *)\n           (pPVar1->plugins_).super__List_base<gold" identifier = (binary_expression "(Plugin_manager *)\n           (pPVar1->plugins_).super__List_base<gold" (cast_expression "(Plugin_manager *)\n           (pPVar1->plugins_).super__List_base" ( (type_descriptor "Plugin_manager *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(pPVar1->plugins_).super__List_base" (parenthesized_expression "(pPVar1->plugins_)" ( (field_expression "pPVar1->plugins_" identifier -> field_identifier) )) . field_identifier)) < identifier)) (ERROR "::Plugin" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Plugin" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) ;) (expression_statement "pPVar1->in_claim_file_handler_ = true;" (assignment_expression "pPVar1->in_claim_file_handler_ = true" (field_expression "pPVar1->in_claim_file_handler_" identifier -> field_identifier) = true) ;) (expression_statement "(pPVar1->current_)._M_node = (_List_node_base *)pPVar5;" (assignment_expression "(pPVar1->current_)._M_node = (_List_node_base *)pPVar5" (field_expression "(pPVar1->current_)._M_node" (parenthesized_expression "(pPVar1->current_)" ( (field_expression "pPVar1->current_" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(_List_node_base *)pPVar5" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pPVar5 == pPVar1) {\n    this = pPVar1->recorder_;\n  }\n  else {\nLAB_001e8774:\n    do {\n      sVar6 = (pPVar5->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold::Plugin*>_>.\n              _M_impl._M_node._M_size;\n      if (pPVar1->in_replacement_phase_ == false) {\n        pcVar17 = *(code **)(sVar6 + 0x28);\n        aiStack_58[0] = 0;\n        if ((pcVar17 != (code *)0x0) &&\n           ((*pcVar17)(&pPVar1->plugin_input_file_,aiStack_58), aiStack_58[0] != 0)) {\n          pPVar1->in_claim_file_handler_ = false;\n          pPVar1->any_claimed_ = true;\n          if (pPVar1->recorder_ != (Plugin_recorder *)0x0) {\n            if (pOStack_10 != (Object *)0x0) {\n              obj_name = &pOStack_10->name_;\n            }\n            Plugin_recorder::claimed_file\n                      (pPVar1->recorder_,obj_name,CONCAT44(0x43a1d0,uStack_14),\n                       CONCAT44(&((pPVar1->current_)._M_node[1]._M_next)->_M_prev,in_stack_ffffff9c)\n                       ,plugin_name);\n          }\n          ppOVar9 = (pPVar1->objects_).\n                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n                    _M_start;\n          if ((handle_00 <\n               (void *)((int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n                             _M_impl._M_finish - (int)ppOVar9 >> 2)) &&\n             (piVar7 = *(int **)((int)ppOVar9 + iVar14),\n             iVar3 = (**(code **)(*piVar7 + 0x14))(piVar7), iVar3 != 0)) {\n            piVar7 = *(int **)((int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>\n                                    ._M_impl._M_start + iVar14);\n            pPVar2 = (Pluginobj *)(**(code **)(*piVar7 + 0x14))(piVar7);\n          }\n          else {\n            pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle_00);\n          }\n          goto LAB_001e889c;\n        }\n      }\n      else {\n        pcVar17 = *(code **)(sVar6 + 0x34);\n        if (pcVar17 != (code *)0x0) {\n          (*pcVar17)(&pPVar1->plugin_input_file_);\n          pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;\n          (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n          if (pPVar5 == pPVar1) break;\n          goto LAB_001e8774;\n        }\n      }\n      pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;\n      (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n    } while (pPVar5 != pPVar1);\n    this = pPVar1->recorder_;\n  }" if (parenthesized_expression "(pPVar5 == pPVar1)" ( (binary_expression "pPVar5 == pPVar1" identifier == identifier) )) (compound_statement "{\n    this = pPVar1->recorder_;\n  }" { (expression_statement "this = pPVar1->recorder_;" (assignment_expression "this = pPVar1->recorder_" identifier = (field_expression "pPVar1->recorder_" identifier -> field_identifier)) ;) }) (else_clause "else {\nLAB_001e8774:\n    do {\n      sVar6 = (pPVar5->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold::Plugin*>_>.\n              _M_impl._M_node._M_size;\n      if (pPVar1->in_replacement_phase_ == false) {\n        pcVar17 = *(code **)(sVar6 + 0x28);\n        aiStack_58[0] = 0;\n        if ((pcVar17 != (code *)0x0) &&\n           ((*pcVar17)(&pPVar1->plugin_input_file_,aiStack_58), aiStack_58[0] != 0)) {\n          pPVar1->in_claim_file_handler_ = false;\n          pPVar1->any_claimed_ = true;\n          if (pPVar1->recorder_ != (Plugin_recorder *)0x0) {\n            if (pOStack_10 != (Object *)0x0) {\n              obj_name = &pOStack_10->name_;\n            }\n            Plugin_recorder::claimed_file\n                      (pPVar1->recorder_,obj_name,CONCAT44(0x43a1d0,uStack_14),\n                       CONCAT44(&((pPVar1->current_)._M_node[1]._M_next)->_M_prev,in_stack_ffffff9c)\n                       ,plugin_name);\n          }\n          ppOVar9 = (pPVar1->objects_).\n                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n                    _M_start;\n          if ((handle_00 <\n               (void *)((int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n                             _M_impl._M_finish - (int)ppOVar9 >> 2)) &&\n             (piVar7 = *(int **)((int)ppOVar9 + iVar14),\n             iVar3 = (**(code **)(*piVar7 + 0x14))(piVar7), iVar3 != 0)) {\n            piVar7 = *(int **)((int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>\n                                    ._M_impl._M_start + iVar14);\n            pPVar2 = (Pluginobj *)(**(code **)(*piVar7 + 0x14))(piVar7);\n          }\n          else {\n            pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle_00);\n          }\n          goto LAB_001e889c;\n        }\n      }\n      else {\n        pcVar17 = *(code **)(sVar6 + 0x34);\n        if (pcVar17 != (code *)0x0) {\n          (*pcVar17)(&pPVar1->plugin_input_file_);\n          pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;\n          (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n          if (pPVar5 == pPVar1) break;\n          goto LAB_001e8774;\n        }\n      }\n      pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;\n      (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n    } while (pPVar5 != pPVar1);\n    this = pPVar1->recorder_;\n  }" else (compound_statement "{\nLAB_001e8774:\n    do {\n      sVar6 = (pPVar5->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold::Plugin*>_>.\n              _M_impl._M_node._M_size;\n      if (pPVar1->in_replacement_phase_ == false) {\n        pcVar17 = *(code **)(sVar6 + 0x28);\n        aiStack_58[0] = 0;\n        if ((pcVar17 != (code *)0x0) &&\n           ((*pcVar17)(&pPVar1->plugin_input_file_,aiStack_58), aiStack_58[0] != 0)) {\n          pPVar1->in_claim_file_handler_ = false;\n          pPVar1->any_claimed_ = true;\n          if (pPVar1->recorder_ != (Plugin_recorder *)0x0) {\n            if (pOStack_10 != (Object *)0x0) {\n              obj_name = &pOStack_10->name_;\n            }\n            Plugin_recorder::claimed_file\n                      (pPVar1->recorder_,obj_name,CONCAT44(0x43a1d0,uStack_14),\n                       CONCAT44(&((pPVar1->current_)._M_node[1]._M_next)->_M_prev,in_stack_ffffff9c)\n                       ,plugin_name);\n          }\n          ppOVar9 = (pPVar1->objects_).\n                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n                    _M_start;\n          if ((handle_00 <\n               (void *)((int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n                             _M_impl._M_finish - (int)ppOVar9 >> 2)) &&\n             (piVar7 = *(int **)((int)ppOVar9 + iVar14),\n             iVar3 = (**(code **)(*piVar7 + 0x14))(piVar7), iVar3 != 0)) {\n            piVar7 = *(int **)((int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>\n                                    ._M_impl._M_start + iVar14);\n            pPVar2 = (Pluginobj *)(**(code **)(*piVar7 + 0x14))(piVar7);\n          }\n          else {\n            pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle_00);\n          }\n          goto LAB_001e889c;\n        }\n      }\n      else {\n        pcVar17 = *(code **)(sVar6 + 0x34);\n        if (pcVar17 != (code *)0x0) {\n          (*pcVar17)(&pPVar1->plugin_input_file_);\n          pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;\n          (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n          if (pPVar5 == pPVar1) break;\n          goto LAB_001e8774;\n        }\n      }\n      pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;\n      (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n    } while (pPVar5 != pPVar1);\n    this = pPVar1->recorder_;\n  }" { (labeled_statement "LAB_001e8774:\n    do {\n      sVar6 = (pPVar5->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold::Plugin*>_>.\n              _M_impl._M_node._M_size;\n      if (pPVar1->in_replacement_phase_ == false) {\n        pcVar17 = *(code **)(sVar6 + 0x28);\n        aiStack_58[0] = 0;\n        if ((pcVar17 != (code *)0x0) &&\n           ((*pcVar17)(&pPVar1->plugin_input_file_,aiStack_58), aiStack_58[0] != 0)) {\n          pPVar1->in_claim_file_handler_ = false;\n          pPVar1->any_claimed_ = true;\n          if (pPVar1->recorder_ != (Plugin_recorder *)0x0) {\n            if (pOStack_10 != (Object *)0x0) {\n              obj_name = &pOStack_10->name_;\n            }\n            Plugin_recorder::claimed_file\n                      (pPVar1->recorder_,obj_name,CONCAT44(0x43a1d0,uStack_14),\n                       CONCAT44(&((pPVar1->current_)._M_node[1]._M_next)->_M_prev,in_stack_ffffff9c)\n                       ,plugin_name);\n          }\n          ppOVar9 = (pPVar1->objects_).\n                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n                    _M_start;\n          if ((handle_00 <\n               (void *)((int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n                             _M_impl._M_finish - (int)ppOVar9 >> 2)) &&\n             (piVar7 = *(int **)((int)ppOVar9 + iVar14),\n             iVar3 = (**(code **)(*piVar7 + 0x14))(piVar7), iVar3 != 0)) {\n            piVar7 = *(int **)((int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>\n                                    ._M_impl._M_start + iVar14);\n            pPVar2 = (Pluginobj *)(**(code **)(*piVar7 + 0x14))(piVar7);\n          }\n          else {\n            pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle_00);\n          }\n          goto LAB_001e889c;\n        }\n      }\n      else {\n        pcVar17 = *(code **)(sVar6 + 0x34);\n        if (pcVar17 != (code *)0x0) {\n          (*pcVar17)(&pPVar1->plugin_input_file_);\n          pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;\n          (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n          if (pPVar5 == pPVar1) break;\n          goto LAB_001e8774;\n        }\n      }\n      pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;\n      (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n    } while (pPVar5 != pPVar1);" statement_identifier : (do_statement "do {\n      sVar6 = (pPVar5->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold::Plugin*>_>.\n              _M_impl._M_node._M_size;\n      if (pPVar1->in_replacement_phase_ == false) {\n        pcVar17 = *(code **)(sVar6 + 0x28);\n        aiStack_58[0] = 0;\n        if ((pcVar17 != (code *)0x0) &&\n           ((*pcVar17)(&pPVar1->plugin_input_file_,aiStack_58), aiStack_58[0] != 0)) {\n          pPVar1->in_claim_file_handler_ = false;\n          pPVar1->any_claimed_ = true;\n          if (pPVar1->recorder_ != (Plugin_recorder *)0x0) {\n            if (pOStack_10 != (Object *)0x0) {\n              obj_name = &pOStack_10->name_;\n            }\n            Plugin_recorder::claimed_file\n                      (pPVar1->recorder_,obj_name,CONCAT44(0x43a1d0,uStack_14),\n                       CONCAT44(&((pPVar1->current_)._M_node[1]._M_next)->_M_prev,in_stack_ffffff9c)\n                       ,plugin_name);\n          }\n          ppOVar9 = (pPVar1->objects_).\n                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n                    _M_start;\n          if ((handle_00 <\n               (void *)((int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n                             _M_impl._M_finish - (int)ppOVar9 >> 2)) &&\n             (piVar7 = *(int **)((int)ppOVar9 + iVar14),\n             iVar3 = (**(code **)(*piVar7 + 0x14))(piVar7), iVar3 != 0)) {\n            piVar7 = *(int **)((int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>\n                                    ._M_impl._M_start + iVar14);\n            pPVar2 = (Pluginobj *)(**(code **)(*piVar7 + 0x14))(piVar7);\n          }\n          else {\n            pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle_00);\n          }\n          goto LAB_001e889c;\n        }\n      }\n      else {\n        pcVar17 = *(code **)(sVar6 + 0x34);\n        if (pcVar17 != (code *)0x0) {\n          (*pcVar17)(&pPVar1->plugin_input_file_);\n          pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;\n          (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n          if (pPVar5 == pPVar1) break;\n          goto LAB_001e8774;\n        }\n      }\n      pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;\n      (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n    } while (pPVar5 != pPVar1);" do (compound_statement "{\n      sVar6 = (pPVar5->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold::Plugin*>_>.\n              _M_impl._M_node._M_size;\n      if (pPVar1->in_replacement_phase_ == false) {\n        pcVar17 = *(code **)(sVar6 + 0x28);\n        aiStack_58[0] = 0;\n        if ((pcVar17 != (code *)0x0) &&\n           ((*pcVar17)(&pPVar1->plugin_input_file_,aiStack_58), aiStack_58[0] != 0)) {\n          pPVar1->in_claim_file_handler_ = false;\n          pPVar1->any_claimed_ = true;\n          if (pPVar1->recorder_ != (Plugin_recorder *)0x0) {\n            if (pOStack_10 != (Object *)0x0) {\n              obj_name = &pOStack_10->name_;\n            }\n            Plugin_recorder::claimed_file\n                      (pPVar1->recorder_,obj_name,CONCAT44(0x43a1d0,uStack_14),\n                       CONCAT44(&((pPVar1->current_)._M_node[1]._M_next)->_M_prev,in_stack_ffffff9c)\n                       ,plugin_name);\n          }\n          ppOVar9 = (pPVar1->objects_).\n                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n                    _M_start;\n          if ((handle_00 <\n               (void *)((int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n                             _M_impl._M_finish - (int)ppOVar9 >> 2)) &&\n             (piVar7 = *(int **)((int)ppOVar9 + iVar14),\n             iVar3 = (**(code **)(*piVar7 + 0x14))(piVar7), iVar3 != 0)) {\n            piVar7 = *(int **)((int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>\n                                    ._M_impl._M_start + iVar14);\n            pPVar2 = (Pluginobj *)(**(code **)(*piVar7 + 0x14))(piVar7);\n          }\n          else {\n            pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle_00);\n          }\n          goto LAB_001e889c;\n        }\n      }\n      else {\n        pcVar17 = *(code **)(sVar6 + 0x34);\n        if (pcVar17 != (code *)0x0) {\n          (*pcVar17)(&pPVar1->plugin_input_file_);\n          pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;\n          (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n          if (pPVar5 == pPVar1) break;\n          goto LAB_001e8774;\n        }\n      }\n      pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;\n      (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n    }" { (expression_statement "sVar6 = (pPVar5->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold::Plugin*>_>.\n              _M_impl._M_node._M_size;" (field_expression "sVar6 = (pPVar5->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold::Plugin*>_>.\n              _M_impl._M_node._M_size" (field_expression "sVar6 = (pPVar5->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold::Plugin*>_>.\n              _M_impl._M_node" (field_expression "sVar6 = (pPVar5->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold::Plugin*>_>.\n              _M_impl" (binary_expression "sVar6 = (pPVar5->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold::Plugin*>_" (binary_expression "sVar6 = (pPVar5->plugins_).super__List_base<gold::Plugin*,_std::allocator<gold" (binary_expression "sVar6 = (pPVar5->plugins_).super__List_base<gold::Plugin*,_std" (assignment_expression "sVar6 = (pPVar5->plugins_).super__List_base<gold" identifier = (binary_expression "(pPVar5->plugins_).super__List_base<gold" (field_expression "(pPVar5->plugins_).super__List_base" (parenthesized_expression "(pPVar5->plugins_)" ( (field_expression "pPVar5->plugins_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Plugin" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Plugin" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) ;) (if_statement "if (pPVar1->in_replacement_phase_ == false) {\n        pcVar17 = *(code **)(sVar6 + 0x28);\n        aiStack_58[0] = 0;\n        if ((pcVar17 != (code *)0x0) &&\n           ((*pcVar17)(&pPVar1->plugin_input_file_,aiStack_58), aiStack_58[0] != 0)) {\n          pPVar1->in_claim_file_handler_ = false;\n          pPVar1->any_claimed_ = true;\n          if (pPVar1->recorder_ != (Plugin_recorder *)0x0) {\n            if (pOStack_10 != (Object *)0x0) {\n              obj_name = &pOStack_10->name_;\n            }\n            Plugin_recorder::claimed_file\n                      (pPVar1->recorder_,obj_name,CONCAT44(0x43a1d0,uStack_14),\n                       CONCAT44(&((pPVar1->current_)._M_node[1]._M_next)->_M_prev,in_stack_ffffff9c)\n                       ,plugin_name);\n          }\n          ppOVar9 = (pPVar1->objects_).\n                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n                    _M_start;\n          if ((handle_00 <\n               (void *)((int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n                             _M_impl._M_finish - (int)ppOVar9 >> 2)) &&\n             (piVar7 = *(int **)((int)ppOVar9 + iVar14),\n             iVar3 = (**(code **)(*piVar7 + 0x14))(piVar7), iVar3 != 0)) {\n            piVar7 = *(int **)((int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>\n                                    ._M_impl._M_start + iVar14);\n            pPVar2 = (Pluginobj *)(**(code **)(*piVar7 + 0x14))(piVar7);\n          }\n          else {\n            pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle_00);\n          }\n          goto LAB_001e889c;\n        }\n      }\n      else {\n        pcVar17 = *(code **)(sVar6 + 0x34);\n        if (pcVar17 != (code *)0x0) {\n          (*pcVar17)(&pPVar1->plugin_input_file_);\n          pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;\n          (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n          if (pPVar5 == pPVar1) break;\n          goto LAB_001e8774;\n        }\n      }" if (parenthesized_expression "(pPVar1->in_replacement_phase_ == false)" ( (binary_expression "pPVar1->in_replacement_phase_ == false" (field_expression "pPVar1->in_replacement_phase_" identifier -> field_identifier) == false) )) (compound_statement "{\n        pcVar17 = *(code **)(sVar6 + 0x28);\n        aiStack_58[0] = 0;\n        if ((pcVar17 != (code *)0x0) &&\n           ((*pcVar17)(&pPVar1->plugin_input_file_,aiStack_58), aiStack_58[0] != 0)) {\n          pPVar1->in_claim_file_handler_ = false;\n          pPVar1->any_claimed_ = true;\n          if (pPVar1->recorder_ != (Plugin_recorder *)0x0) {\n            if (pOStack_10 != (Object *)0x0) {\n              obj_name = &pOStack_10->name_;\n            }\n            Plugin_recorder::claimed_file\n                      (pPVar1->recorder_,obj_name,CONCAT44(0x43a1d0,uStack_14),\n                       CONCAT44(&((pPVar1->current_)._M_node[1]._M_next)->_M_prev,in_stack_ffffff9c)\n                       ,plugin_name);\n          }\n          ppOVar9 = (pPVar1->objects_).\n                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n                    _M_start;\n          if ((handle_00 <\n               (void *)((int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n                             _M_impl._M_finish - (int)ppOVar9 >> 2)) &&\n             (piVar7 = *(int **)((int)ppOVar9 + iVar14),\n             iVar3 = (**(code **)(*piVar7 + 0x14))(piVar7), iVar3 != 0)) {\n            piVar7 = *(int **)((int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>\n                                    ._M_impl._M_start + iVar14);\n            pPVar2 = (Pluginobj *)(**(code **)(*piVar7 + 0x14))(piVar7);\n          }\n          else {\n            pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle_00);\n          }\n          goto LAB_001e889c;\n        }\n      }" { (expression_statement "pcVar17 = *(code **)(sVar6 + 0x28);" (assignment_expression "pcVar17 = *(code **)(sVar6 + 0x28)" identifier = (pointer_expression "*(code **)(sVar6 + 0x28)" * (cast_expression "(code **)(sVar6 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar6 + 0x28)" ( (binary_expression "sVar6 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "aiStack_58[0] = 0;" (assignment_expression "aiStack_58[0] = 0" (subscript_expression "aiStack_58[0]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((pcVar17 != (code *)0x0) &&\n           ((*pcVar17)(&pPVar1->plugin_input_file_,aiStack_58), aiStack_58[0] != 0)) {\n          pPVar1->in_claim_file_handler_ = false;\n          pPVar1->any_claimed_ = true;\n          if (pPVar1->recorder_ != (Plugin_recorder *)0x0) {\n            if (pOStack_10 != (Object *)0x0) {\n              obj_name = &pOStack_10->name_;\n            }\n            Plugin_recorder::claimed_file\n                      (pPVar1->recorder_,obj_name,CONCAT44(0x43a1d0,uStack_14),\n                       CONCAT44(&((pPVar1->current_)._M_node[1]._M_next)->_M_prev,in_stack_ffffff9c)\n                       ,plugin_name);\n          }\n          ppOVar9 = (pPVar1->objects_).\n                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n                    _M_start;\n          if ((handle_00 <\n               (void *)((int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n                             _M_impl._M_finish - (int)ppOVar9 >> 2)) &&\n             (piVar7 = *(int **)((int)ppOVar9 + iVar14),\n             iVar3 = (**(code **)(*piVar7 + 0x14))(piVar7), iVar3 != 0)) {\n            piVar7 = *(int **)((int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>\n                                    ._M_impl._M_start + iVar14);\n            pPVar2 = (Pluginobj *)(**(code **)(*piVar7 + 0x14))(piVar7);\n          }\n          else {\n            pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle_00);\n          }\n          goto LAB_001e889c;\n        }" if (parenthesized_expression "((pcVar17 != (code *)0x0) &&\n           ((*pcVar17)(&pPVar1->plugin_input_file_,aiStack_58), aiStack_58[0] != 0))" ( (binary_expression "(pcVar17 != (code *)0x0) &&\n           ((*pcVar17)(&pPVar1->plugin_input_file_,aiStack_58), aiStack_58[0] != 0)" (parenthesized_expression "(pcVar17 != (code *)0x0)" ( (binary_expression "pcVar17 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*pcVar17)(&pPVar1->plugin_input_file_,aiStack_58), aiStack_58[0] != 0)" ( (comma_expression "(*pcVar17)(&pPVar1->plugin_input_file_,aiStack_58), aiStack_58[0] != 0" (call_expression "(*pcVar17)(&pPVar1->plugin_input_file_,aiStack_58)" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "(&pPVar1->plugin_input_file_,aiStack_58)" ( (pointer_expression "&pPVar1->plugin_input_file_" & (field_expression "pPVar1->plugin_input_file_" identifier -> field_identifier)) , identifier ))) , (binary_expression "aiStack_58[0] != 0" (subscript_expression "aiStack_58[0]" identifier [ number_literal ]) != number_literal)) ))) )) (compound_statement "{\n          pPVar1->in_claim_file_handler_ = false;\n          pPVar1->any_claimed_ = true;\n          if (pPVar1->recorder_ != (Plugin_recorder *)0x0) {\n            if (pOStack_10 != (Object *)0x0) {\n              obj_name = &pOStack_10->name_;\n            }\n            Plugin_recorder::claimed_file\n                      (pPVar1->recorder_,obj_name,CONCAT44(0x43a1d0,uStack_14),\n                       CONCAT44(&((pPVar1->current_)._M_node[1]._M_next)->_M_prev,in_stack_ffffff9c)\n                       ,plugin_name);\n          }\n          ppOVar9 = (pPVar1->objects_).\n                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n                    _M_start;\n          if ((handle_00 <\n               (void *)((int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n                             _M_impl._M_finish - (int)ppOVar9 >> 2)) &&\n             (piVar7 = *(int **)((int)ppOVar9 + iVar14),\n             iVar3 = (**(code **)(*piVar7 + 0x14))(piVar7), iVar3 != 0)) {\n            piVar7 = *(int **)((int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>\n                                    ._M_impl._M_start + iVar14);\n            pPVar2 = (Pluginobj *)(**(code **)(*piVar7 + 0x14))(piVar7);\n          }\n          else {\n            pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle_00);\n          }\n          goto LAB_001e889c;\n        }" { (expression_statement "pPVar1->in_claim_file_handler_ = false;" (assignment_expression "pPVar1->in_claim_file_handler_ = false" (field_expression "pPVar1->in_claim_file_handler_" identifier -> field_identifier) = false) ;) (expression_statement "pPVar1->any_claimed_ = true;" (assignment_expression "pPVar1->any_claimed_ = true" (field_expression "pPVar1->any_claimed_" identifier -> field_identifier) = true) ;) (if_statement "if (pPVar1->recorder_ != (Plugin_recorder *)0x0) {\n            if (pOStack_10 != (Object *)0x0) {\n              obj_name = &pOStack_10->name_;\n            }\n            Plugin_recorder::claimed_file\n                      (pPVar1->recorder_,obj_name,CONCAT44(0x43a1d0,uStack_14),\n                       CONCAT44(&((pPVar1->current_)._M_node[1]._M_next)->_M_prev,in_stack_ffffff9c)\n                       ,plugin_name);\n          }" if (parenthesized_expression "(pPVar1->recorder_ != (Plugin_recorder *)0x0)" ( (binary_expression "pPVar1->recorder_ != (Plugin_recorder *)0x0" (field_expression "pPVar1->recorder_" identifier -> field_identifier) != (cast_expression "(Plugin_recorder *)0x0" ( (type_descriptor "Plugin_recorder *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if (pOStack_10 != (Object *)0x0) {\n              obj_name = &pOStack_10->name_;\n            }\n            Plugin_recorder::claimed_file\n                      (pPVar1->recorder_,obj_name,CONCAT44(0x43a1d0,uStack_14),\n                       CONCAT44(&((pPVar1->current_)._M_node[1]._M_next)->_M_prev,in_stack_ffffff9c)\n                       ,plugin_name);\n          }" { (if_statement "if (pOStack_10 != (Object *)0x0) {\n              obj_name = &pOStack_10->name_;\n            }" if (parenthesized_expression "(pOStack_10 != (Object *)0x0)" ( (binary_expression "pOStack_10 != (Object *)0x0" identifier != (cast_expression "(Object *)0x0" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              obj_name = &pOStack_10->name_;\n            }" { (expression_statement "obj_name = &pOStack_10->name_;" (assignment_expression "obj_name = &pOStack_10->name_" identifier = (pointer_expression "&pOStack_10->name_" & (field_expression "pOStack_10->name_" identifier -> field_identifier))) ;) })) (labeled_statement "Plugin_recorder::claimed_file\n                      (pPVar1->recorder_,obj_name,CONCAT44(0x43a1d0,uStack_14),\n                       CONCAT44(&((pPVar1->current_)._M_node[1]._M_next)->_M_prev,in_stack_ffffff9c)\n                       ,plugin_name);" statement_identifier : (ERROR ":" :) (expression_statement "claimed_file\n                      (pPVar1->recorder_,obj_name,CONCAT44(0x43a1d0,uStack_14),\n                       CONCAT44(&((pPVar1->current_)._M_node[1]._M_next)->_M_prev,in_stack_ffffff9c)\n                       ,plugin_name);" (call_expression "claimed_file\n                      (pPVar1->recorder_,obj_name,CONCAT44(0x43a1d0,uStack_14),\n                       CONCAT44(&((pPVar1->current_)._M_node[1]._M_next)->_M_prev,in_stack_ffffff9c)\n                       ,plugin_name)" identifier (argument_list "(pPVar1->recorder_,obj_name,CONCAT44(0x43a1d0,uStack_14),\n                       CONCAT44(&((pPVar1->current_)._M_node[1]._M_next)->_M_prev,in_stack_ffffff9c)\n                       ,plugin_name)" ( (field_expression "pPVar1->recorder_" identifier -> field_identifier) , identifier , (call_expression "CONCAT44(0x43a1d0,uStack_14)" identifier (argument_list "(0x43a1d0,uStack_14)" ( number_literal , identifier ))) , (call_expression "CONCAT44(&((pPVar1->current_)._M_node[1]._M_next)->_M_prev,in_stack_ffffff9c)" identifier (argument_list "(&((pPVar1->current_)._M_node[1]._M_next)->_M_prev,in_stack_ffffff9c)" ( (pointer_expression "&((pPVar1->current_)._M_node[1]._M_next)->_M_prev" & (field_expression "((pPVar1->current_)._M_node[1]._M_next)->_M_prev" (parenthesized_expression "((pPVar1->current_)._M_node[1]._M_next)" ( (field_expression "(pPVar1->current_)._M_node[1]._M_next" (subscript_expression "(pPVar1->current_)._M_node[1]" (field_expression "(pPVar1->current_)._M_node" (parenthesized_expression "(pPVar1->current_)" ( (field_expression "pPVar1->current_" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) . field_identifier) )) -> field_identifier)) , identifier ))) , identifier ))) ;)) })) (expression_statement "ppOVar9 = (pPVar1->objects_).\n                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n                    _M_start;" (field_expression "ppOVar9 = (pPVar1->objects_).\n                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl.\n                    _M_start" (field_expression "ppOVar9 = (pPVar1->objects_).\n                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>._M_impl" (binary_expression "ppOVar9 = (pPVar1->objects_).\n                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_" (binary_expression "ppOVar9 = (pPVar1->objects_).\n                    super__Vector_base<gold::Object*,_std::allocator<gold" (binary_expression "ppOVar9 = (pPVar1->objects_).\n                    super__Vector_base<gold::Object*,_std" (assignment_expression "ppOVar9 = (pPVar1->objects_).\n                    super__Vector_base<gold" identifier = (binary_expression "(pPVar1->objects_).\n                    super__Vector_base<gold" (field_expression "(pPVar1->objects_).\n                    super__Vector_base" (parenthesized_expression "(pPVar1->objects_)" ( (field_expression "pPVar1->objects_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Object" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Object" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((handle_00 <\n               (void *)((int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n                             _M_impl._M_finish - (int)ppOVar9 >> 2)) &&\n             (piVar7 = *(int **)((int)ppOVar9 + iVar14),\n             iVar3 = (**(code **)(*piVar7 + 0x14))(piVar7), iVar3 != 0)) {\n            piVar7 = *(int **)((int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>\n                                    ._M_impl._M_start + iVar14);\n            pPVar2 = (Pluginobj *)(**(code **)(*piVar7 + 0x14))(piVar7);\n          }\n          else {\n            pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle_00);\n          }" if (parenthesized_expression "((handle_00 <\n               (void *)((int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n                             _M_impl._M_finish - (int)ppOVar9 >> 2)) &&\n             (piVar7 = *(int **)((int)ppOVar9 + iVar14),\n             iVar3 = (**(code **)(*piVar7 + 0x14))(piVar7), iVar3 != 0))" ( (binary_expression "(handle_00 <\n               (void *)((int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n                             _M_impl._M_finish - (int)ppOVar9 >> 2)) &&\n             (piVar7 = *(int **)((int)ppOVar9 + iVar14),\n             iVar3 = (**(code **)(*piVar7 + 0x14))(piVar7), iVar3 != 0)" (parenthesized_expression "(handle_00 <\n               (void *)((int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n                             _M_impl._M_finish - (int)ppOVar9 >> 2))" ( (binary_expression "handle_00 <\n               (void *)((int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n                             _M_impl._M_finish - (int)ppOVar9 >> 2)" identifier < (cast_expression "(void *)((int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n                             _M_impl._M_finish - (int)ppOVar9 >> 2)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n                             _M_impl._M_finish - (int)ppOVar9 >> 2)" ( (binary_expression "(int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n                             _M_impl._M_finish - (int)ppOVar9 >> 2" (binary_expression "(int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n                             _M_impl._M_finish - (int)ppOVar9" (field_expression "(int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n                             _M_impl._M_finish" (field_expression "(int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>.\n                             _M_impl" (binary_expression "(int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_" (binary_expression "(int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std::allocator<gold" (binary_expression "(int)(pPVar1->objects_).\n                             super__Vector_base<gold::Object*,_std" (binary_expression "(int)(pPVar1->objects_).\n                             super__Vector_base<gold" (cast_expression "(int)(pPVar1->objects_).\n                             super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(pPVar1->objects_).\n                             super__Vector_base" (parenthesized_expression "(pPVar1->objects_)" ( (field_expression "pPVar1->objects_" identifier -> field_identifier) )) . field_identifier)) < identifier) (ERROR "::Object" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Object" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)ppOVar9" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )))) )) && (parenthesized_expression "(piVar7 = *(int **)((int)ppOVar9 + iVar14),\n             iVar3 = (**(code **)(*piVar7 + 0x14))(piVar7), iVar3 != 0)" ( (comma_expression "piVar7 = *(int **)((int)ppOVar9 + iVar14),\n             iVar3 = (**(code **)(*piVar7 + 0x14))(piVar7), iVar3 != 0" (assignment_expression "piVar7 = *(int **)((int)ppOVar9 + iVar14)" identifier = (pointer_expression "*(int **)((int)ppOVar9 + iVar14)" * (cast_expression "(int **)((int)ppOVar9 + iVar14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppOVar9 + iVar14)" ( (binary_expression "(int)ppOVar9 + iVar14" (cast_expression "(int)ppOVar9" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))))) , (comma_expression "iVar3 = (**(code **)(*piVar7 + 0x14))(piVar7), iVar3 != 0" (assignment_expression "iVar3 = (**(code **)(*piVar7 + 0x14))(piVar7)" identifier = (call_expression "(**(code **)(*piVar7 + 0x14))(piVar7)" (parenthesized_expression "(**(code **)(*piVar7 + 0x14))" ( (pointer_expression "**(code **)(*piVar7 + 0x14)" * (pointer_expression "*(code **)(*piVar7 + 0x14)" * (cast_expression "(code **)(*piVar7 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar7 + 0x14)" ( (binary_expression "*piVar7 + 0x14" (pointer_expression "*piVar7" * identifier) + number_literal) ))))) )) (argument_list "(piVar7)" ( identifier )))) , (binary_expression "iVar3 != 0" identifier != number_literal))) ))) )) (compound_statement "{\n            piVar7 = *(int **)((int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>\n                                    ._M_impl._M_start + iVar14);\n            pPVar2 = (Pluginobj *)(**(code **)(*piVar7 + 0x14))(piVar7);\n          }" { (expression_statement "piVar7 = *(int **)((int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>\n                                    ._M_impl._M_start + iVar14);" (assignment_expression "piVar7 = *(int **)((int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>\n                                    ._M_impl._M_start + iVar14)" identifier = (pointer_expression "*(int **)((int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>\n                                    ._M_impl._M_start + iVar14)" * (cast_expression "(int **)((int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>\n                                    ._M_impl._M_start + iVar14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>\n                                    ._M_impl._M_start + iVar14)" ( (binary_expression "(int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>\n                                    ._M_impl._M_start + iVar14" (field_expression "(int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>\n                                    ._M_impl._M_start" (field_expression "(int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_>\n                                    ._M_impl" (binary_expression "(int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std::allocator<gold::Object*>_" (binary_expression "(int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std::allocator<gold" (binary_expression "(int)(pPVar1->objects_).\n                                    super__Vector_base<gold::Object*,_std" (binary_expression "(int)(pPVar1->objects_).\n                                    super__Vector_base<gold" (cast_expression "(int)(pPVar1->objects_).\n                                    super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(pPVar1->objects_).\n                                    super__Vector_base" (parenthesized_expression "(pPVar1->objects_)" ( (field_expression "pPVar1->objects_" identifier -> field_identifier) )) . field_identifier)) < identifier) (ERROR "::Object" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Object" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) + identifier) ))))) ;) (expression_statement "pPVar2 = (Pluginobj *)(**(code **)(*piVar7 + 0x14))(piVar7);" (assignment_expression "pPVar2 = (Pluginobj *)(**(code **)(*piVar7 + 0x14))(piVar7)" identifier = (cast_expression "(Pluginobj *)(**(code **)(*piVar7 + 0x14))(piVar7)" ( (type_descriptor "Pluginobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*piVar7 + 0x14))(piVar7)" (parenthesized_expression "(**(code **)(*piVar7 + 0x14))" ( (pointer_expression "**(code **)(*piVar7 + 0x14)" * (pointer_expression "*(code **)(*piVar7 + 0x14)" * (cast_expression "(code **)(*piVar7 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar7 + 0x14)" ( (binary_expression "*piVar7 + 0x14" (pointer_expression "*piVar7" * identifier) + number_literal) ))))) )) (argument_list "(piVar7)" ( identifier ))))) ;) }) (else_clause "else {\n            pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle_00);\n          }" else (compound_statement "{\n            pPVar2 = Plugin_manager::make_plugin_object(pPVar1,(uint)handle_00);\n          }" { (ERROR "pPVar2 = Plugin_manager::" (assignment_expression "pPVar2 = Plugin_manager" identifier = identifier) : :) (expression_statement "make_plugin_object(pPVar1,(uint)handle_00);" (call_expression "make_plugin_object(pPVar1,(uint)handle_00)" identifier (argument_list "(pPVar1,(uint)handle_00)" ( identifier , (cast_expression "(uint)handle_00" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) }))) (goto_statement "goto LAB_001e889c;" goto statement_identifier ;) })) }) (else_clause "else {\n        pcVar17 = *(code **)(sVar6 + 0x34);\n        if (pcVar17 != (code *)0x0) {\n          (*pcVar17)(&pPVar1->plugin_input_file_);\n          pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;\n          (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n          if (pPVar5 == pPVar1) break;\n          goto LAB_001e8774;\n        }\n      }" else (compound_statement "{\n        pcVar17 = *(code **)(sVar6 + 0x34);\n        if (pcVar17 != (code *)0x0) {\n          (*pcVar17)(&pPVar1->plugin_input_file_);\n          pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;\n          (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n          if (pPVar5 == pPVar1) break;\n          goto LAB_001e8774;\n        }\n      }" { (expression_statement "pcVar17 = *(code **)(sVar6 + 0x34);" (assignment_expression "pcVar17 = *(code **)(sVar6 + 0x34)" identifier = (pointer_expression "*(code **)(sVar6 + 0x34)" * (cast_expression "(code **)(sVar6 + 0x34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar6 + 0x34)" ( (binary_expression "sVar6 + 0x34" identifier + number_literal) ))))) ;) (if_statement "if (pcVar17 != (code *)0x0) {\n          (*pcVar17)(&pPVar1->plugin_input_file_);\n          pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;\n          (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n          if (pPVar5 == pPVar1) break;\n          goto LAB_001e8774;\n        }" if (parenthesized_expression "(pcVar17 != (code *)0x0)" ( (binary_expression "pcVar17 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (*pcVar17)(&pPVar1->plugin_input_file_);\n          pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;\n          (pPVar1->current_)._M_node = (_List_node_base *)pPVar5;\n          if (pPVar5 == pPVar1) break;\n          goto LAB_001e8774;\n        }" { (expression_statement "(*pcVar17)(&pPVar1->plugin_input_file_);" (call_expression "(*pcVar17)(&pPVar1->plugin_input_file_)" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "(&pPVar1->plugin_input_file_)" ( (pointer_expression "&pPVar1->plugin_input_file_" & (field_expression "pPVar1->plugin_input_file_" identifier -> field_identifier)) ))) ;) (expression_statement "pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;" (assignment_expression "pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next" identifier = (cast_expression "(Plugin_manager *)((pPVar1->current_)._M_node)->_M_next" ( (type_descriptor "Plugin_manager *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((pPVar1->current_)._M_node)->_M_next" (parenthesized_expression "((pPVar1->current_)._M_node)" ( (field_expression "(pPVar1->current_)._M_node" (parenthesized_expression "(pPVar1->current_)" ( (field_expression "pPVar1->current_" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier))) ;) (expression_statement "(pPVar1->current_)._M_node = (_List_node_base *)pPVar5;" (assignment_expression "(pPVar1->current_)._M_node = (_List_node_base *)pPVar5" (field_expression "(pPVar1->current_)._M_node" (parenthesized_expression "(pPVar1->current_)" ( (field_expression "pPVar1->current_" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(_List_node_base *)pPVar5" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pPVar5 == pPVar1) break;" if (parenthesized_expression "(pPVar5 == pPVar1)" ( (binary_expression "pPVar5 == pPVar1" identifier == identifier) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_001e8774;" goto statement_identifier ;) })) }))) (expression_statement "pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next;" (assignment_expression "pPVar5 = (Plugin_manager *)((pPVar1->current_)._M_node)->_M_next" identifier = (cast_expression "(Plugin_manager *)((pPVar1->current_)._M_node)->_M_next" ( (type_descriptor "Plugin_manager *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((pPVar1->current_)._M_node)->_M_next" (parenthesized_expression "((pPVar1->current_)._M_node)" ( (field_expression "(pPVar1->current_)._M_node" (parenthesized_expression "(pPVar1->current_)" ( (field_expression "pPVar1->current_" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier))) ;) (expression_statement "(pPVar1->current_)._M_node = (_List_node_base *)pPVar5;" (assignment_expression "(pPVar1->current_)._M_node = (_List_node_base *)pPVar5" (field_expression "(pPVar1->current_)._M_node" (parenthesized_expression "(pPVar1->current_)" ( (field_expression "pPVar1->current_" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(_List_node_base *)pPVar5" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) while (parenthesized_expression "(pPVar5 != pPVar1)" ( (binary_expression "pPVar5 != pPVar1" identifier != identifier) )) ;)) (expression_statement "this = pPVar1->recorder_;" (assignment_expression "this = pPVar1->recorder_" identifier = (field_expression "pPVar1->recorder_" identifier -> field_identifier)) ;) }))) (expression_statement "pPVar1->in_claim_file_handler_ = false;" (assignment_expression "pPVar1->in_claim_file_handler_ = false" (field_expression "pPVar1->in_claim_file_handler_" identifier -> field_identifier) = false) ;) (if_statement "if (this != (Plugin_recorder *)0x0) {\n    Plugin_recorder::unclaimed_file\n              (this,obj_name,CONCAT44(0x43a1d0,uStack_14),\n               CONCAT44(in_stack_ffffff98,in_stack_ffffff9c));\n  }" if (parenthesized_expression "(this != (Plugin_recorder *)0x0)" ( (binary_expression "this != (Plugin_recorder *)0x0" identifier != (cast_expression "(Plugin_recorder *)0x0" ( (type_descriptor "Plugin_recorder *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    Plugin_recorder::unclaimed_file\n              (this,obj_name,CONCAT44(0x43a1d0,uStack_14),\n               CONCAT44(in_stack_ffffff98,in_stack_ffffff9c));\n  }" { (labeled_statement "Plugin_recorder::unclaimed_file\n              (this,obj_name,CONCAT44(0x43a1d0,uStack_14),\n               CONCAT44(in_stack_ffffff98,in_stack_ffffff9c));" statement_identifier : (ERROR ":" :) (expression_statement "unclaimed_file\n              (this,obj_name,CONCAT44(0x43a1d0,uStack_14),\n               CONCAT44(in_stack_ffffff98,in_stack_ffffff9c));" (call_expression "unclaimed_file\n              (this,obj_name,CONCAT44(0x43a1d0,uStack_14),\n               CONCAT44(in_stack_ffffff98,in_stack_ffffff9c))" identifier (argument_list "(this,obj_name,CONCAT44(0x43a1d0,uStack_14),\n               CONCAT44(in_stack_ffffff98,in_stack_ffffff9c))" ( identifier , identifier , (call_expression "CONCAT44(0x43a1d0,uStack_14)" identifier (argument_list "(0x43a1d0,uStack_14)" ( number_literal , identifier ))) , (call_expression "CONCAT44(in_stack_ffffff98,in_stack_ffffff9c)" identifier (argument_list "(in_stack_ffffff98,in_stack_ffffff9c)" ( identifier , identifier ))) ))) ;)) })) (expression_statement "pPVar2 = (Pluginobj *)0x0;" (assignment_expression "pPVar2 = (Pluginobj *)0x0" identifier = (cast_expression "(Pluginobj *)0x0" ( (type_descriptor "Pluginobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_001e889c:\n  pLVar4 = pLVar15->lock_;" statement_identifier : (expression_statement "pLVar4 = pLVar15->lock_;" (assignment_expression "pLVar4 = pLVar15->lock_" identifier = (field_expression "pLVar15->lock_" identifier -> field_identifier)) ;)) (expression_statement "(*pLVar4->_vptr_Lock_impl[3])(pLVar4);" (call_expression "(*pLVar4->_vptr_Lock_impl[3])(pLVar4)" (parenthesized_expression "(*pLVar4->_vptr_Lock_impl[3])" ( (pointer_expression "*pLVar4->_vptr_Lock_impl[3]" * (subscript_expression "pLVar4->_vptr_Lock_impl[3]" (field_expression "pLVar4->_vptr_Lock_impl" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pLVar4)" ( identifier ))) ;) (return_statement "return (ld_plugin_status)pPVar2;" return (cast_expression "(ld_plugin_status)pPVar2" ( (type_descriptor "ld_plugin_status" type_identifier) ) identifier) ;) })))
(translation_unit "undefined4 FUN_001e8564(uint param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  Plugin_manager *this;\n  int iVar1;\n  undefined4 uVar2;\n  \n  if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n    uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c);\n    return uVar2;\n  }\n  this = *(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c);\n  if (this != (Plugin_manager *)0x0) {\n    iVar1 = gold::Plugin_manager::make_plugin_object(this,param_1);\n    if (iVar1 != 0) {\n      *(undefined4 *)(iVar1 + 0x38) = param_2;\n      *(undefined4 *)(iVar1 + 0x3c) = param_3;\n      return 0;\n    }\n    return 3;\n  }\n  uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_DAT_0043226c + -0x7b3c,0x70e,PTR_DAT_0043226c + -0x7394);\n  return uVar2;\n}\n\n" (function_definition "undefined4 FUN_001e8564(uint param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  Plugin_manager *this;\n  int iVar1;\n  undefined4 uVar2;\n  \n  if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n    uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c);\n    return uVar2;\n  }\n  this = *(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c);\n  if (this != (Plugin_manager *)0x0) {\n    iVar1 = gold::Plugin_manager::make_plugin_object(this,param_1);\n    if (iVar1 != 0) {\n      *(undefined4 *)(iVar1 + 0x38) = param_2;\n      *(undefined4 *)(iVar1 + 0x3c) = param_3;\n      return 0;\n    }\n    return 3;\n  }\n  uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_DAT_0043226c + -0x7b3c,0x70e,PTR_DAT_0043226c + -0x7394);\n  return uVar2;\n}" type_identifier (function_declarator "FUN_001e8564(uint param_1,undefined4 param_2,undefined4 param_3)" identifier (parameter_list "(uint param_1,undefined4 param_2,undefined4 param_3)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  Plugin_manager *this;\n  int iVar1;\n  undefined4 uVar2;\n  \n  if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n    uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c);\n    return uVar2;\n  }\n  this = *(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c);\n  if (this != (Plugin_manager *)0x0) {\n    iVar1 = gold::Plugin_manager::make_plugin_object(this,param_1);\n    if (iVar1 != 0) {\n      *(undefined4 *)(iVar1 + 0x38) = param_2;\n      *(undefined4 *)(iVar1 + 0x3c) = param_3;\n      return 0;\n    }\n    return 3;\n  }\n  uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_DAT_0043226c + -0x7b3c,0x70e,PTR_DAT_0043226c + -0x7394);\n  return uVar2;\n}" { (declaration "Plugin_manager *this;" type_identifier (pointer_declarator "*this" * identifier) ;) (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (if_statement "if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n    uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c);\n    return uVar2;\n  }" if (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0" (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 8)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 8" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == number_literal) )) (compound_statement "{\n    uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c);\n    return uVar2;\n  }" { (expression_statement "uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c);" (assignment_expression "uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c)" identifier = (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5cec" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_0043226c + -0x742c" identifier + number_literal) )))) ;) (return_statement "return uVar2;" return identifier ;) })) (expression_statement "this = *(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c);" (assignment_expression "this = *(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c)" identifier = (pointer_expression "*(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c)" * (cast_expression "(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c)" ( (type_descriptor "Plugin_manager **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c" (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 8)" ( (binary_expression "*(int *)PTR_parameters_00432be0 + 8" (pointer_expression "*(int *)PTR_parameters_00432be0" * (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (this != (Plugin_manager *)0x0) {\n    iVar1 = gold::Plugin_manager::make_plugin_object(this,param_1);\n    if (iVar1 != 0) {\n      *(undefined4 *)(iVar1 + 0x38) = param_2;\n      *(undefined4 *)(iVar1 + 0x3c) = param_3;\n      return 0;\n    }\n    return 3;\n  }" if (parenthesized_expression "(this != (Plugin_manager *)0x0)" ( (binary_expression "this != (Plugin_manager *)0x0" identifier != (cast_expression "(Plugin_manager *)0x0" ( (type_descriptor "Plugin_manager *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar1 = gold::Plugin_manager::make_plugin_object(this,param_1);\n    if (iVar1 != 0) {\n      *(undefined4 *)(iVar1 + 0x38) = param_2;\n      *(undefined4 *)(iVar1 + 0x3c) = param_3;\n      return 0;\n    }\n    return 3;\n  }" { (ERROR "iVar1 = gold::" (assignment_expression "iVar1 = gold" identifier = identifier) : :) (labeled_statement "Plugin_manager::make_plugin_object(this,param_1);" statement_identifier : (ERROR ":" :) (expression_statement "make_plugin_object(this,param_1);" (call_expression "make_plugin_object(this,param_1)" identifier (argument_list "(this,param_1)" ( identifier , identifier ))) ;)) (if_statement "if (iVar1 != 0) {\n      *(undefined4 *)(iVar1 + 0x38) = param_2;\n      *(undefined4 *)(iVar1 + 0x3c) = param_3;\n      return 0;\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      *(undefined4 *)(iVar1 + 0x38) = param_2;\n      *(undefined4 *)(iVar1 + 0x3c) = param_3;\n      return 0;\n    }" { (expression_statement "*(undefined4 *)(iVar1 + 0x38) = param_2;" (assignment_expression "*(undefined4 *)(iVar1 + 0x38) = param_2" (pointer_expression "*(undefined4 *)(iVar1 + 0x38)" * (cast_expression "(undefined4 *)(iVar1 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x38)" ( (binary_expression "iVar1 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x3c) = param_3;" (assignment_expression "*(undefined4 *)(iVar1 + 0x3c) = param_3" (pointer_expression "*(undefined4 *)(iVar1 + 0x3c)" * (cast_expression "(undefined4 *)(iVar1 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3c)" ( (binary_expression "iVar1 + 0x3c" identifier + number_literal) )))) = identifier) ;) (return_statement "return 0;" return number_literal ;) })) (return_statement "return 3;" return number_literal ;) })) (expression_statement "uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_DAT_0043226c + -0x7b3c,0x70e,PTR_DAT_0043226c + -0x7394);" (assignment_expression "uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_DAT_0043226c + -0x7b3c,0x70e,PTR_DAT_0043226c + -0x7394)" identifier = (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_DAT_0043226c + -0x7b3c,0x70e,PTR_DAT_0043226c + -0x7394)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0043226c + -0x7b3c,0x70e,PTR_DAT_0043226c + -0x7394)" ( (binary_expression "PTR_DAT_0043226c + -0x7b3c" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_0043226c + -0x7394" identifier + number_literal) )))) ;) (return_statement "return uVar2;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (ERROR (assignment_expression IDENT = IDENT) : :) (labeled_statement statement_identifier : (ERROR :) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (return_statement return LIT ;) })) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (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 IDENT ;) })))
(function_definition "undefined4 FUN_001e8564(uint param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  Plugin_manager *this;\n  int iVar1;\n  undefined4 uVar2;\n  \n  if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n    uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c);\n    return uVar2;\n  }\n  this = *(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c);\n  if (this != (Plugin_manager *)0x0) {\n    iVar1 = gold::Plugin_manager::make_plugin_object(this,param_1);\n    if (iVar1 != 0) {\n      *(undefined4 *)(iVar1 + 0x38) = param_2;\n      *(undefined4 *)(iVar1 + 0x3c) = param_3;\n      return 0;\n    }\n    return 3;\n  }\n  uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_DAT_0043226c + -0x7b3c,0x70e,PTR_DAT_0043226c + -0x7394);\n  return uVar2;\n}" (type_identifier "undefined4") (function_declarator "FUN_001e8564(uint param_1,undefined4 param_2,undefined4 param_3)" (identifier "FUN_001e8564") (parameter_list "(uint param_1,undefined4 param_2,undefined4 param_3)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) () ")"))) (compound_statement "{\n  Plugin_manager *this;\n  int iVar1;\n  undefined4 uVar2;\n  \n  if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n    uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c);\n    return uVar2;\n  }\n  this = *(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c);\n  if (this != (Plugin_manager *)0x0) {\n    iVar1 = gold::Plugin_manager::make_plugin_object(this,param_1);\n    if (iVar1 != 0) {\n      *(undefined4 *)(iVar1 + 0x38) = param_2;\n      *(undefined4 *)(iVar1 + 0x3c) = param_3;\n      return 0;\n    }\n    return 3;\n  }\n  uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_DAT_0043226c + -0x7b3c,0x70e,PTR_DAT_0043226c + -0x7394);\n  return uVar2;\n}" ({ "{") (declaration "Plugin_manager *this;" (type_identifier "Plugin_manager") (pointer_declarator "*this" (* "*") (identifier "this")) (; ";")) (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (if_statement "if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {\n    uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c);\n    return uVar2;\n  }" (if "if") (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0)" (( "(") (binary_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0" (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8)" (* "*") (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 8)" (( "(") (binary_expression "*(int *)PTR_parameters_00432be0 + 8" (pointer_expression "*(int *)PTR_parameters_00432be0" (* "*") (cast_expression "(int *)PTR_parameters_00432be0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parameters_00432be0"))) (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c);\n    return uVar2;\n  }" ({ "{") (expression_statement "uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c);" (assignment_expression "uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c)" (identifier "uVar2") (= "=") (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c)" (( "(") (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5cec" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x5cec")) (, ",") (number_literal "0x5c") (, ",") (binary_expression "PTR_DAT_0043226c + -0x742c" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "-0x742c")) () ")")))) (; ";")) (return_statement "return uVar2;" (return "return") (identifier "uVar2") (; ";")) (} "}"))) (expression_statement "this = *(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c);" (assignment_expression "this = *(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c)" (identifier "this") (= "=") (pointer_expression "*(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c)" (* "*") (cast_expression "(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c)" (( "(") (type_descriptor "Plugin_manager **" (type_identifier "Plugin_manager") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c)" (( "(") (binary_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c" (pointer_expression "*(int *)(*(int *)PTR_parameters_00432be0 + 8)" (* "*") (cast_expression "(int *)(*(int *)PTR_parameters_00432be0 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_parameters_00432be0 + 8)" (( "(") (binary_expression "*(int *)PTR_parameters_00432be0 + 8" (pointer_expression "*(int *)PTR_parameters_00432be0" (* "*") (cast_expression "(int *)PTR_parameters_00432be0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parameters_00432be0"))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x594c")) () ")"))))) (; ";")) (if_statement "if (this != (Plugin_manager *)0x0) {\n    iVar1 = gold::Plugin_manager::make_plugin_object(this,param_1);\n    if (iVar1 != 0) {\n      *(undefined4 *)(iVar1 + 0x38) = param_2;\n      *(undefined4 *)(iVar1 + 0x3c) = param_3;\n      return 0;\n    }\n    return 3;\n  }" (if "if") (parenthesized_expression "(this != (Plugin_manager *)0x0)" (( "(") (binary_expression "this != (Plugin_manager *)0x0" (identifier "this") (!= "!=") (cast_expression "(Plugin_manager *)0x0" (( "(") (type_descriptor "Plugin_manager *" (type_identifier "Plugin_manager") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar1 = gold::Plugin_manager::make_plugin_object(this,param_1);\n    if (iVar1 != 0) {\n      *(undefined4 *)(iVar1 + 0x38) = param_2;\n      *(undefined4 *)(iVar1 + 0x3c) = param_3;\n      return 0;\n    }\n    return 3;\n  }" ({ "{") (ERROR "iVar1 = gold::" (assignment_expression "iVar1 = gold" (identifier "iVar1") (= "=") (identifier "gold")) (: ":") (: ":")) (labeled_statement "Plugin_manager::make_plugin_object(this,param_1);" (statement_identifier "Plugin_manager") (: ":") (ERROR ":" (: ":")) (expression_statement "make_plugin_object(this,param_1);" (call_expression "make_plugin_object(this,param_1)" (identifier "make_plugin_object") (argument_list "(this,param_1)" (( "(") (identifier "this") (, ",") (identifier "param_1") () ")"))) (; ";"))) (if_statement "if (iVar1 != 0) {\n      *(undefined4 *)(iVar1 + 0x38) = param_2;\n      *(undefined4 *)(iVar1 + 0x3c) = param_3;\n      return 0;\n    }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined4 *)(iVar1 + 0x38) = param_2;\n      *(undefined4 *)(iVar1 + 0x3c) = param_3;\n      return 0;\n    }" ({ "{") (expression_statement "*(undefined4 *)(iVar1 + 0x38) = param_2;" (assignment_expression "*(undefined4 *)(iVar1 + 0x38) = param_2" (pointer_expression "*(undefined4 *)(iVar1 + 0x38)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x38)" (( "(") (binary_expression "iVar1 + 0x38" (identifier "iVar1") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(undefined4 *)(iVar1 + 0x3c) = param_3;" (assignment_expression "*(undefined4 *)(iVar1 + 0x3c) = param_3" (pointer_expression "*(undefined4 *)(iVar1 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x3c)" (( "(") (binary_expression "iVar1 + 0x3c" (identifier "iVar1") (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (identifier "param_3")) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (return_statement "return 3;" (return "return") (number_literal "3") (; ";")) (} "}"))) (expression_statement "uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_DAT_0043226c + -0x7b3c,0x70e,PTR_DAT_0043226c + -0x7394);" (assignment_expression "uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_DAT_0043226c + -0x7b3c,0x70e,PTR_DAT_0043226c + -0x7394)" (identifier "uVar2") (= "=") (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_DAT_0043226c + -0x7b3c,0x70e,PTR_DAT_0043226c + -0x7394)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(PTR_DAT_0043226c + -0x7b3c,0x70e,PTR_DAT_0043226c + -0x7394)" (( "(") (binary_expression "PTR_DAT_0043226c + -0x7b3c" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "-0x7b3c")) (, ",") (number_literal "0x70e") (, ",") (binary_expression "PTR_DAT_0043226c + -0x7394" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "-0x7394")) () ")")))) (; ";")) (return_statement "return uVar2;" (return "return") (identifier "uVar2") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (ERROR (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (return_statement (number_literal)))) (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (return_statement (identifier)))))

undefined4 MASKED(uint param_1,undefined4 param_2,undefined4 param_3)

{
  Plugin_manager *this;
  int iVar1;
  undefined4 uVar2;
  
  if (*(int *)(*(int *)PTR_parameters_00432be0 + 8) == 0) {
    uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)
                      (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_DAT_0043226c + -0x742c);
    return uVar2;
  }
  this = *(Plugin_manager **)(*(int *)(*(int *)PTR_parameters_00432be0 + 8) + 0x594c);
  if (this != (Plugin_manager *)0x0) {
    iVar1 = gold::Plugin_manager::make_plugin_object(this,param_1);
    if (iVar1 != 0) {
      *(undefined4 *)(iVar1 + 0x38) = param_2;
      *(undefined4 *)(iVar1 + 0x3c) = param_3;
      return 0;
    }
    return 3;
  }
  uVar2 = (*(code *)PTR_do_gold_unreachable_004323c4)
                    (PTR_DAT_0043226c + -0x7b3c,0x70e,PTR_DAT_0043226c + -0x7394);
  return uVar2;
}

