
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* DWARF original prototype: mapped_type *
   operator[](_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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>,_true>
   * this, key_type * __k) */

mapped_type * __thiscall
std::__detail::
_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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>,_true>
::operator[](_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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>,_true>
             *this,key_type *__k)

{
  int *piVar1;
  pointer pcVar2;
  int iVar3;
  int iVar4;
  uint __code;
  __node_base *p_Var5;
  int *piVar6;
  uint local_3c;
  char local_34 [4];
  size_type local_30;
  __rehash_state local_20 [3];
  undefined4 uStack_14;
  
  uStack_14 = 0xe5afb;
  __code = _Hash_bytes((__k->_M_dataplus)._M_p,__k->_M_string_length,0xc70f6907);
  local_3c = __code % *(uint *)(this + 4);
  p_Var5 = _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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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_find_before_node
                     ((_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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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>_>
                       *)this,local_3c,__k,__code);
  if ((p_Var5 != (__node_base *)0x0) && (p_Var5->_M_nxt != (_Hash_node_base *)0x0)) {
    return (mapped_type *)(p_Var5->_M_nxt + 7);
  }
  piVar6 = (int *)operator_new(0x24);
  *piVar6 = 0;
  piVar6[1] = (int)(piVar6 + 3);
  pcVar2 = (__k->_M_dataplus)._M_p;
                    /* try { // try from 000e5b86 to 000e5b8a has its CatchHandler @ 000e5c30 */
  __cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::_M_construct<char*>
            ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)(piVar6 + 1),
             pcVar2,pcVar2 + __k->_M_string_length,0);
  local_20[0] = *(__rehash_state *)(this + 0x14);
  piVar6[7] = 0;
  _Prime_rehash_policy::_M_need_rehash((uint)local_34,(uint)(this + 0x10),*(uint *)(this + 4));
  if (local_34[0] != '\0') {
                    /* try { // try from 000e5bca to 000e5bce has its CatchHandler @ 000e5c2e */
    _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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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_rehash((_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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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>_>
                 *)this,local_30,local_20);
    local_3c = __code % *(uint *)(this + 4);
  }
  piVar6[8] = __code;
  iVar3 = *(int *)this;
  piVar1 = (int *)(iVar3 + local_3c * 4);
  if ((int *)*piVar1 == (int *)0x0) {
    iVar4 = *(int *)(this + 8);
    *(int **)(this + 8) = piVar6;
    *piVar6 = iVar4;
    if (iVar4 != 0) {
      *(int **)(iVar3 + (*(uint *)(iVar4 + 0x20) % *(uint *)(this + 4)) * 4) = piVar6;
    }
    *piVar1 = (int)(this + 8);
  }
  else {
    *piVar6 = *(int *)*piVar1;
    *(int **)*piVar1 = piVar6;
  }
  *(int *)(this + 0xc) = *(int *)(this + 0xc) + 1;
  return (mapped_type *)(piVar6 + 7);
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int * FUN_000e5af0(int *param_1,int *param_2)

{
  int *piVar1;
  int iVar2;
  int iVar3;
  uint uVar4;
  int *piVar5;
  uint local_3c;
  char local_34 [4];
  undefined4 local_30;
  int local_20 [3];
  undefined4 uStack_14;
  
  uStack_14 = 0xe5afb;
  uVar4 = FUN_001aa970(*param_2,param_2[1],0xc70f6907);
  local_3c = uVar4 % (uint)param_1[1];
  piVar5 = (int *)FUN_000e5930(param_1,local_3c,param_2,uVar4);
  if ((piVar5 != (int *)0x0) && (*piVar5 != 0)) {
    return (int *)(*piVar5 + 0x1c);
  }
  piVar5 = (int *)FUN_001aa8c0(0x24);
  *piVar5 = 0;
  piVar5[1] = (int)(piVar5 + 3);
                    /* try { // try from 000e5b86 to 000e5b8a has its CatchHandler @ 000e5c30 */
  FUN_0007c4c0(piVar5 + 1,*param_2,param_2[1] + *param_2,0);
  local_20[0] = param_1[5];
  piVar5[7] = 0;
  FUN_001f1b20(local_34,param_1 + 4,param_1[1],param_1[3],1);
  if (local_34[0] != '\0') {
                    /* try { // try from 000e5bca to 000e5bce has its CatchHandler @ 000e5c2e */
    FUN_000e59d0(param_1,local_30,local_20);
    local_3c = uVar4 % (uint)param_1[1];
  }
  piVar5[8] = uVar4;
  iVar2 = *param_1;
  piVar1 = (int *)(iVar2 + local_3c * 4);
  if ((int *)*piVar1 == (int *)0x0) {
    iVar3 = param_1[2];
    param_1[2] = (int)piVar5;
    *piVar5 = iVar3;
    if (iVar3 != 0) {
      *(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5;
    }
    *piVar1 = (int)(param_1 + 2);
  }
  else {
    *piVar5 = *(int *)*piVar1;
    *(int **)*piVar1 = piVar5;
  }
  param_1[3] = param_1[3] + 1;
  return piVar5 + 7;
}


PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00035680
ADD EBX,0x259505
SUB ESP,0x40
MOV EAX,dword ptr [EBP + 0xc]
MOV ESI,dword ptr [EBP + 0x8]
PUSH 0xc70f6907
PUSH dword ptr [EAX + 0x4]
PUSH dword ptr [EAX]
MOV dword ptr [EBP + -0x34],EBX
CALL 0x001aa970
XOR EDX,EDX
MOV ECX,EAX
MOV dword ptr [EBP + -0x3c],EAX
DIV dword ptr [ESI + 0x4]
PUSH ECX
PUSH dword ptr [EBP + 0xc]
PUSH EDX
PUSH ESI
MOV dword ptr [EBP + -0x38],EDX
CALL 0x000e5930
ADD ESP,0x20
TEST EAX,EAX
JZ 0x000e5b50
MOV EDX,dword ptr [EAX]
LEA EAX,[EDX + 0x1c]
TEST EDX,EDX
JZ 0x000e5b50
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x34]
PUSH 0x24
CALL 0x001aa8c0
MOV EBX,dword ptr [EBP + 0xc]
ADD ESP,0x10
MOV dword ptr [EAX],0x0
MOV EDI,EAX
LEA EDX,[EAX + 0x4]
LEA EAX,[EAX + 0xc]
MOV dword ptr [EDI + 0x4],EAX
MOV dword ptr [EBP + -0x40],EAX
MOV EAX,dword ptr [EBP + 0xc]
MOV EAX,dword ptr [EAX]
PUSH 0x0
MOV ECX,dword ptr [EBX + 0x4]
ADD ECX,EAX
PUSH ECX
PUSH EAX
PUSH EDX
CALL 0x0007c4c0
MOV EAX,dword ptr [ESI + 0x14]
LEA EDX,[ESI + 0x10]
MOV EBX,dword ptr [EBP + -0x34]
MOV dword ptr [EDI + 0x1c],0x0
MOV dword ptr [ESP],0x1
MOV dword ptr [EBP + -0x1c],EAX
LEA EAX,[EBP + -0x30]
PUSH dword ptr [ESI + 0xc]
PUSH dword ptr [ESI + 0x4]
PUSH EDX
PUSH EAX
CALL 0x001f1b20
MOV EAX,dword ptr [EBP + -0x2c]
ADD ESP,0x1c
CMP byte ptr [EBP + -0x30],0x0
JZ 0x000e5bdd
SUB ESP,0x4
LEA EDX,[EBP + -0x1c]
PUSH EDX
PUSH EAX
PUSH ESI
CALL 0x000e59d0
MOV EAX,dword ptr [EBP + -0x3c]
XOR EDX,EDX
ADD ESP,0x10
DIV dword ptr [ESI + 0x4]
MOV dword ptr [EBP + -0x38],EDX
MOV EAX,dword ptr [EBP + -0x3c]
MOV ECX,dword ptr [EBP + -0x38]
MOV dword ptr [EDI + 0x20],EAX
MOV EAX,dword ptr [ESI]
LEA ECX,[EAX + ECX*0x4]
MOV EBX,EAX
MOV EAX,dword ptr [ECX]
TEST EAX,EAX
JZ 0x000e5c10
MOV EAX,dword ptr [EAX]
MOV dword ptr [EDI],EAX
MOV EAX,dword ptr [ECX]
MOV dword ptr [EAX],EDI
ADD dword ptr [ESI + 0xc],0x1
LEA ESP,[EBP + -0xc]
LEA EAX,[EDI + 0x1c]
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [ESI + 0x8]
MOV dword ptr [ESI + 0x8],EDI
MOV dword ptr [EDI],EAX
TEST EAX,EAX
JZ 0x000e5c27
MOV EAX,dword ptr [EAX + 0x20]
XOR EDX,EDX
DIV dword ptr [ESI + 0x4]
MOV dword ptr [EBX + EDX*0x4],EDI
LEA EAX,[ESI + 0x8]
MOV dword ptr [ECX],EAX
JMP 0x000e5bfb
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint * FUN_000e5af0(int *param_1,int *param_2)\n\n{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  uint local_3c;\n  char local_34 [4];\n  undefined4 local_30;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xe5afb;\n  uVar4 = FUN_001aa970(*param_2,param_2[1],0xc70f6907);\n  local_3c = uVar4 % (uint)param_1[1];\n  piVar5 = (int *)FUN_000e5930(param_1,local_3c,param_2,uVar4);\n  if ((piVar5 != (int *)0x0) && (*piVar5 != 0)) {\n    return (int *)(*piVar5 + 0x1c);\n  }\n  piVar5 = (int *)FUN_001aa8c0(0x24);\n  *piVar5 = 0;\n  piVar5[1] = (int)(piVar5 + 3);\n                    /* try { // try from 000e5b86 to 000e5b8a has its CatchHandler @ 000e5c30 */\n  FUN_0007c4c0(piVar5 + 1,*param_2,param_2[1] + *param_2,0);\n  local_20[0] = param_1[5];\n  piVar5[7] = 0;\n  FUN_001f1b20(local_34,param_1 + 4,param_1[1],param_1[3],1);\n  if (local_34[0] != '\0') {\n                    /* try { // try from 000e5bca to 000e5bce has its CatchHandler @ 000e5c2e */\n    FUN_000e59d0(param_1,local_30,local_20);\n    local_3c = uVar4 % (uint)param_1[1];\n  }\n  piVar5[8] = uVar4;\n  iVar2 = *param_1;\n  piVar1 = (int *)(iVar2 + local_3c * 4);\n  if ((int *)*piVar1 == (int *)0x0) {\n    iVar3 = param_1[2];\n    param_1[2] = (int)piVar5;\n    *piVar5 = iVar3;\n    if (iVar3 != 0) {\n      *(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5;\n    }\n    *piVar1 = (int)(param_1 + 2);\n  }\n  else {\n    *piVar5 = *(int *)*piVar1;\n    *(int **)*piVar1 = piVar5;\n  }\n  param_1[3] = param_1[3] + 1;\n  return piVar5 + 7;\n}\n\n" comment (function_definition "int * FUN_000e5af0(int *param_1,int *param_2)\n\n{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  uint local_3c;\n  char local_34 [4];\n  undefined4 local_30;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xe5afb;\n  uVar4 = FUN_001aa970(*param_2,param_2[1],0xc70f6907);\n  local_3c = uVar4 % (uint)param_1[1];\n  piVar5 = (int *)FUN_000e5930(param_1,local_3c,param_2,uVar4);\n  if ((piVar5 != (int *)0x0) && (*piVar5 != 0)) {\n    return (int *)(*piVar5 + 0x1c);\n  }\n  piVar5 = (int *)FUN_001aa8c0(0x24);\n  *piVar5 = 0;\n  piVar5[1] = (int)(piVar5 + 3);\n                    /* try { // try from 000e5b86 to 000e5b8a has its CatchHandler @ 000e5c30 */\n  FUN_0007c4c0(piVar5 + 1,*param_2,param_2[1] + *param_2,0);\n  local_20[0] = param_1[5];\n  piVar5[7] = 0;\n  FUN_001f1b20(local_34,param_1 + 4,param_1[1],param_1[3],1);\n  if (local_34[0] != '\0') {\n                    /* try { // try from 000e5bca to 000e5bce has its CatchHandler @ 000e5c2e */\n    FUN_000e59d0(param_1,local_30,local_20);\n    local_3c = uVar4 % (uint)param_1[1];\n  }\n  piVar5[8] = uVar4;\n  iVar2 = *param_1;\n  piVar1 = (int *)(iVar2 + local_3c * 4);\n  if ((int *)*piVar1 == (int *)0x0) {\n    iVar3 = param_1[2];\n    param_1[2] = (int)piVar5;\n    *piVar5 = iVar3;\n    if (iVar3 != 0) {\n      *(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5;\n    }\n    *piVar1 = (int)(param_1 + 2);\n  }\n  else {\n    *piVar5 = *(int *)*piVar1;\n    *(int **)*piVar1 = piVar5;\n  }\n  param_1[3] = param_1[3] + 1;\n  return piVar5 + 7;\n}" primitive_type (pointer_declarator "* FUN_000e5af0(int *param_1,int *param_2)" * (function_declarator "FUN_000e5af0(int *param_1,int *param_2)" identifier (parameter_list "(int *param_1,int *param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) )))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  uint local_3c;\n  char local_34 [4];\n  undefined4 local_30;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xe5afb;\n  uVar4 = FUN_001aa970(*param_2,param_2[1],0xc70f6907);\n  local_3c = uVar4 % (uint)param_1[1];\n  piVar5 = (int *)FUN_000e5930(param_1,local_3c,param_2,uVar4);\n  if ((piVar5 != (int *)0x0) && (*piVar5 != 0)) {\n    return (int *)(*piVar5 + 0x1c);\n  }\n  piVar5 = (int *)FUN_001aa8c0(0x24);\n  *piVar5 = 0;\n  piVar5[1] = (int)(piVar5 + 3);\n                    /* try { // try from 000e5b86 to 000e5b8a has its CatchHandler @ 000e5c30 */\n  FUN_0007c4c0(piVar5 + 1,*param_2,param_2[1] + *param_2,0);\n  local_20[0] = param_1[5];\n  piVar5[7] = 0;\n  FUN_001f1b20(local_34,param_1 + 4,param_1[1],param_1[3],1);\n  if (local_34[0] != '\0') {\n                    /* try { // try from 000e5bca to 000e5bce has its CatchHandler @ 000e5c2e */\n    FUN_000e59d0(param_1,local_30,local_20);\n    local_3c = uVar4 % (uint)param_1[1];\n  }\n  piVar5[8] = uVar4;\n  iVar2 = *param_1;\n  piVar1 = (int *)(iVar2 + local_3c * 4);\n  if ((int *)*piVar1 == (int *)0x0) {\n    iVar3 = param_1[2];\n    param_1[2] = (int)piVar5;\n    *piVar5 = iVar3;\n    if (iVar3 != 0) {\n      *(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5;\n    }\n    *piVar1 = (int)(param_1 + 2);\n  }\n  else {\n    *piVar5 = *(int *)*piVar1;\n    *(int **)*piVar1 = piVar5;\n  }\n  param_1[3] = param_1[3] + 1;\n  return piVar5 + 7;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "char local_34 [4];" primitive_type (array_declarator "local_34 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "int local_20 [3];" primitive_type (array_declarator "local_20 [3]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0xe5afb;" (assignment_expression "uStack_14 = 0xe5afb" identifier = number_literal) ;) (expression_statement "uVar4 = FUN_001aa970(*param_2,param_2[1],0xc70f6907);" (assignment_expression "uVar4 = FUN_001aa970(*param_2,param_2[1],0xc70f6907)" identifier = (call_expression "FUN_001aa970(*param_2,param_2[1],0xc70f6907)" identifier (argument_list "(*param_2,param_2[1],0xc70f6907)" ( (pointer_expression "*param_2" * identifier) , (subscript_expression "param_2[1]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "local_3c = uVar4 % (uint)param_1[1];" (assignment_expression "local_3c = uVar4 % (uint)param_1[1]" identifier = (binary_expression "uVar4 % (uint)param_1[1]" identifier % (cast_expression "(uint)param_1[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[1]" identifier [ number_literal ])))) ;) (expression_statement "piVar5 = (int *)FUN_000e5930(param_1,local_3c,param_2,uVar4);" (assignment_expression "piVar5 = (int *)FUN_000e5930(param_1,local_3c,param_2,uVar4)" identifier = (cast_expression "(int *)FUN_000e5930(param_1,local_3c,param_2,uVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000e5930(param_1,local_3c,param_2,uVar4)" identifier (argument_list "(param_1,local_3c,param_2,uVar4)" ( identifier , identifier , identifier , identifier ))))) ;) (if_statement "if ((piVar5 != (int *)0x0) && (*piVar5 != 0)) {\n    return (int *)(*piVar5 + 0x1c);\n  }" if (parenthesized_expression "((piVar5 != (int *)0x0) && (*piVar5 != 0))" ( (binary_expression "(piVar5 != (int *)0x0) && (*piVar5 != 0)" (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*piVar5 != 0)" ( (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" * identifier) != number_literal) ))) )) (compound_statement "{\n    return (int *)(*piVar5 + 0x1c);\n  }" { (return_statement "return (int *)(*piVar5 + 0x1c);" return (cast_expression "(int *)(*piVar5 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar5 + 0x1c)" ( (binary_expression "*piVar5 + 0x1c" (pointer_expression "*piVar5" * identifier) + number_literal) ))) ;) })) (expression_statement "piVar5 = (int *)FUN_001aa8c0(0x24);" (assignment_expression "piVar5 = (int *)FUN_001aa8c0(0x24)" identifier = (cast_expression "(int *)FUN_001aa8c0(0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001aa8c0(0x24)" identifier (argument_list "(0x24)" ( number_literal ))))) ;) (expression_statement "*piVar5 = 0;" (assignment_expression "*piVar5 = 0" (pointer_expression "*piVar5" * identifier) = number_literal) ;) (expression_statement "piVar5[1] = (int)(piVar5 + 3);" (assignment_expression "piVar5[1] = (int)(piVar5 + 3)" (subscript_expression "piVar5[1]" identifier [ number_literal ]) = (cast_expression "(int)(piVar5 + 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar5 + 3)" ( (binary_expression "piVar5 + 3" identifier + number_literal) )))) ;) comment (expression_statement "FUN_0007c4c0(piVar5 + 1,*param_2,param_2[1] + *param_2,0);" (call_expression "FUN_0007c4c0(piVar5 + 1,*param_2,param_2[1] + *param_2,0)" identifier (argument_list "(piVar5 + 1,*param_2,param_2[1] + *param_2,0)" ( (binary_expression "piVar5 + 1" identifier + number_literal) , (pointer_expression "*param_2" * identifier) , (binary_expression "param_2[1] + *param_2" (subscript_expression "param_2[1]" identifier [ number_literal ]) + (pointer_expression "*param_2" * identifier)) , number_literal ))) ;) (expression_statement "local_20[0] = param_1[5];" (assignment_expression "local_20[0] = param_1[5]" (subscript_expression "local_20[0]" identifier [ number_literal ]) = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "piVar5[7] = 0;" (assignment_expression "piVar5[7] = 0" (subscript_expression "piVar5[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_001f1b20(local_34,param_1 + 4,param_1[1],param_1[3],1);" (call_expression "FUN_001f1b20(local_34,param_1 + 4,param_1[1],param_1[3],1)" identifier (argument_list "(local_34,param_1 + 4,param_1[1],param_1[3],1)" ( identifier , (binary_expression "param_1 + 4" identifier + number_literal) , (subscript_expression "param_1[1]" identifier [ number_literal ]) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , number_literal ))) ;) (if_statement "if (local_34[0] != '\0') {\n                    /* try { // try from 000e5bca to 000e5bce has its CatchHandler @ 000e5c2e */\n    FUN_000e59d0(param_1,local_30,local_20);\n    local_3c = uVar4 % (uint)param_1[1];\n  }" if (parenthesized_expression "(local_34[0] != '\0')" ( (binary_expression "local_34[0] != '\0'" (subscript_expression "local_34[0]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* try { // try from 000e5bca to 000e5bce has its CatchHandler @ 000e5c2e */\n    FUN_000e59d0(param_1,local_30,local_20);\n    local_3c = uVar4 % (uint)param_1[1];\n  }" { comment (expression_statement "FUN_000e59d0(param_1,local_30,local_20);" (call_expression "FUN_000e59d0(param_1,local_30,local_20)" identifier (argument_list "(param_1,local_30,local_20)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_3c = uVar4 % (uint)param_1[1];" (assignment_expression "local_3c = uVar4 % (uint)param_1[1]" identifier = (binary_expression "uVar4 % (uint)param_1[1]" identifier % (cast_expression "(uint)param_1[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[1]" identifier [ number_literal ])))) ;) })) (expression_statement "piVar5[8] = uVar4;" (assignment_expression "piVar5[8] = uVar4" (subscript_expression "piVar5[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = *param_1;" (assignment_expression "iVar2 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "piVar1 = (int *)(iVar2 + local_3c * 4);" (assignment_expression "piVar1 = (int *)(iVar2 + local_3c * 4)" identifier = (cast_expression "(int *)(iVar2 + local_3c * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + local_3c * 4)" ( (binary_expression "iVar2 + local_3c * 4" identifier + (binary_expression "local_3c * 4" identifier * number_literal)) )))) ;) (if_statement "if ((int *)*piVar1 == (int *)0x0) {\n    iVar3 = param_1[2];\n    param_1[2] = (int)piVar5;\n    *piVar5 = iVar3;\n    if (iVar3 != 0) {\n      *(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5;\n    }\n    *piVar1 = (int)(param_1 + 2);\n  }\n  else {\n    *piVar5 = *(int *)*piVar1;\n    *(int **)*piVar1 = piVar5;\n  }" if (parenthesized_expression "((int *)*piVar1 == (int *)0x0)" ( (binary_expression "(int *)*piVar1 == (int *)0x0" (cast_expression "(int *)*piVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar1" * identifier)) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar3 = param_1[2];\n    param_1[2] = (int)piVar5;\n    *piVar5 = iVar3;\n    if (iVar3 != 0) {\n      *(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5;\n    }\n    *piVar1 = (int)(param_1 + 2);\n  }" { (expression_statement "iVar3 = param_1[2];" (assignment_expression "iVar3 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "param_1[2] = (int)piVar5;" (assignment_expression "param_1[2] = (int)piVar5" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*piVar5 = iVar3;" (assignment_expression "*piVar5 = iVar3" (pointer_expression "*piVar5" * identifier) = identifier) ;) (if_statement "if (iVar3 != 0) {\n      *(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5;\n    }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n      *(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5;\n    }" { (expression_statement "*(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5;" (assignment_expression "*(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5" (pointer_expression "*(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4)" * (cast_expression "(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4)" ( (binary_expression "iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4" identifier + (binary_expression "(*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4" (parenthesized_expression "(*(uint *)(iVar3 + 0x20) % (uint)param_1[1])" ( (binary_expression "*(uint *)(iVar3 + 0x20) % (uint)param_1[1]" (pointer_expression "*(uint *)(iVar3 + 0x20)" * (cast_expression "(uint *)(iVar3 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x20)" ( (binary_expression "iVar3 + 0x20" identifier + number_literal) )))) % (cast_expression "(uint)param_1[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) )) * number_literal)) )))) = identifier) ;) })) (expression_statement "*piVar1 = (int)(param_1 + 2);" (assignment_expression "*piVar1 = (int)(param_1 + 2)" (pointer_expression "*piVar1" * identifier) = (cast_expression "(int)(param_1 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) ;) }) (else_clause "else {\n    *piVar5 = *(int *)*piVar1;\n    *(int **)*piVar1 = piVar5;\n  }" else (compound_statement "{\n    *piVar5 = *(int *)*piVar1;\n    *(int **)*piVar1 = piVar5;\n  }" { (expression_statement "*piVar5 = *(int *)*piVar1;" (assignment_expression "*piVar5 = *(int *)*piVar1" (pointer_expression "*piVar5" * identifier) = (pointer_expression "*(int *)*piVar1" * (cast_expression "(int *)*piVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar1" * identifier)))) ;) (expression_statement "*(int **)*piVar1 = piVar5;" (assignment_expression "*(int **)*piVar1 = piVar5" (pointer_expression "*(int **)*piVar1" * (cast_expression "(int **)*piVar1" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*piVar1" * identifier))) = identifier) ;) }))) (expression_statement "param_1[3] = param_1[3] + 1;" (assignment_expression "param_1[3] = param_1[3] + 1" (subscript_expression "param_1[3]" identifier [ number_literal ]) = (binary_expression "param_1[3] + 1" (subscript_expression "param_1[3]" identifier [ number_literal ]) + number_literal)) ;) (return_statement "return piVar5 + 7;" return (binary_expression "piVar5 + 7" identifier + number_literal) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* DWARF original prototype: mapped_type *\n   operator[](_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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>,_true>\n   * this, key_type * __k) */\n\nmapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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>,_true>\n::operator[](_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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>,_true>\n             *this,key_type *__k)\n\n{\n  int *piVar1;\n  pointer pcVar2;\n  int iVar3;\n  int iVar4;\n  uint __code;\n  __node_base *p_Var5;\n  int *piVar6;\n  uint local_3c;\n  char local_34 [4];\n  size_type local_30;\n  __rehash_state local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xe5afb;\n  __code = _Hash_bytes((__k->_M_dataplus)._M_p,__k->_M_string_length,0xc70f6907);\n  local_3c = __code % *(uint *)(this + 4);\n  p_Var5 = _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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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           ::_M_find_before_node\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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                       *)this,local_3c,__k,__code);\n  if ((p_Var5 != (__node_base *)0x0) && (p_Var5->_M_nxt != (_Hash_node_base *)0x0)) {\n    return (mapped_type *)(p_Var5->_M_nxt + 7);\n  }\n  piVar6 = (int *)operator_new(0x24);\n  *piVar6 = 0;\n  piVar6[1] = (int)(piVar6 + 3);\n  pcVar2 = (__k->_M_dataplus)._M_p;\n                    /* try { // try from 000e5b86 to 000e5b8a has its CatchHandler @ 000e5c30 */\n  __cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::_M_construct<char*>\n            ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)(piVar6 + 1),\n             pcVar2,pcVar2 + __k->_M_string_length,0);\n  local_20[0] = *(__rehash_state *)(this + 0x14);\n  piVar6[7] = 0;\n  _Prime_rehash_policy::_M_need_rehash((uint)local_34,(uint)(this + 0x10),*(uint *)(this + 4));\n  if (local_34[0] != '\0') {\n                    /* try { // try from 000e5bca to 000e5bce has its CatchHandler @ 000e5c2e */\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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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    ::_M_rehash((_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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                 *)this,local_30,local_20);\n    local_3c = __code % *(uint *)(this + 4);\n  }\n  piVar6[8] = __code;\n  iVar3 = *(int *)this;\n  piVar1 = (int *)(iVar3 + local_3c * 4);\n  if ((int *)*piVar1 == (int *)0x0) {\n    iVar4 = *(int *)(this + 8);\n    *(int **)(this + 8) = piVar6;\n    *piVar6 = iVar4;\n    if (iVar4 != 0) {\n      *(int **)(iVar3 + (*(uint *)(iVar4 + 0x20) % *(uint *)(this + 4)) * 4) = piVar6;\n    }\n    *piVar1 = (int)(this + 8);\n  }\n  else {\n    *piVar6 = *(int *)*piVar1;\n    *(int **)*piVar1 = piVar6;\n  }\n  *(int *)(this + 0xc) = *(int *)(this + 0xc) + 1;\n  return (mapped_type *)(piVar6 + 7);\n}\n\n" comment comment (expression_statement "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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>,_true>\n::operator[](_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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>,_true>\n             *this,key_type *__k)\n\n{\n  int *piVar1;" (update_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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>,_true>\n::operator[](_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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>,_true>\n             *this,key_type *__k)\n\n{\n  int *piVar1" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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>,_true>\n::operator[](_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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>,_true>\n             *this,key_type *__k)\n\n{\n  int *piVar1" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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>,_true" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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>_>_" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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>_" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_std::__detail::_Select1st,_std::equal_to<std" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_std" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<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>_" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<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" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<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" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std::__cxx11::basic_string<char" (binary_expression "mapped_type * __thiscall\nstd::__detail::\n_Map_base<std" (binary_expression "mapped_type * __thiscall" identifier * identifier) (ERROR "std::__detail::\n_Map_base" identifier : : identifier : : identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) (ERROR ",_std::char_traits" , identifier : : identifier) < identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) > (ERROR "," ,) identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) (ERROR ",_std::char_traits" , identifier : : identifier) < identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) > (ERROR "," ,) identifier) (ERROR "::options::One_option" : : identifier : : identifier) * (ERROR ">," > ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) (ERROR ",_std::char_traits" , identifier : : identifier) < identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) > (ERROR "," ,) identifier) (ERROR "::options::One_option" : : identifier : : identifier) * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) (ERROR "::__detail::_Select1st,_std::equal_to" : : identifier : : identifier , identifier : : identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) (ERROR ",_std::char_traits" , identifier : : identifier) < identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) (ERROR "::hash" : : identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) (ERROR ",_std::char_traits" , identifier : : identifier) < identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) (ERROR "::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits" : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier) < true) (ERROR ",_false,_true" , identifier , identifier) > (ERROR "," ,) identifier) > (ERROR "::" : :) (binary_expression "operator[](_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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>,_true>\n             *this,key_type *__k)\n\n{\n  int *piVar1" (call_expression "operator[](_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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>,_true>\n             *this,key_type *__k)" (subscript_expression "operator[]" identifier [ identifier ]) (argument_list "(_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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>,_true>\n             *this,key_type *__k)" ( (binary_expression "_Map_base<std::__cxx11::basic_string<char" (binary_expression "_Map_base<std" identifier < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , (ERROR "_std::" identifier : :) (binary_expression "char_traits<char" identifier < identifier) (ERROR ">" >) , (ERROR "_std::" identifier : :) (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) (ERROR ">" >) , (ERROR "_std::pair<const_std::__cxx11::" identifier : : (binary_expression "pair<const_std" identifier < identifier) : : identifier : :) (binary_expression "basic_string<char" identifier < identifier) , (ERROR "_std::" identifier : :) (binary_expression "char_traits<char" identifier < identifier) (ERROR ">" >) , (ERROR "_std::" identifier : :) (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) (ERROR ">" >) , (ERROR "_gold::options::" identifier : : identifier : :) identifier (ERROR "*>" * >) , (ERROR "_std::allocator<std::pair<const_std::__cxx11::" identifier : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : identifier : :) (binary_expression "basic_string<char" identifier < identifier) , (ERROR "_std::" identifier : :) (binary_expression "char_traits<char" identifier < identifier) (ERROR ">" >) , (ERROR "_std::" identifier : :) (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) (ERROR ">" >) , (ERROR "_gold::options::" identifier : : identifier : :) (binary_expression "One_option*>_" identifier * (ERROR ">" >) identifier) (ERROR ">" >) , (ERROR "_std::__detail::" identifier : : identifier : :) identifier , (ERROR "_std::equal_to<std::__cxx11::" identifier : : (binary_expression "equal_to<std" identifier < identifier) : : identifier : :) (binary_expression "basic_string<char" identifier < identifier) , (ERROR "_std::" identifier : :) (binary_expression "char_traits<char" identifier < identifier) (ERROR ">" >) , (ERROR "_std::" identifier : :) (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR ">" >) , (ERROR "_std::hash<std::__cxx11::" identifier : : (binary_expression "hash<std" identifier < identifier) : : identifier : :) (binary_expression "basic_string<char" identifier < identifier) , (ERROR "_std::" identifier : :) (binary_expression "char_traits<char" identifier < identifier) (ERROR ">" >) , (ERROR "_std::" identifier : :) (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR ">" >) , (ERROR "_std::__detail::" identifier : : identifier : :) identifier , (ERROR "_std::__detail::" identifier : : identifier : :) identifier , (ERROR "_std::__detail::" identifier : : identifier : :) identifier , (ERROR "_std::__detail::" identifier : : identifier : :) (binary_expression "_Hashtable_traits<true" identifier < true) , identifier , identifier (ERROR ">" >) , (binary_expression "_true>\n             *this" identifier > (pointer_expression "*this" * identifier)) , (binary_expression "key_type *__k" identifier * identifier) ))) (ERROR "{\n  int" { primitive_type) * identifier)) --) ;) (declaration "pointer pcVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint __code;" type_identifier identifier ;) (declaration "__node_base *p_Var5;" type_identifier (pointer_declarator "*p_Var5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "char local_34 [4];" primitive_type (array_declarator "local_34 [4]" identifier [ number_literal ]) ;) (declaration "size_type local_30;" type_identifier identifier ;) (declaration "__rehash_state local_20 [3];" type_identifier (array_declarator "local_20 [3]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0xe5afb;" (assignment_expression "uStack_14 = 0xe5afb" identifier = number_literal) ;) (expression_statement "__code = _Hash_bytes((__k->_M_dataplus)._M_p,__k->_M_string_length,0xc70f6907);" (assignment_expression "__code = _Hash_bytes((__k->_M_dataplus)._M_p,__k->_M_string_length,0xc70f6907)" identifier = (call_expression "_Hash_bytes((__k->_M_dataplus)._M_p,__k->_M_string_length,0xc70f6907)" identifier (argument_list "((__k->_M_dataplus)._M_p,__k->_M_string_length,0xc70f6907)" ( (field_expression "(__k->_M_dataplus)._M_p" (parenthesized_expression "(__k->_M_dataplus)" ( (field_expression "__k->_M_dataplus" identifier -> field_identifier) )) . field_identifier) , (field_expression "__k->_M_string_length" identifier -> field_identifier) , number_literal )))) ;) (expression_statement "local_3c = __code % *(uint *)(this + 4);" (assignment_expression "local_3c = __code % *(uint *)(this + 4)" identifier = (binary_expression "__code % *(uint *)(this + 4)" identifier % (pointer_expression "*(uint *)(this + 4)" * (cast_expression "(uint *)(this + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))))) ;) (ERROR "p_Var5 = _Hashtable<std::" (assignment_expression "p_Var5 = _Hashtable<std" identifier = (binary_expression "_Hashtable<std" identifier < identifier)) : :) (labeled_statement "__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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           ::_M_find_before_node\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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                       *)this,local_3c,__k,__code);" statement_identifier (ERROR "::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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 "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold" identifier (ERROR "::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (comma_expression "One_option*>,_std" 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>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : : (binary_expression "options::One_option*>_>,_std" (binary_expression "options::One_option*>_" identifier (ERROR "::One_option*" : : 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           ::_M_find_before_node\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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                       *)this,local_3c,__k,__code);" 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           ::_M_find_before_node\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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                       *)this,local_3c,__k,__code);" 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           ::_M_find_before_node\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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                       *)this,local_3c,__k,__code);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_false,_true>_>\n           ::_M_find_before_node\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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                       *)this,local_3c,__k,__code);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_false,_true>_>\n           ::_M_find_before_node\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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                       *)this,local_3c,__k,__code);" (comma_expression "_Hashtable_traits<true,_false,_true>_>\n           ::_M_find_before_node\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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                       *)this,local_3c,__k,__code)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n           ::_M_find_before_node\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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                       *)this,local_3c,__k,__code)" identifier , (binary_expression "_true>_>\n           ::_M_find_before_node\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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                       *)this,local_3c,__k,__code)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "_M_find_before_node\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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                       *)this,local_3c,__k,__code)" identifier (argument_list "((_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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                       *)this,local_3c,__k,__code)" ( (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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                       *)this,local_3c,__k,__code)" ( (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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "One_option*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (binary_expression "One_option*>_>,_std" (binary_expression "One_option*>_" identifier * (ERROR ">" >) 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                       *)this,local_3c,__k,__code" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n                       *)this,local_3c,__k,__code" identifier , (comma_expression "_true>_>\n                       *)this,local_3c,__k,__code" (binary_expression "_true>_>\n                       *)this" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*)this" * (ERROR ")" )) identifier)) , (comma_expression "local_3c,__k,__code" identifier , (comma_expression "__k,__code" identifier , identifier))))) )) )))))) ;)))))) (if_statement "if ((p_Var5 != (__node_base *)0x0) && (p_Var5->_M_nxt != (_Hash_node_base *)0x0)) {\n    return (mapped_type *)(p_Var5->_M_nxt + 7);\n  }" if (parenthesized_expression "((p_Var5 != (__node_base *)0x0) && (p_Var5->_M_nxt != (_Hash_node_base *)0x0))" ( (binary_expression "(p_Var5 != (__node_base *)0x0) && (p_Var5->_M_nxt != (_Hash_node_base *)0x0)" (parenthesized_expression "(p_Var5 != (__node_base *)0x0)" ( (binary_expression "p_Var5 != (__node_base *)0x0" identifier != (cast_expression "(__node_base *)0x0" ( (type_descriptor "__node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(p_Var5->_M_nxt != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var5->_M_nxt != (_Hash_node_base *)0x0" (field_expression "p_Var5->_M_nxt" identifier -> field_identifier) != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n    return (mapped_type *)(p_Var5->_M_nxt + 7);\n  }" { (return_statement "return (mapped_type *)(p_Var5->_M_nxt + 7);" return (cast_expression "(mapped_type *)(p_Var5->_M_nxt + 7)" ( (type_descriptor "mapped_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var5->_M_nxt + 7)" ( (binary_expression "p_Var5->_M_nxt + 7" (field_expression "p_Var5->_M_nxt" identifier -> field_identifier) + number_literal) ))) ;) })) (expression_statement "piVar6 = (int *)operator_new(0x24);" (assignment_expression "piVar6 = (int *)operator_new(0x24)" identifier = (cast_expression "(int *)operator_new(0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x24)" identifier (argument_list "(0x24)" ( number_literal ))))) ;) (expression_statement "*piVar6 = 0;" (assignment_expression "*piVar6 = 0" (pointer_expression "*piVar6" * identifier) = number_literal) ;) (expression_statement "piVar6[1] = (int)(piVar6 + 3);" (assignment_expression "piVar6[1] = (int)(piVar6 + 3)" (subscript_expression "piVar6[1]" identifier [ number_literal ]) = (cast_expression "(int)(piVar6 + 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar6 + 3)" ( (binary_expression "piVar6 + 3" identifier + number_literal) )))) ;) (expression_statement "pcVar2 = (__k->_M_dataplus)._M_p;" (assignment_expression "pcVar2 = (__k->_M_dataplus)._M_p" identifier = (field_expression "(__k->_M_dataplus)._M_p" (parenthesized_expression "(__k->_M_dataplus)" ( (field_expression "__k->_M_dataplus" identifier -> field_identifier) )) . field_identifier)) ;) comment (labeled_statement "__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::_M_construct<char*>\n            ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)(piVar6 + 1),\n             pcVar2,pcVar2 + __k->_M_string_length,0);" statement_identifier (ERROR "::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>:" : : (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>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > :) : (expression_statement "_M_construct<char*>\n            ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)(piVar6 + 1),\n             pcVar2,pcVar2 + __k->_M_string_length,0);" (binary_expression "_M_construct<char*>\n            ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)(piVar6 + 1),\n             pcVar2,pcVar2 + __k->_M_string_length,0)" (binary_expression "_M_construct<char" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)(piVar6 + 1),\n             pcVar2,pcVar2 + __k->_M_string_length,0)" ( (comma_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)(piVar6 + 1),\n             pcVar2,pcVar2 + __k->_M_string_length,0" (call_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)(piVar6 + 1)" (parenthesized_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)" ( (ERROR "basic_string<char,_std::char_traits<char>,_std::" (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>_> *" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*" * identifier)) )) (argument_list "(piVar6 + 1)" ( (binary_expression "piVar6 + 1" identifier + number_literal) ))) , (comma_expression "pcVar2,pcVar2 + __k->_M_string_length,0" identifier , (comma_expression "pcVar2 + __k->_M_string_length,0" (binary_expression "pcVar2 + __k->_M_string_length" identifier + (field_expression "__k->_M_string_length" identifier -> field_identifier)) , number_literal))) ))) ;)) (expression_statement "local_20[0] = *(__rehash_state *)(this + 0x14);" (assignment_expression "local_20[0] = *(__rehash_state *)(this + 0x14)" (subscript_expression "local_20[0]" identifier [ number_literal ]) = (pointer_expression "*(__rehash_state *)(this + 0x14)" * (cast_expression "(__rehash_state *)(this + 0x14)" ( (type_descriptor "__rehash_state *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) ))))) ;) (expression_statement "piVar6[7] = 0;" (assignment_expression "piVar6[7] = 0" (subscript_expression "piVar6[7]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "_Prime_rehash_policy::_M_need_rehash((uint)local_34,(uint)(this + 0x10),*(uint *)(this + 4));" statement_identifier : (ERROR ":" :) (expression_statement "_M_need_rehash((uint)local_34,(uint)(this + 0x10),*(uint *)(this + 4));" (call_expression "_M_need_rehash((uint)local_34,(uint)(this + 0x10),*(uint *)(this + 4))" identifier (argument_list "((uint)local_34,(uint)(this + 0x10),*(uint *)(this + 4))" ( (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier) , (call_expression "(uint)(this + 0x10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) ))) , (pointer_expression "*(uint *)(this + 4)" * (cast_expression "(uint *)(this + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) ))) ;)) (if_statement "if (local_34[0] != '\0') {\n                    /* try { // try from 000e5bca to 000e5bce has its CatchHandler @ 000e5c2e */\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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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    ::_M_rehash((_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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                 *)this,local_30,local_20);\n    local_3c = __code % *(uint *)(this + 4);\n  }" if (parenthesized_expression "(local_34[0] != '\0')" ( (binary_expression "local_34[0] != '\0'" (subscript_expression "local_34[0]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* try { // try from 000e5bca to 000e5bce has its CatchHandler @ 000e5c2e */\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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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    ::_M_rehash((_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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                 *)this,local_30,local_20);\n    local_3c = __code % *(uint *)(this + 4);\n  }" { comment (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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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::" (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>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold" identifier (ERROR "::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (comma_expression "One_option*>,_std" 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>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : : (binary_expression "options::One_option*>_>,_std" (binary_expression "options::One_option*>_" identifier (ERROR "::One_option*" : : 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    ::_M_rehash((_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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                 *)this,local_30,local_20);" 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    ::_M_rehash((_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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                 *)this,local_30,local_20);" 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    ::_M_rehash((_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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                 *)this,local_30,local_20);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_false,_true>_>\n    ::_M_rehash((_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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                 *)this,local_30,local_20);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_false,_true>_>\n    ::_M_rehash((_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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                 *)this,local_30,local_20);" (comma_expression "_Hashtable_traits<true,_false,_true>_>\n    ::_M_rehash((_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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                 *)this,local_30,local_20)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n    ::_M_rehash((_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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                 *)this,local_30,local_20)" identifier , (binary_expression "_true>_>\n    ::_M_rehash((_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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                 *)this,local_30,local_20)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "_M_rehash((_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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                 *)this,local_30,local_20)" identifier (argument_list "((_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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                 *)this,local_30,local_20)" ( (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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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                 *)this,local_30,local_20)" ( (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>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "One_option*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (binary_expression "One_option*>_>,_std" (binary_expression "One_option*>_" identifier * (ERROR ">" >) 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                 *)this,local_30,local_20" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n                 *)this,local_30,local_20" identifier , (comma_expression "_true>_>\n                 *)this,local_30,local_20" (binary_expression "_true>_>\n                 *)this" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*)this" * (ERROR ")" )) identifier)) , (comma_expression "local_30,local_20" identifier , identifier)))) )) )))))) ;))))) (expression_statement "local_3c = __code % *(uint *)(this + 4);" (assignment_expression "local_3c = __code % *(uint *)(this + 4)" identifier = (binary_expression "__code % *(uint *)(this + 4)" identifier % (pointer_expression "*(uint *)(this + 4)" * (cast_expression "(uint *)(this + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))))) ;) })) (expression_statement "piVar6[8] = __code;" (assignment_expression "piVar6[8] = __code" (subscript_expression "piVar6[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar3 = *(int *)this;" (assignment_expression "iVar3 = *(int *)this" identifier = (pointer_expression "*(int *)this" * (cast_expression "(int *)this" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar1 = (int *)(iVar3 + local_3c * 4);" (assignment_expression "piVar1 = (int *)(iVar3 + local_3c * 4)" identifier = (cast_expression "(int *)(iVar3 + local_3c * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + local_3c * 4)" ( (binary_expression "iVar3 + local_3c * 4" identifier + (binary_expression "local_3c * 4" identifier * number_literal)) )))) ;) (if_statement "if ((int *)*piVar1 == (int *)0x0) {\n    iVar4 = *(int *)(this + 8);\n    *(int **)(this + 8) = piVar6;\n    *piVar6 = iVar4;\n    if (iVar4 != 0) {\n      *(int **)(iVar3 + (*(uint *)(iVar4 + 0x20) % *(uint *)(this + 4)) * 4) = piVar6;\n    }\n    *piVar1 = (int)(this + 8);\n  }\n  else {\n    *piVar6 = *(int *)*piVar1;\n    *(int **)*piVar1 = piVar6;\n  }" if (parenthesized_expression "((int *)*piVar1 == (int *)0x0)" ( (binary_expression "(int *)*piVar1 == (int *)0x0" (cast_expression "(int *)*piVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar1" * identifier)) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar4 = *(int *)(this + 8);\n    *(int **)(this + 8) = piVar6;\n    *piVar6 = iVar4;\n    if (iVar4 != 0) {\n      *(int **)(iVar3 + (*(uint *)(iVar4 + 0x20) % *(uint *)(this + 4)) * 4) = piVar6;\n    }\n    *piVar1 = (int)(this + 8);\n  }" { (expression_statement "iVar4 = *(int *)(this + 8);" (assignment_expression "iVar4 = *(int *)(this + 8)" identifier = (pointer_expression "*(int *)(this + 8)" * (cast_expression "(int *)(this + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) ))))) ;) (expression_statement "*(int **)(this + 8) = piVar6;" (assignment_expression "*(int **)(this + 8) = piVar6" (pointer_expression "*(int **)(this + 8)" * (cast_expression "(int **)(this + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*piVar6 = iVar4;" (assignment_expression "*piVar6 = iVar4" (pointer_expression "*piVar6" * identifier) = identifier) ;) (if_statement "if (iVar4 != 0) {\n      *(int **)(iVar3 + (*(uint *)(iVar4 + 0x20) % *(uint *)(this + 4)) * 4) = piVar6;\n    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      *(int **)(iVar3 + (*(uint *)(iVar4 + 0x20) % *(uint *)(this + 4)) * 4) = piVar6;\n    }" { (expression_statement "*(int **)(iVar3 + (*(uint *)(iVar4 + 0x20) % *(uint *)(this + 4)) * 4) = piVar6;" (assignment_expression "*(int **)(iVar3 + (*(uint *)(iVar4 + 0x20) % *(uint *)(this + 4)) * 4) = piVar6" (pointer_expression "*(int **)(iVar3 + (*(uint *)(iVar4 + 0x20) % *(uint *)(this + 4)) * 4)" * (cast_expression "(int **)(iVar3 + (*(uint *)(iVar4 + 0x20) % *(uint *)(this + 4)) * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + (*(uint *)(iVar4 + 0x20) % *(uint *)(this + 4)) * 4)" ( (binary_expression "iVar3 + (*(uint *)(iVar4 + 0x20) % *(uint *)(this + 4)) * 4" identifier + (binary_expression "(*(uint *)(iVar4 + 0x20) % *(uint *)(this + 4)) * 4" (parenthesized_expression "(*(uint *)(iVar4 + 0x20) % *(uint *)(this + 4))" ( (binary_expression "*(uint *)(iVar4 + 0x20) % *(uint *)(this + 4)" (pointer_expression "*(uint *)(iVar4 + 0x20)" * (cast_expression "(uint *)(iVar4 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x20)" ( (binary_expression "iVar4 + 0x20" identifier + number_literal) )))) % (pointer_expression "*(uint *)(this + 4)" * (cast_expression "(uint *)(this + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) ))))) )) * number_literal)) )))) = identifier) ;) })) (expression_statement "*piVar1 = (int)(this + 8);" (assignment_expression "*piVar1 = (int)(this + 8)" (pointer_expression "*piVar1" * identifier) = (cast_expression "(int)(this + 8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))) ;) }) (else_clause "else {\n    *piVar6 = *(int *)*piVar1;\n    *(int **)*piVar1 = piVar6;\n  }" else (compound_statement "{\n    *piVar6 = *(int *)*piVar1;\n    *(int **)*piVar1 = piVar6;\n  }" { (expression_statement "*piVar6 = *(int *)*piVar1;" (assignment_expression "*piVar6 = *(int *)*piVar1" (pointer_expression "*piVar6" * identifier) = (pointer_expression "*(int *)*piVar1" * (cast_expression "(int *)*piVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar1" * identifier)))) ;) (expression_statement "*(int **)*piVar1 = piVar6;" (assignment_expression "*(int **)*piVar1 = piVar6" (pointer_expression "*(int **)*piVar1" * (cast_expression "(int **)*piVar1" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*piVar1" * identifier))) = identifier) ;) }))) (expression_statement "*(int *)(this + 0xc) = *(int *)(this + 0xc) + 1;" (assignment_expression "*(int *)(this + 0xc) = *(int *)(this + 0xc) + 1" (pointer_expression "*(int *)(this + 0xc)" * (cast_expression "(int *)(this + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) )))) = (binary_expression "*(int *)(this + 0xc) + 1" (pointer_expression "*(int *)(this + 0xc)" * (cast_expression "(int *)(this + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) )))) + number_literal)) ;) (return_statement "return (mapped_type *)(piVar6 + 7);" return (cast_expression "(mapped_type *)(piVar6 + 7)" ( (type_descriptor "mapped_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar6 + 7)" ( (binary_expression "piVar6 + 7" identifier + number_literal) ))) ;) (ERROR "}" }))
(translation_unit "int * FUN_000e5af0(int *param_1,int *param_2)\n\n{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  uint local_3c;\n  char local_34 [4];\n  undefined4 local_30;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xe5afb;\n  uVar4 = FUN_001aa970(*param_2,param_2[1],0xc70f6907);\n  local_3c = uVar4 % (uint)param_1[1];\n  piVar5 = (int *)FUN_000e5930(param_1,local_3c,param_2,uVar4);\n  if ((piVar5 != (int *)0x0) && (*piVar5 != 0)) {\n    return (int *)(*piVar5 + 0x1c);\n  }\n  piVar5 = (int *)FUN_001aa8c0(0x24);\n  *piVar5 = 0;\n  piVar5[1] = (int)(piVar5 + 3);\n                    \n  FUN_0007c4c0(piVar5 + 1,*param_2,param_2[1] + *param_2,0);\n  local_20[0] = param_1[5];\n  piVar5[7] = 0;\n  FUN_001f1b20(local_34,param_1 + 4,param_1[1],param_1[3],1);\n  if (local_34[0] != '\0') {\n                    \n    FUN_000e59d0(param_1,local_30,local_20);\n    local_3c = uVar4 % (uint)param_1[1];\n  }\n  piVar5[8] = uVar4;\n  iVar2 = *param_1;\n  piVar1 = (int *)(iVar2 + local_3c * 4);\n  if ((int *)*piVar1 == (int *)0x0) {\n    iVar3 = param_1[2];\n    param_1[2] = (int)piVar5;\n    *piVar5 = iVar3;\n    if (iVar3 != 0) {\n      *(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5;\n    }\n    *piVar1 = (int)(param_1 + 2);\n  }\n  else {\n    *piVar5 = *(int *)*piVar1;\n    *(int **)*piVar1 = piVar5;\n  }\n  param_1[3] = param_1[3] + 1;\n  return piVar5 + 7;\n}\n\n" (function_definition "int * FUN_000e5af0(int *param_1,int *param_2)\n\n{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  uint local_3c;\n  char local_34 [4];\n  undefined4 local_30;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xe5afb;\n  uVar4 = FUN_001aa970(*param_2,param_2[1],0xc70f6907);\n  local_3c = uVar4 % (uint)param_1[1];\n  piVar5 = (int *)FUN_000e5930(param_1,local_3c,param_2,uVar4);\n  if ((piVar5 != (int *)0x0) && (*piVar5 != 0)) {\n    return (int *)(*piVar5 + 0x1c);\n  }\n  piVar5 = (int *)FUN_001aa8c0(0x24);\n  *piVar5 = 0;\n  piVar5[1] = (int)(piVar5 + 3);\n                    \n  FUN_0007c4c0(piVar5 + 1,*param_2,param_2[1] + *param_2,0);\n  local_20[0] = param_1[5];\n  piVar5[7] = 0;\n  FUN_001f1b20(local_34,param_1 + 4,param_1[1],param_1[3],1);\n  if (local_34[0] != '\0') {\n                    \n    FUN_000e59d0(param_1,local_30,local_20);\n    local_3c = uVar4 % (uint)param_1[1];\n  }\n  piVar5[8] = uVar4;\n  iVar2 = *param_1;\n  piVar1 = (int *)(iVar2 + local_3c * 4);\n  if ((int *)*piVar1 == (int *)0x0) {\n    iVar3 = param_1[2];\n    param_1[2] = (int)piVar5;\n    *piVar5 = iVar3;\n    if (iVar3 != 0) {\n      *(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5;\n    }\n    *piVar1 = (int)(param_1 + 2);\n  }\n  else {\n    *piVar5 = *(int *)*piVar1;\n    *(int **)*piVar1 = piVar5;\n  }\n  param_1[3] = param_1[3] + 1;\n  return piVar5 + 7;\n}" primitive_type (pointer_declarator "* FUN_000e5af0(int *param_1,int *param_2)" * (function_declarator "FUN_000e5af0(int *param_1,int *param_2)" identifier (parameter_list "(int *param_1,int *param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) )))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  uint local_3c;\n  char local_34 [4];\n  undefined4 local_30;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xe5afb;\n  uVar4 = FUN_001aa970(*param_2,param_2[1],0xc70f6907);\n  local_3c = uVar4 % (uint)param_1[1];\n  piVar5 = (int *)FUN_000e5930(param_1,local_3c,param_2,uVar4);\n  if ((piVar5 != (int *)0x0) && (*piVar5 != 0)) {\n    return (int *)(*piVar5 + 0x1c);\n  }\n  piVar5 = (int *)FUN_001aa8c0(0x24);\n  *piVar5 = 0;\n  piVar5[1] = (int)(piVar5 + 3);\n                    \n  FUN_0007c4c0(piVar5 + 1,*param_2,param_2[1] + *param_2,0);\n  local_20[0] = param_1[5];\n  piVar5[7] = 0;\n  FUN_001f1b20(local_34,param_1 + 4,param_1[1],param_1[3],1);\n  if (local_34[0] != '\0') {\n                    \n    FUN_000e59d0(param_1,local_30,local_20);\n    local_3c = uVar4 % (uint)param_1[1];\n  }\n  piVar5[8] = uVar4;\n  iVar2 = *param_1;\n  piVar1 = (int *)(iVar2 + local_3c * 4);\n  if ((int *)*piVar1 == (int *)0x0) {\n    iVar3 = param_1[2];\n    param_1[2] = (int)piVar5;\n    *piVar5 = iVar3;\n    if (iVar3 != 0) {\n      *(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5;\n    }\n    *piVar1 = (int)(param_1 + 2);\n  }\n  else {\n    *piVar5 = *(int *)*piVar1;\n    *(int **)*piVar1 = piVar5;\n  }\n  param_1[3] = param_1[3] + 1;\n  return piVar5 + 7;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "char local_34 [4];" primitive_type (array_declarator "local_34 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "int local_20 [3];" primitive_type (array_declarator "local_20 [3]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0xe5afb;" (assignment_expression "uStack_14 = 0xe5afb" identifier = number_literal) ;) (expression_statement "uVar4 = FUN_001aa970(*param_2,param_2[1],0xc70f6907);" (assignment_expression "uVar4 = FUN_001aa970(*param_2,param_2[1],0xc70f6907)" identifier = (call_expression "FUN_001aa970(*param_2,param_2[1],0xc70f6907)" identifier (argument_list "(*param_2,param_2[1],0xc70f6907)" ( (pointer_expression "*param_2" * identifier) , (subscript_expression "param_2[1]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "local_3c = uVar4 % (uint)param_1[1];" (assignment_expression "local_3c = uVar4 % (uint)param_1[1]" identifier = (binary_expression "uVar4 % (uint)param_1[1]" identifier % (cast_expression "(uint)param_1[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[1]" identifier [ number_literal ])))) ;) (expression_statement "piVar5 = (int *)FUN_000e5930(param_1,local_3c,param_2,uVar4);" (assignment_expression "piVar5 = (int *)FUN_000e5930(param_1,local_3c,param_2,uVar4)" identifier = (cast_expression "(int *)FUN_000e5930(param_1,local_3c,param_2,uVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000e5930(param_1,local_3c,param_2,uVar4)" identifier (argument_list "(param_1,local_3c,param_2,uVar4)" ( identifier , identifier , identifier , identifier ))))) ;) (if_statement "if ((piVar5 != (int *)0x0) && (*piVar5 != 0)) {\n    return (int *)(*piVar5 + 0x1c);\n  }" if (parenthesized_expression "((piVar5 != (int *)0x0) && (*piVar5 != 0))" ( (binary_expression "(piVar5 != (int *)0x0) && (*piVar5 != 0)" (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*piVar5 != 0)" ( (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" * identifier) != number_literal) ))) )) (compound_statement "{\n    return (int *)(*piVar5 + 0x1c);\n  }" { (return_statement "return (int *)(*piVar5 + 0x1c);" return (cast_expression "(int *)(*piVar5 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar5 + 0x1c)" ( (binary_expression "*piVar5 + 0x1c" (pointer_expression "*piVar5" * identifier) + number_literal) ))) ;) })) (expression_statement "piVar5 = (int *)FUN_001aa8c0(0x24);" (assignment_expression "piVar5 = (int *)FUN_001aa8c0(0x24)" identifier = (cast_expression "(int *)FUN_001aa8c0(0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001aa8c0(0x24)" identifier (argument_list "(0x24)" ( number_literal ))))) ;) (expression_statement "*piVar5 = 0;" (assignment_expression "*piVar5 = 0" (pointer_expression "*piVar5" * identifier) = number_literal) ;) (expression_statement "piVar5[1] = (int)(piVar5 + 3);" (assignment_expression "piVar5[1] = (int)(piVar5 + 3)" (subscript_expression "piVar5[1]" identifier [ number_literal ]) = (cast_expression "(int)(piVar5 + 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar5 + 3)" ( (binary_expression "piVar5 + 3" identifier + number_literal) )))) ;) (expression_statement "FUN_0007c4c0(piVar5 + 1,*param_2,param_2[1] + *param_2,0);" (call_expression "FUN_0007c4c0(piVar5 + 1,*param_2,param_2[1] + *param_2,0)" identifier (argument_list "(piVar5 + 1,*param_2,param_2[1] + *param_2,0)" ( (binary_expression "piVar5 + 1" identifier + number_literal) , (pointer_expression "*param_2" * identifier) , (binary_expression "param_2[1] + *param_2" (subscript_expression "param_2[1]" identifier [ number_literal ]) + (pointer_expression "*param_2" * identifier)) , number_literal ))) ;) (expression_statement "local_20[0] = param_1[5];" (assignment_expression "local_20[0] = param_1[5]" (subscript_expression "local_20[0]" identifier [ number_literal ]) = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "piVar5[7] = 0;" (assignment_expression "piVar5[7] = 0" (subscript_expression "piVar5[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_001f1b20(local_34,param_1 + 4,param_1[1],param_1[3],1);" (call_expression "FUN_001f1b20(local_34,param_1 + 4,param_1[1],param_1[3],1)" identifier (argument_list "(local_34,param_1 + 4,param_1[1],param_1[3],1)" ( identifier , (binary_expression "param_1 + 4" identifier + number_literal) , (subscript_expression "param_1[1]" identifier [ number_literal ]) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , number_literal ))) ;) (if_statement "if (local_34[0] != '\0') {\n                    \n    FUN_000e59d0(param_1,local_30,local_20);\n    local_3c = uVar4 % (uint)param_1[1];\n  }" if (parenthesized_expression "(local_34[0] != '\0')" ( (binary_expression "local_34[0] != '\0'" (subscript_expression "local_34[0]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    \n    FUN_000e59d0(param_1,local_30,local_20);\n    local_3c = uVar4 % (uint)param_1[1];\n  }" { (expression_statement "FUN_000e59d0(param_1,local_30,local_20);" (call_expression "FUN_000e59d0(param_1,local_30,local_20)" identifier (argument_list "(param_1,local_30,local_20)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_3c = uVar4 % (uint)param_1[1];" (assignment_expression "local_3c = uVar4 % (uint)param_1[1]" identifier = (binary_expression "uVar4 % (uint)param_1[1]" identifier % (cast_expression "(uint)param_1[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[1]" identifier [ number_literal ])))) ;) })) (expression_statement "piVar5[8] = uVar4;" (assignment_expression "piVar5[8] = uVar4" (subscript_expression "piVar5[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = *param_1;" (assignment_expression "iVar2 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "piVar1 = (int *)(iVar2 + local_3c * 4);" (assignment_expression "piVar1 = (int *)(iVar2 + local_3c * 4)" identifier = (cast_expression "(int *)(iVar2 + local_3c * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + local_3c * 4)" ( (binary_expression "iVar2 + local_3c * 4" identifier + (binary_expression "local_3c * 4" identifier * number_literal)) )))) ;) (if_statement "if ((int *)*piVar1 == (int *)0x0) {\n    iVar3 = param_1[2];\n    param_1[2] = (int)piVar5;\n    *piVar5 = iVar3;\n    if (iVar3 != 0) {\n      *(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5;\n    }\n    *piVar1 = (int)(param_1 + 2);\n  }\n  else {\n    *piVar5 = *(int *)*piVar1;\n    *(int **)*piVar1 = piVar5;\n  }" if (parenthesized_expression "((int *)*piVar1 == (int *)0x0)" ( (binary_expression "(int *)*piVar1 == (int *)0x0" (cast_expression "(int *)*piVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar1" * identifier)) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar3 = param_1[2];\n    param_1[2] = (int)piVar5;\n    *piVar5 = iVar3;\n    if (iVar3 != 0) {\n      *(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5;\n    }\n    *piVar1 = (int)(param_1 + 2);\n  }" { (expression_statement "iVar3 = param_1[2];" (assignment_expression "iVar3 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "param_1[2] = (int)piVar5;" (assignment_expression "param_1[2] = (int)piVar5" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*piVar5 = iVar3;" (assignment_expression "*piVar5 = iVar3" (pointer_expression "*piVar5" * identifier) = identifier) ;) (if_statement "if (iVar3 != 0) {\n      *(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5;\n    }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n      *(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5;\n    }" { (expression_statement "*(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5;" (assignment_expression "*(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5" (pointer_expression "*(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4)" * (cast_expression "(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4)" ( (binary_expression "iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4" identifier + (binary_expression "(*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4" (parenthesized_expression "(*(uint *)(iVar3 + 0x20) % (uint)param_1[1])" ( (binary_expression "*(uint *)(iVar3 + 0x20) % (uint)param_1[1]" (pointer_expression "*(uint *)(iVar3 + 0x20)" * (cast_expression "(uint *)(iVar3 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x20)" ( (binary_expression "iVar3 + 0x20" identifier + number_literal) )))) % (cast_expression "(uint)param_1[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) )) * number_literal)) )))) = identifier) ;) })) (expression_statement "*piVar1 = (int)(param_1 + 2);" (assignment_expression "*piVar1 = (int)(param_1 + 2)" (pointer_expression "*piVar1" * identifier) = (cast_expression "(int)(param_1 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) ;) }) (else_clause "else {\n    *piVar5 = *(int *)*piVar1;\n    *(int **)*piVar1 = piVar5;\n  }" else (compound_statement "{\n    *piVar5 = *(int *)*piVar1;\n    *(int **)*piVar1 = piVar5;\n  }" { (expression_statement "*piVar5 = *(int *)*piVar1;" (assignment_expression "*piVar5 = *(int *)*piVar1" (pointer_expression "*piVar5" * identifier) = (pointer_expression "*(int *)*piVar1" * (cast_expression "(int *)*piVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar1" * identifier)))) ;) (expression_statement "*(int **)*piVar1 = piVar5;" (assignment_expression "*(int **)*piVar1 = piVar5" (pointer_expression "*(int **)*piVar1" * (cast_expression "(int **)*piVar1" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*piVar1" * identifier))) = identifier) ;) }))) (expression_statement "param_1[3] = param_1[3] + 1;" (assignment_expression "param_1[3] = param_1[3] + 1" (subscript_expression "param_1[3]" identifier [ number_literal ]) = (binary_expression "param_1[3] + 1" (subscript_expression "param_1[3]" identifier [ number_literal ]) + number_literal)) ;) (return_statement "return piVar5 + 7;" return (binary_expression "piVar5 + 7" identifier + number_literal) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , (subscript_expression IDENT [ LIT ]) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT % (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * IDENT) , (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * IDENT)) , LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT % (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) % (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) * LIT)) )))) = IDENT) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) = IDENT) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (return_statement return (binary_expression IDENT + LIT) ;) })))
(function_definition "int * FUN_000e5af0(int *param_1,int *param_2)\n\n{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  uint local_3c;\n  char local_34 [4];\n  undefined4 local_30;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xe5afb;\n  uVar4 = FUN_001aa970(*param_2,param_2[1],0xc70f6907);\n  local_3c = uVar4 % (uint)param_1[1];\n  piVar5 = (int *)FUN_000e5930(param_1,local_3c,param_2,uVar4);\n  if ((piVar5 != (int *)0x0) && (*piVar5 != 0)) {\n    return (int *)(*piVar5 + 0x1c);\n  }\n  piVar5 = (int *)FUN_001aa8c0(0x24);\n  *piVar5 = 0;\n  piVar5[1] = (int)(piVar5 + 3);\n                    \n  FUN_0007c4c0(piVar5 + 1,*param_2,param_2[1] + *param_2,0);\n  local_20[0] = param_1[5];\n  piVar5[7] = 0;\n  FUN_001f1b20(local_34,param_1 + 4,param_1[1],param_1[3],1);\n  if (local_34[0] != '\0') {\n                    \n    FUN_000e59d0(param_1,local_30,local_20);\n    local_3c = uVar4 % (uint)param_1[1];\n  }\n  piVar5[8] = uVar4;\n  iVar2 = *param_1;\n  piVar1 = (int *)(iVar2 + local_3c * 4);\n  if ((int *)*piVar1 == (int *)0x0) {\n    iVar3 = param_1[2];\n    param_1[2] = (int)piVar5;\n    *piVar5 = iVar3;\n    if (iVar3 != 0) {\n      *(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5;\n    }\n    *piVar1 = (int)(param_1 + 2);\n  }\n  else {\n    *piVar5 = *(int *)*piVar1;\n    *(int **)*piVar1 = piVar5;\n  }\n  param_1[3] = param_1[3] + 1;\n  return piVar5 + 7;\n}" (primitive_type "int") (pointer_declarator "* FUN_000e5af0(int *param_1,int *param_2)" (* "*") (function_declarator "FUN_000e5af0(int *param_1,int *param_2)" (identifier "FUN_000e5af0") (parameter_list "(int *param_1,int *param_2)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")")))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  uint local_3c;\n  char local_34 [4];\n  undefined4 local_30;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xe5afb;\n  uVar4 = FUN_001aa970(*param_2,param_2[1],0xc70f6907);\n  local_3c = uVar4 % (uint)param_1[1];\n  piVar5 = (int *)FUN_000e5930(param_1,local_3c,param_2,uVar4);\n  if ((piVar5 != (int *)0x0) && (*piVar5 != 0)) {\n    return (int *)(*piVar5 + 0x1c);\n  }\n  piVar5 = (int *)FUN_001aa8c0(0x24);\n  *piVar5 = 0;\n  piVar5[1] = (int)(piVar5 + 3);\n                    \n  FUN_0007c4c0(piVar5 + 1,*param_2,param_2[1] + *param_2,0);\n  local_20[0] = param_1[5];\n  piVar5[7] = 0;\n  FUN_001f1b20(local_34,param_1 + 4,param_1[1],param_1[3],1);\n  if (local_34[0] != '\0') {\n                    \n    FUN_000e59d0(param_1,local_30,local_20);\n    local_3c = uVar4 % (uint)param_1[1];\n  }\n  piVar5[8] = uVar4;\n  iVar2 = *param_1;\n  piVar1 = (int *)(iVar2 + local_3c * 4);\n  if ((int *)*piVar1 == (int *)0x0) {\n    iVar3 = param_1[2];\n    param_1[2] = (int)piVar5;\n    *piVar5 = iVar3;\n    if (iVar3 != 0) {\n      *(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5;\n    }\n    *piVar1 = (int)(param_1 + 2);\n  }\n  else {\n    *piVar5 = *(int *)*piVar1;\n    *(int **)*piVar1 = piVar5;\n  }\n  param_1[3] = param_1[3] + 1;\n  return piVar5 + 7;\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "uint local_3c;" (type_identifier "uint") (identifier "local_3c") (; ";")) (declaration "char local_34 [4];" (primitive_type "char") (array_declarator "local_34 [4]" (identifier "local_34") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (declaration "int local_20 [3];" (primitive_type "int") (array_declarator "local_20 [3]" (identifier "local_20") ([ "[") (number_literal "3") (] "]")) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0xe5afb;" (assignment_expression "uStack_14 = 0xe5afb" (identifier "uStack_14") (= "=") (number_literal "0xe5afb")) (; ";")) (expression_statement "uVar4 = FUN_001aa970(*param_2,param_2[1],0xc70f6907);" (assignment_expression "uVar4 = FUN_001aa970(*param_2,param_2[1],0xc70f6907)" (identifier "uVar4") (= "=") (call_expression "FUN_001aa970(*param_2,param_2[1],0xc70f6907)" (identifier "FUN_001aa970") (argument_list "(*param_2,param_2[1],0xc70f6907)" (( "(") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (number_literal "0xc70f6907") () ")")))) (; ";")) (expression_statement "local_3c = uVar4 % (uint)param_1[1];" (assignment_expression "local_3c = uVar4 % (uint)param_1[1]" (identifier "local_3c") (= "=") (binary_expression "uVar4 % (uint)param_1[1]" (identifier "uVar4") (% "%") (cast_expression "(uint)param_1[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (expression_statement "piVar5 = (int *)FUN_000e5930(param_1,local_3c,param_2,uVar4);" (assignment_expression "piVar5 = (int *)FUN_000e5930(param_1,local_3c,param_2,uVar4)" (identifier "piVar5") (= "=") (cast_expression "(int *)FUN_000e5930(param_1,local_3c,param_2,uVar4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000e5930(param_1,local_3c,param_2,uVar4)" (identifier "FUN_000e5930") (argument_list "(param_1,local_3c,param_2,uVar4)" (( "(") (identifier "param_1") (, ",") (identifier "local_3c") (, ",") (identifier "param_2") (, ",") (identifier "uVar4") () ")"))))) (; ";")) (if_statement "if ((piVar5 != (int *)0x0) && (*piVar5 != 0)) {\n    return (int *)(*piVar5 + 0x1c);\n  }" (if "if") (parenthesized_expression "((piVar5 != (int *)0x0) && (*piVar5 != 0))" (( "(") (binary_expression "(piVar5 != (int *)0x0) && (*piVar5 != 0)" (parenthesized_expression "(piVar5 != (int *)0x0)" (( "(") (binary_expression "piVar5 != (int *)0x0" (identifier "piVar5") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(*piVar5 != 0)" (( "(") (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    return (int *)(*piVar5 + 0x1c);\n  }" ({ "{") (return_statement "return (int *)(*piVar5 + 0x1c);" (return "return") (cast_expression "(int *)(*piVar5 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar5 + 0x1c)" (( "(") (binary_expression "*piVar5 + 0x1c" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (+ "+") (number_literal "0x1c")) () ")"))) (; ";")) (} "}"))) (expression_statement "piVar5 = (int *)FUN_001aa8c0(0x24);" (assignment_expression "piVar5 = (int *)FUN_001aa8c0(0x24)" (identifier "piVar5") (= "=") (cast_expression "(int *)FUN_001aa8c0(0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001aa8c0(0x24)" (identifier "FUN_001aa8c0") (argument_list "(0x24)" (( "(") (number_literal "0x24") () ")"))))) (; ";")) (expression_statement "*piVar5 = 0;" (assignment_expression "*piVar5 = 0" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar5[1] = (int)(piVar5 + 3);" (assignment_expression "piVar5[1] = (int)(piVar5 + 3)" (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)(piVar5 + 3)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(piVar5 + 3)" (( "(") (binary_expression "piVar5 + 3" (identifier "piVar5") (+ "+") (number_literal "3")) () ")")))) (; ";")) (expression_statement "FUN_0007c4c0(piVar5 + 1,*param_2,param_2[1] + *param_2,0);" (call_expression "FUN_0007c4c0(piVar5 + 1,*param_2,param_2[1] + *param_2,0)" (identifier "FUN_0007c4c0") (argument_list "(piVar5 + 1,*param_2,param_2[1] + *param_2,0)" (( "(") (binary_expression "piVar5 + 1" (identifier "piVar5") (+ "+") (number_literal "1")) (, ",") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (binary_expression "param_2[1] + *param_2" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (+ "+") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_20[0] = param_1[5];" (assignment_expression "local_20[0] = param_1[5]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (= "=") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "piVar5[7] = 0;" (assignment_expression "piVar5[7] = 0" (subscript_expression "piVar5[7]" (identifier "piVar5") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_001f1b20(local_34,param_1 + 4,param_1[1],param_1[3],1);" (call_expression "FUN_001f1b20(local_34,param_1 + 4,param_1[1],param_1[3],1)" (identifier "FUN_001f1b20") (argument_list "(local_34,param_1 + 4,param_1[1],param_1[3],1)" (( "(") (identifier "local_34") (, ",") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) (, ",") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (, ",") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (, ",") (number_literal "1") () ")"))) (; ";")) (if_statement "if (local_34[0] != '\0') {\n                    \n    FUN_000e59d0(param_1,local_30,local_20);\n    local_3c = uVar4 % (uint)param_1[1];\n  }" (if "if") (parenthesized_expression "(local_34[0] != '\0')" (( "(") (binary_expression "local_34[0] != '\0'" (subscript_expression "local_34[0]" (identifier "local_34") ([ "[") (number_literal "0") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    \n    FUN_000e59d0(param_1,local_30,local_20);\n    local_3c = uVar4 % (uint)param_1[1];\n  }" ({ "{") (expression_statement "FUN_000e59d0(param_1,local_30,local_20);" (call_expression "FUN_000e59d0(param_1,local_30,local_20)" (identifier "FUN_000e59d0") (argument_list "(param_1,local_30,local_20)" (( "(") (identifier "param_1") (, ",") (identifier "local_30") (, ",") (identifier "local_20") () ")"))) (; ";")) (expression_statement "local_3c = uVar4 % (uint)param_1[1];" (assignment_expression "local_3c = uVar4 % (uint)param_1[1]" (identifier "local_3c") (= "=") (binary_expression "uVar4 % (uint)param_1[1]" (identifier "uVar4") (% "%") (cast_expression "(uint)param_1[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (} "}"))) (expression_statement "piVar5[8] = uVar4;" (assignment_expression "piVar5[8] = uVar4" (subscript_expression "piVar5[8]" (identifier "piVar5") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "iVar2 = *param_1;" (assignment_expression "iVar2 = *param_1" (identifier "iVar2") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "piVar1 = (int *)(iVar2 + local_3c * 4);" (assignment_expression "piVar1 = (int *)(iVar2 + local_3c * 4)" (identifier "piVar1") (= "=") (cast_expression "(int *)(iVar2 + local_3c * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + local_3c * 4)" (( "(") (binary_expression "iVar2 + local_3c * 4" (identifier "iVar2") (+ "+") (binary_expression "local_3c * 4" (identifier "local_3c") (* "*") (number_literal "4"))) () ")")))) (; ";")) (if_statement "if ((int *)*piVar1 == (int *)0x0) {\n    iVar3 = param_1[2];\n    param_1[2] = (int)piVar5;\n    *piVar5 = iVar3;\n    if (iVar3 != 0) {\n      *(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5;\n    }\n    *piVar1 = (int)(param_1 + 2);\n  }\n  else {\n    *piVar5 = *(int *)*piVar1;\n    *(int **)*piVar1 = piVar5;\n  }" (if "if") (parenthesized_expression "((int *)*piVar1 == (int *)0x0)" (( "(") (binary_expression "(int *)*piVar1 == (int *)0x0" (cast_expression "(int *)*piVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar1" (* "*") (identifier "piVar1"))) (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar3 = param_1[2];\n    param_1[2] = (int)piVar5;\n    *piVar5 = iVar3;\n    if (iVar3 != 0) {\n      *(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5;\n    }\n    *piVar1 = (int)(param_1 + 2);\n  }" ({ "{") (expression_statement "iVar3 = param_1[2];" (assignment_expression "iVar3 = param_1[2]" (identifier "iVar3") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "param_1[2] = (int)piVar5;" (assignment_expression "param_1[2] = (int)piVar5" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5"))) (; ";")) (expression_statement "*piVar5 = iVar3;" (assignment_expression "*piVar5 = iVar3" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (iVar3 != 0) {\n      *(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5;\n    }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5;\n    }" ({ "{") (expression_statement "*(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5;" (assignment_expression "*(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5" (pointer_expression "*(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4)" (* "*") (cast_expression "(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4)" (( "(") (binary_expression "iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4" (identifier "iVar2") (+ "+") (binary_expression "(*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4" (parenthesized_expression "(*(uint *)(iVar3 + 0x20) % (uint)param_1[1])" (( "(") (binary_expression "*(uint *)(iVar3 + 0x20) % (uint)param_1[1]" (pointer_expression "*(uint *)(iVar3 + 0x20)" (* "*") (cast_expression "(uint *)(iVar3 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x20)" (( "(") (binary_expression "iVar3 + 0x20" (identifier "iVar3") (+ "+") (number_literal "0x20")) () ")")))) (% "%") (cast_expression "(uint)param_1[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) () ")")) (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "piVar5")) (; ";")) (} "}"))) (expression_statement "*piVar1 = (int)(param_1 + 2);" (assignment_expression "*piVar1 = (int)(param_1 + 2)" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (= "=") (cast_expression "(int)(param_1 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(param_1 + 2)" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n    *piVar5 = *(int *)*piVar1;\n    *(int **)*piVar1 = piVar5;\n  }" (else "else") (compound_statement "{\n    *piVar5 = *(int *)*piVar1;\n    *(int **)*piVar1 = piVar5;\n  }" ({ "{") (expression_statement "*piVar5 = *(int *)*piVar1;" (assignment_expression "*piVar5 = *(int *)*piVar1" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (= "=") (pointer_expression "*(int *)*piVar1" (* "*") (cast_expression "(int *)*piVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar1" (* "*") (identifier "piVar1"))))) (; ";")) (expression_statement "*(int **)*piVar1 = piVar5;" (assignment_expression "*(int **)*piVar1 = piVar5" (pointer_expression "*(int **)*piVar1" (* "*") (cast_expression "(int **)*piVar1" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*piVar1" (* "*") (identifier "piVar1")))) (= "=") (identifier "piVar5")) (; ";")) (} "}")))) (expression_statement "param_1[3] = param_1[3] + 1;" (assignment_expression "param_1[3] = param_1[3] + 1" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "param_1[3] + 1" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (return_statement "return piVar5 + 7;" (return "return") (binary_expression "piVar5 + 7" (identifier "piVar5") (+ "+") (number_literal "7")) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* DWARF original prototype: mapped_type *
   operator[](_Map_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::options::One_option*>_>,_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>,_true>
   * this, key_type * __k) */

var_1 * var_2
var_3::__detail::
var_10<var_3::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>,var_5::pair<var_7::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>,var_8::options::var_14*>,var_5::var_12<var_3::pair<var_7::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>,var_8::options::var_14*>var_6>,var_5::__detail::_Select1st,var_5::equal_to<var_3::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>var_6>,var_5::hash<var_3::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>var_6>,var_5::__detail::_Mod_range_hashing,var_5::__detail::_Default_ranged_hash,var_5::__detail::_Prime_rehash_policy,var_5::__detail::var_15<true,_false,var_9>,var_9>
::operator[](var_10<var_3::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>,var_5::pair<var_7::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>,var_8::options::var_14*>,var_5::var_12<var_3::pair<var_7::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>,var_8::options::var_14*>var_6>,var_5::__detail::_Select1st,var_5::equal_to<var_3::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>var_6>,var_5::hash<var_3::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>var_6>,var_5::__detail::_Mod_range_hashing,var_5::__detail::_Default_ranged_hash,var_5::__detail::_Prime_rehash_policy,var_5::__detail::var_15<true,_false,var_9>,var_9>
             *var_21,var_16 *var_17)

{
  int *var_18;
  type_1 var_27;
  int var_30;
  int var_32;
  type_2 var_20;
  type_3 *var_23;
  int *var_25;
  type_2 var_31;
  char local_34 [4];
  type_4 local_30;
  type_5 local_20 [3];
  type_6 uStack_14;
  
  uStack_14 = 0xe5afb;
  var_20 = var_19((var_17->_M_dataplus)._M_p,var_17->_M_string_length,0xc70f6907);
  var_31 = var_20 % *(type_2 *)(var_21 + 4);
  var_23 = _Hashtable<var_3::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>,var_5::pair<var_7::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>,var_8::options::var_14*>,var_5::var_12<var_3::pair<var_7::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>,var_8::options::var_14*>var_6>,var_5::__detail::_Select1st,var_5::equal_to<var_3::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>var_6>,var_5::hash<var_3::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>var_6>,var_5::__detail::_Mod_range_hashing,var_5::__detail::_Default_ranged_hash,var_5::__detail::_Prime_rehash_policy,var_5::__detail::var_15<true,_false,var_9>var_6>
           ::var_22
                     ((_Hashtable<var_3::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>,var_5::pair<var_7::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>,var_8::options::var_14*>,var_5::var_12<var_3::pair<var_7::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>,var_8::options::var_14*>var_6>,var_5::__detail::_Select1st,var_5::equal_to<var_3::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>var_6>,var_5::hash<var_3::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>var_6>,var_5::__detail::_Mod_range_hashing,var_5::__detail::_Default_ranged_hash,var_5::__detail::_Prime_rehash_policy,var_5::__detail::var_15<true,_false,var_9>var_6>
                       *)var_21,var_31,var_17,var_20);
  if ((var_23 != (type_3 *)0x0) && (var_23->_M_nxt != (type_7 *)0x0)) {
    return (var_1 *)(var_23->_M_nxt + 7);
  }
  var_25 = (int *)var_24(0x24);
  *var_25 = 0;
  var_25[1] = (int)(var_25 + 3);
  var_27 = (var_17->_M_dataplus)._M_p;
                    /* try { // try from 000e5b86 to 000e5b8a has its CatchHandler @ 000e5c30 */
  __cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>::var_26<var_4*>
            ((var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6> *)(var_25 + 1),
             var_27,var_27 + var_17->_M_string_length,0);
  local_20[0] = *(type_5 *)(var_21 + 0x14);
  var_25[7] = 0;
  _Prime_rehash_policy::var_28((type_2)local_34,(type_2)(var_21 + 0x10),*(type_2 *)(var_21 + 4));
  if (local_34[0] != '\0') {
                    /* try { // try from 000e5bca to 000e5bce has its CatchHandler @ 000e5c2e */
    _Hashtable<var_3::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>,var_5::pair<var_7::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>,var_8::options::var_14*>,var_5::var_12<var_3::pair<var_7::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>,var_8::options::var_14*>var_6>,var_5::__detail::_Select1st,var_5::equal_to<var_3::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>var_6>,var_5::hash<var_3::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>var_6>,var_5::__detail::_Mod_range_hashing,var_5::__detail::_Default_ranged_hash,var_5::__detail::_Prime_rehash_policy,var_5::__detail::var_15<true,_false,var_9>var_6>
    ::var_29((_Hashtable<var_3::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>,var_5::pair<var_7::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>,var_8::options::var_14*>,var_5::var_12<var_3::pair<var_7::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>,var_8::options::var_14*>var_6>,var_5::__detail::_Select1st,var_5::equal_to<var_3::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>var_6>,var_5::hash<var_3::__cxx11::var_13<var_4,var_5::var_11<var_4>,var_5::var_12<var_4>var_6>var_6>,var_5::__detail::_Mod_range_hashing,var_5::__detail::_Default_ranged_hash,var_5::__detail::_Prime_rehash_policy,var_5::__detail::var_15<true,_false,var_9>var_6>
                 *)var_21,local_30,local_20);
    var_31 = var_20 % *(type_2 *)(var_21 + 4);
  }
  var_25[8] = var_20;
  var_30 = *(int *)var_21;
  var_18 = (int *)(var_30 + var_31 * 4);
  if ((int *)*var_18 == (int *)0x0) {
    var_32 = *(int *)(var_21 + 8);
    *(int **)(var_21 + 8) = var_25;
    *var_25 = var_32;
    if (var_32 != 0) {
      *(int **)(var_30 + (*(type_2 *)(var_32 + 0x20) % *(type_2 *)(var_21 + 4)) * 4) = var_25;
    }
    *var_18 = (int)(var_21 + 8);
  }
  else {
    *var_25 = *(int *)*var_18;
    *(int **)*var_18 = var_25;
  }
  *(int *)(var_21 + 0xc) = *(int *)(var_21 + 0xc) + 1;
  return (var_1 *)(var_25 + 7);
}


(translation_unit (function_definition type: (primitive_type) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier)))))) body: (compound_statement (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (subscript_expression argument: (identifier) index: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (identifier)) (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier))) (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (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: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))) right: (number_literal)))))) right: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (pointer_expression argument: (identifier)))) right: (identifier)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (return_statement (binary_expression left: (identifier) right: (number_literal))))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int * MASKED(int *param_1,int *param_2)

{
  int *piVar1;
  int iVar2;
  int iVar3;
  uint uVar4;
  int *piVar5;
  uint local_3c;
  char local_34 [4];
  undefined4 local_30;
  int local_20 [3];
  undefined4 uStack_14;
  
  uStack_14 = 0xe5afb;
  uVar4 = FUN_001aa970(*param_2,param_2[1],0xc70f6907);
  local_3c = uVar4 % (uint)param_1[1];
  piVar5 = (int *)FUN_000e5930(param_1,local_3c,param_2,uVar4);
  if ((piVar5 != (int *)0x0) && (*piVar5 != 0)) {
    return (int *)(*piVar5 + 0x1c);
  }
  piVar5 = (int *)FUN_001aa8c0(0x24);
  *piVar5 = 0;
  piVar5[1] = (int)(piVar5 + 3);
                    /* try { // try from 000e5b86 to 000e5b8a has its CatchHandler @ 000e5c30 */
  FUN_0007c4c0(piVar5 + 1,*param_2,param_2[1] + *param_2,0);
  local_20[0] = param_1[5];
  piVar5[7] = 0;
  FUN_001f1b20(local_34,param_1 + 4,param_1[1],param_1[3],1);
  if (local_34[0] != '\0') {
                    /* try { // try from 000e5bca to 000e5bce has its CatchHandler @ 000e5c2e */
    FUN_000e59d0(param_1,local_30,local_20);
    local_3c = uVar4 % (uint)param_1[1];
  }
  piVar5[8] = uVar4;
  iVar2 = *param_1;
  piVar1 = (int *)(iVar2 + local_3c * 4);
  if ((int *)*piVar1 == (int *)0x0) {
    iVar3 = param_1[2];
    param_1[2] = (int)piVar5;
    *piVar5 = iVar3;
    if (iVar3 != 0) {
      *(int **)(iVar2 + (*(uint *)(iVar3 + 0x20) % (uint)param_1[1]) * 4) = piVar5;
    }
    *piVar1 = (int)(param_1 + 2);
  }
  else {
    *piVar5 = *(int *)*piVar1;
    *(int **)*piVar1 = piVar5;
  }
  param_1[3] = param_1[3] + 1;
  return piVar5 + 7;
}

