
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: Output_section * get_output_section(Layout * this, char * name, Key
   name_key, Elf_Word type, Elf_Xword flags, Output_section_order order, bool is_relro) */

Output_section * __thiscall
gold::Layout::get_output_section
          (Layout *this,char *name,Key name_key,Elf_Word type,Elf_Xword flags,
          Output_section_order order,bool is_relro)

{
  _Hash_node_base *p_Var1;
  __node_type *__node;
  __node_base *p_Var2;
  iterator iVar3;
  Output_section *pOVar4;
  Elf_Word lookup_type;
  ulong uVar5;
  Elf_Word EVar6;
  __hash_code __code;
  ulong local_78;
  Key zero_key;
  
  if (type - 0xe < 3) {
    local_78 = 1;
    EVar6 = 1;
  }
  else {
    local_78 = (ulong)type;
    EVar6 = type;
  }
  uVar5 = (ulong)((uint)flags & 0xfffffffa);
  __node = (__node_type *)operator_new(0x30);
  *(ulong *)((long)&(__node->
                    super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>
                    )._M_storage._M_storage + 0x10) = uVar5;
  (__node->
  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>
  ).super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;
  __code = local_78 + uVar5 + name_key;
  (__node->
  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>
  )._M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)name_key;
  *(Elf_Word *)
   ((long)&(__node->
           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>
           )._M_storage._M_storage + 8) = EVar6;
  *(undefined8 *)
   ((long)&(__node->
           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>
           )._M_storage._M_storage + 0x18) = 0;
  uVar5 = __code % (this->section_name_map_)._M_h._M_bucket_count;
  p_Var2 = std::
           _Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_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::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                       *)&this->section_name_map_,uVar5,
                      (key_type *)
                      &(__node->
                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>
                       )._M_storage,__code);
  if ((p_Var2 != (__node_base *)0x0) && (p_Var1 = p_Var2->_M_nxt, p_Var1 != (_Hash_node_base *)0x0))
  {
    operator_delete(__node);
    return (Output_section *)p_Var1[4]._M_nxt;
  }
  iVar3 = std::
          _Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
          ::_M_insert_unique_node
                    ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                      *)&this->section_name_map_,uVar5,__code,__node,1);
  if (EVar6 == 1) {
    if (flags == 0) {
      pOVar4 = find_output_section(this,name);
      if ((pOVar4 != (Output_section *)0x0) &&
         (((pOVar4->type_ - 0xe < 3 || (pOVar4->type_ == 1)) && ((pOVar4->flags_ & 0x400) == 0))))
      goto LAB_001ace6d;
    }
    else if ((flags & 0x400) == 0) {
      zero_key.second.first = 1;
      zero_key.second.second = 0;
      zero_key.first = name_key;
      p_Var2 = std::
               _Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_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::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                           *)&this->section_name_map_,
                          (name_key + 1) % (this->section_name_map_)._M_h._M_bucket_count,&zero_key,
                          name_key + 1);
      if (((p_Var2 != (__node_base *)0x0) && (p_Var2->_M_nxt != (_Hash_node_base *)0x0)) &&
         (pOVar4 = (Output_section *)p_Var2->_M_nxt[4]._M_nxt, pOVar4 != (Output_section *)0x0))
      goto LAB_001ace6d;
    }
  }
  pOVar4 = make_output_section(this,name,type,flags,order,is_relro);
LAB_001ace6d:
  *(Output_section **)
   ((long)iVar3.
          super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_true>
          ._M_cur + 0x20) = pOVar4;
  return pOVar4;
}



long FUN_001acd20(long param_1,undefined8 param_2,long param_3,uint param_4,ulong param_5,
                 undefined4 param_6,undefined1 param_7)

{
  undefined8 *puVar1;
  long *plVar2;
  long lVar3;
  long lVar4;
  ulong uVar5;
  uint uVar6;
  ulong local_78;
  long local_58;
  undefined4 local_50;
  undefined8 local_48;
  
  if (param_4 - 0xe < 3) {
    local_78 = 1;
    uVar6 = 1;
  }
  else {
    local_78 = (ulong)param_4;
    uVar6 = param_4;
  }
  uVar5 = (ulong)((uint)param_5 & 0xfffffffa);
  puVar1 = (undefined8 *)FUN_002d9490(0x30);
  puVar1[3] = uVar5;
  *puVar1 = 0;
  local_78 = local_78 + uVar5 + param_3;
  puVar1[1] = param_3;
  *(uint *)(puVar1 + 2) = uVar6;
  puVar1[4] = 0;
  uVar5 = local_78 % *(ulong *)(param_1 + 0x200);
  plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,uVar5,puVar1 + 1,local_78);
  if ((plVar2 != (long *)0x0) && (lVar3 = *plVar2, lVar3 != 0)) {
    FUN_002dac60(puVar1);
    return *(long *)(lVar3 + 0x20);
  }
  lVar3 = FUN_001b6710(param_1 + 0x1f8,uVar5,local_78,puVar1,1);
  if (uVar6 == 1) {
    if (param_5 == 0) {
      lVar4 = FUN_001a4d80(param_1,param_2);
      if ((lVar4 != 0) &&
         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&
          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))) goto LAB_001ace6d;
    }
    else if ((param_5 & 0x400) == 0) {
      local_50 = 1;
      local_48 = 0;
      local_58 = param_3;
      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),
                                    &local_58);
      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&
         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;
    }
  }
  lVar4 = FUN_001a8f30(param_1,param_2,param_4,param_5,param_6,param_7);
LAB_001ace6d:
  *(long *)(lVar3 + 0x20) = lVar4;
  return lVar4;
}


PUSH R15
PUSH R14
MOV R14,R8
PUSH R13
PUSH R12
MOV R12,RDX
PUSH RBP
MOV EBP,ECX
PUSH RBX
MOV RBX,RDI
SUB RSP,0x48
MOV EAX,dword ptr [RSP + 0x80]
MOV qword ptr [RSP + 0x10],RSI
MOV dword ptr [RSP + 0x18],R9D
MOV dword ptr [RSP + 0x1c],EAX
LEA EAX,[RCX + -0xe]
CMP EAX,0x2
JBE 0x001ace80
MOV EAX,ECX
MOV R13D,ECX
MOV qword ptr [RSP],RAX
LEA RAX,[RBX + 0x1f8]
MOV EDI,0x30
MOV R15,R14
AND R15D,0xfffffffa
MOV qword ptr [RSP + 0x8],RAX
CALL 0x002d9490
LEA RDX,[R15 + R12*0x1]
LEA RDI,[RBX + 0x1f8]
MOV qword ptr [RAX + 0x18],R15
MOV R15,qword ptr [RSP]
MOV R9,RAX
MOV qword ptr [RAX],0x0
ADD R15,RDX
MOV qword ptr [RAX + 0x8],R12
XOR EDX,EDX
MOV dword ptr [RAX + 0x10],R13D
MOV RCX,R15
MOV qword ptr [RAX + 0x20],0x0
MOV RAX,R15
DIV qword ptr [RBX + 0x200]
MOV qword ptr [RSP + 0x8],R9
MOV R10,RDX
LEA RDX,[R9 + 0x8]
MOV RSI,R10
MOV qword ptr [RSP],R10
CALL 0x001b4db0
MOV R10,qword ptr [RSP]
MOV R9,qword ptr [RSP + 0x8]
TEST RAX,RAX
JZ 0x001ace10
MOV RAX,qword ptr [RAX]
TEST RAX,RAX
MOV qword ptr [RSP],RAX
JZ 0x001ace10
MOV RDI,R9
CALL 0x002dac60
MOV RAX,qword ptr [RSP]
MOV RAX,qword ptr [RAX + 0x20]
ADD RSP,0x48
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV RDX,R15
MOV R8D,0x1
MOV RCX,R9
MOV RSI,R10
LEA RDI,[RBX + 0x1f8]
CALL 0x001b6710
MOV R15,RAX
CMP R13D,0x1
JNZ 0x001ace50
TEST R14,R14
JZ 0x001ace98
TEST R14D,0x400
JZ 0x001acec8
NOP word ptr CS:[RAX + RAX*0x1]
MOVZX R9D,byte ptr [RSP + 0x1c]
MOV R8D,dword ptr [RSP + 0x18]
MOV RCX,R14
MOV EDX,EBP
MOV RSI,qword ptr [RSP + 0x10]
MOV RDI,RBX
CALL 0x001a8f30
MOV qword ptr [R15 + 0x20],RAX
ADD RSP,0x48
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV qword ptr [RSP],0x1
MOV R13D,0x1
JMP 0x001acd63
MOV RSI,qword ptr [RSP + 0x10]
MOV RDI,RBX
CALL 0x001a4d80
TEST RAX,RAX
JZ 0x001ace50
MOV EDX,dword ptr [RAX + 0x6c]
LEA ECX,[RDX + -0xe]
CMP ECX,0x2
JBE 0x001aceba
CMP EDX,0x1
JNZ 0x001ace50
TEST byte ptr [RAX + 0x71],0x4
JZ 0x001ace6d
JMP 0x001ace50
LEA RCX,[R12 + 0x1]
XOR EDX,EDX
LEA RDI,[RSP + 0x20]
MOV qword ptr [RSP + 0x20],R12
MOV RAX,RCX
MOV dword ptr [RSP + 0x28],0x1
DIV qword ptr [RBX + 0x200]
MOV qword ptr [RSP + 0x30],0x0
MOV RSI,RDX
MOV RDX,RDI
LEA RDI,[RBX + 0x1f8]
CALL 0x001b4db0
TEST RAX,RAX
JZ 0x001ace50
MOV RAX,qword ptr [RAX]
TEST RAX,RAX
JZ 0x001ace50
MOV RAX,qword ptr [RAX + 0x20]
TEST RAX,RAX
JNZ 0x001ace6d
JMP 0x001ace50
(translation_unit "long FUN_001acd20(long param_1,undefined8 param_2,long param_3,uint param_4,ulong param_5,\n                 undefined4 param_6,undefined1 param_7)\n\n{\n  undefined8 *puVar1;\n  long *plVar2;\n  long lVar3;\n  long lVar4;\n  ulong uVar5;\n  uint uVar6;\n  ulong local_78;\n  long local_58;\n  undefined4 local_50;\n  undefined8 local_48;\n  \n  if (param_4 - 0xe < 3) {\n    local_78 = 1;\n    uVar6 = 1;\n  }\n  else {\n    local_78 = (ulong)param_4;\n    uVar6 = param_4;\n  }\n  uVar5 = (ulong)((uint)param_5 & 0xfffffffa);\n  puVar1 = (undefined8 *)FUN_002d9490(0x30);\n  puVar1[3] = uVar5;\n  *puVar1 = 0;\n  local_78 = local_78 + uVar5 + param_3;\n  puVar1[1] = param_3;\n  *(uint *)(puVar1 + 2) = uVar6;\n  puVar1[4] = 0;\n  uVar5 = local_78 % *(ulong *)(param_1 + 0x200);\n  plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,uVar5,puVar1 + 1,local_78);\n  if ((plVar2 != (long *)0x0) && (lVar3 = *plVar2, lVar3 != 0)) {\n    FUN_002dac60(puVar1);\n    return *(long *)(lVar3 + 0x20);\n  }\n  lVar3 = FUN_001b6710(param_1 + 0x1f8,uVar5,local_78,puVar1,1);\n  if (uVar6 == 1) {\n    if (param_5 == 0) {\n      lVar4 = FUN_001a4d80(param_1,param_2);\n      if ((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))) goto LAB_001ace6d;\n    }\n    else if ((param_5 & 0x400) == 0) {\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }\n  }\n  lVar4 = FUN_001a8f30(param_1,param_2,param_4,param_5,param_6,param_7);\nLAB_001ace6d:\n  *(long *)(lVar3 + 0x20) = lVar4;\n  return lVar4;\n}\n\n" (function_definition "long FUN_001acd20(long param_1,undefined8 param_2,long param_3,uint param_4,ulong param_5,\n                 undefined4 param_6,undefined1 param_7)\n\n{\n  undefined8 *puVar1;\n  long *plVar2;\n  long lVar3;\n  long lVar4;\n  ulong uVar5;\n  uint uVar6;\n  ulong local_78;\n  long local_58;\n  undefined4 local_50;\n  undefined8 local_48;\n  \n  if (param_4 - 0xe < 3) {\n    local_78 = 1;\n    uVar6 = 1;\n  }\n  else {\n    local_78 = (ulong)param_4;\n    uVar6 = param_4;\n  }\n  uVar5 = (ulong)((uint)param_5 & 0xfffffffa);\n  puVar1 = (undefined8 *)FUN_002d9490(0x30);\n  puVar1[3] = uVar5;\n  *puVar1 = 0;\n  local_78 = local_78 + uVar5 + param_3;\n  puVar1[1] = param_3;\n  *(uint *)(puVar1 + 2) = uVar6;\n  puVar1[4] = 0;\n  uVar5 = local_78 % *(ulong *)(param_1 + 0x200);\n  plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,uVar5,puVar1 + 1,local_78);\n  if ((plVar2 != (long *)0x0) && (lVar3 = *plVar2, lVar3 != 0)) {\n    FUN_002dac60(puVar1);\n    return *(long *)(lVar3 + 0x20);\n  }\n  lVar3 = FUN_001b6710(param_1 + 0x1f8,uVar5,local_78,puVar1,1);\n  if (uVar6 == 1) {\n    if (param_5 == 0) {\n      lVar4 = FUN_001a4d80(param_1,param_2);\n      if ((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))) goto LAB_001ace6d;\n    }\n    else if ((param_5 & 0x400) == 0) {\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }\n  }\n  lVar4 = FUN_001a8f30(param_1,param_2,param_4,param_5,param_6,param_7);\nLAB_001ace6d:\n  *(long *)(lVar3 + 0x20) = lVar4;\n  return lVar4;\n}" (sized_type_specifier "long" long) (function_declarator "FUN_001acd20(long param_1,undefined8 param_2,long param_3,uint param_4,ulong param_5,\n                 undefined4 param_6,undefined1 param_7)" identifier (parameter_list "(long param_1,undefined8 param_2,long param_3,uint param_4,ulong param_5,\n                 undefined4 param_6,undefined1 param_7)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "long param_3" (sized_type_specifier "long" long) identifier) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "ulong param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "undefined1 param_7" type_identifier identifier) ))) (compound_statement "{\n  undefined8 *puVar1;\n  long *plVar2;\n  long lVar3;\n  long lVar4;\n  ulong uVar5;\n  uint uVar6;\n  ulong local_78;\n  long local_58;\n  undefined4 local_50;\n  undefined8 local_48;\n  \n  if (param_4 - 0xe < 3) {\n    local_78 = 1;\n    uVar6 = 1;\n  }\n  else {\n    local_78 = (ulong)param_4;\n    uVar6 = param_4;\n  }\n  uVar5 = (ulong)((uint)param_5 & 0xfffffffa);\n  puVar1 = (undefined8 *)FUN_002d9490(0x30);\n  puVar1[3] = uVar5;\n  *puVar1 = 0;\n  local_78 = local_78 + uVar5 + param_3;\n  puVar1[1] = param_3;\n  *(uint *)(puVar1 + 2) = uVar6;\n  puVar1[4] = 0;\n  uVar5 = local_78 % *(ulong *)(param_1 + 0x200);\n  plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,uVar5,puVar1 + 1,local_78);\n  if ((plVar2 != (long *)0x0) && (lVar3 = *plVar2, lVar3 != 0)) {\n    FUN_002dac60(puVar1);\n    return *(long *)(lVar3 + 0x20);\n  }\n  lVar3 = FUN_001b6710(param_1 + 0x1f8,uVar5,local_78,puVar1,1);\n  if (uVar6 == 1) {\n    if (param_5 == 0) {\n      lVar4 = FUN_001a4d80(param_1,param_2);\n      if ((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))) goto LAB_001ace6d;\n    }\n    else if ((param_5 & 0x400) == 0) {\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }\n  }\n  lVar4 = FUN_001a8f30(param_1,param_2,param_4,param_5,param_6,param_7);\nLAB_001ace6d:\n  *(long *)(lVar3 + 0x20) = lVar4;\n  return lVar4;\n}" { (declaration "undefined8 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "long *plVar2;" (sized_type_specifier "long" long) (pointer_declarator "*plVar2" * identifier) ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "ulong local_78;" type_identifier identifier ;) (declaration "long local_58;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (if_statement "if (param_4 - 0xe < 3) {\n    local_78 = 1;\n    uVar6 = 1;\n  }\n  else {\n    local_78 = (ulong)param_4;\n    uVar6 = param_4;\n  }" if (parenthesized_expression "(param_4 - 0xe < 3)" ( (binary_expression "param_4 - 0xe < 3" (binary_expression "param_4 - 0xe" identifier - number_literal) < number_literal) )) (compound_statement "{\n    local_78 = 1;\n    uVar6 = 1;\n  }" { (expression_statement "local_78 = 1;" (assignment_expression "local_78 = 1" identifier = number_literal) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) }) (else_clause "else {\n    local_78 = (ulong)param_4;\n    uVar6 = param_4;\n  }" else (compound_statement "{\n    local_78 = (ulong)param_4;\n    uVar6 = param_4;\n  }" { (expression_statement "local_78 = (ulong)param_4;" (assignment_expression "local_78 = (ulong)param_4" identifier = (cast_expression "(ulong)param_4" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar6 = param_4;" (assignment_expression "uVar6 = param_4" identifier = identifier) ;) }))) (expression_statement "uVar5 = (ulong)((uint)param_5 & 0xfffffffa);" (assignment_expression "uVar5 = (ulong)((uint)param_5 & 0xfffffffa)" identifier = (call_expression "(ulong)((uint)param_5 & 0xfffffffa)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)param_5 & 0xfffffffa)" ( (binary_expression "(uint)param_5 & 0xfffffffa" (cast_expression "(uint)param_5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "puVar1 = (undefined8 *)FUN_002d9490(0x30);" (assignment_expression "puVar1 = (undefined8 *)FUN_002d9490(0x30)" identifier = (cast_expression "(undefined8 *)FUN_002d9490(0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x30)" identifier (argument_list "(0x30)" ( number_literal ))))) ;) (expression_statement "puVar1[3] = uVar5;" (assignment_expression "puVar1[3] = uVar5" (subscript_expression "puVar1[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar1 = 0;" (assignment_expression "*puVar1 = 0" (pointer_expression "*puVar1" * identifier) = number_literal) ;) (expression_statement "local_78 = local_78 + uVar5 + param_3;" (assignment_expression "local_78 = local_78 + uVar5 + param_3" identifier = (binary_expression "local_78 + uVar5 + param_3" (binary_expression "local_78 + uVar5" identifier + identifier) + identifier)) ;) (expression_statement "puVar1[1] = param_3;" (assignment_expression "puVar1[1] = param_3" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(uint *)(puVar1 + 2) = uVar6;" (assignment_expression "*(uint *)(puVar1 + 2) = uVar6" (pointer_expression "*(uint *)(puVar1 + 2)" * (cast_expression "(uint *)(puVar1 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 2)" ( (binary_expression "puVar1 + 2" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar1[4] = 0;" (assignment_expression "puVar1[4] = 0" (subscript_expression "puVar1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar5 = local_78 % *(ulong *)(param_1 + 0x200);" (assignment_expression "uVar5 = local_78 % *(ulong *)(param_1 + 0x200)" identifier = (binary_expression "local_78 % *(ulong *)(param_1 + 0x200)" identifier % (pointer_expression "*(ulong *)(param_1 + 0x200)" * (cast_expression "(ulong *)(param_1 + 0x200)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x200)" ( (binary_expression "param_1 + 0x200" identifier + number_literal) )))))) ;) (expression_statement "plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,uVar5,puVar1 + 1,local_78);" (assignment_expression "plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,uVar5,puVar1 + 1,local_78)" identifier = (cast_expression "(long *)FUN_001b4db0(param_1 + 0x1f8,uVar5,puVar1 + 1,local_78)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001b4db0(param_1 + 0x1f8,uVar5,puVar1 + 1,local_78)" identifier (argument_list "(param_1 + 0x1f8,uVar5,puVar1 + 1,local_78)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) , identifier , (binary_expression "puVar1 + 1" identifier + number_literal) , identifier ))))) ;) (if_statement "if ((plVar2 != (long *)0x0) && (lVar3 = *plVar2, lVar3 != 0)) {\n    FUN_002dac60(puVar1);\n    return *(long *)(lVar3 + 0x20);\n  }" if (parenthesized_expression "((plVar2 != (long *)0x0) && (lVar3 = *plVar2, lVar3 != 0))" ( (binary_expression "(plVar2 != (long *)0x0) && (lVar3 = *plVar2, lVar3 != 0)" (parenthesized_expression "(plVar2 != (long *)0x0)" ( (binary_expression "plVar2 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(lVar3 = *plVar2, lVar3 != 0)" ( (comma_expression "lVar3 = *plVar2, lVar3 != 0" (assignment_expression "lVar3 = *plVar2" identifier = (pointer_expression "*plVar2" * identifier)) , (binary_expression "lVar3 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    FUN_002dac60(puVar1);\n    return *(long *)(lVar3 + 0x20);\n  }" { (expression_statement "FUN_002dac60(puVar1);" (call_expression "FUN_002dac60(puVar1)" identifier (argument_list "(puVar1)" ( identifier ))) ;) (return_statement "return *(long *)(lVar3 + 0x20);" return (pointer_expression "*(long *)(lVar3 + 0x20)" * (cast_expression "(long *)(lVar3 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x20)" ( (binary_expression "lVar3 + 0x20" identifier + number_literal) )))) ;) })) (expression_statement "lVar3 = FUN_001b6710(param_1 + 0x1f8,uVar5,local_78,puVar1,1);" (assignment_expression "lVar3 = FUN_001b6710(param_1 + 0x1f8,uVar5,local_78,puVar1,1)" identifier = (call_expression "FUN_001b6710(param_1 + 0x1f8,uVar5,local_78,puVar1,1)" identifier (argument_list "(param_1 + 0x1f8,uVar5,local_78,puVar1,1)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) , identifier , identifier , identifier , number_literal )))) ;) (if_statement "if (uVar6 == 1) {\n    if (param_5 == 0) {\n      lVar4 = FUN_001a4d80(param_1,param_2);\n      if ((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))) goto LAB_001ace6d;\n    }\n    else if ((param_5 & 0x400) == 0) {\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }\n  }" if (parenthesized_expression "(uVar6 == 1)" ( (binary_expression "uVar6 == 1" identifier == number_literal) )) (compound_statement "{\n    if (param_5 == 0) {\n      lVar4 = FUN_001a4d80(param_1,param_2);\n      if ((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))) goto LAB_001ace6d;\n    }\n    else if ((param_5 & 0x400) == 0) {\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }\n  }" { (if_statement "if (param_5 == 0) {\n      lVar4 = FUN_001a4d80(param_1,param_2);\n      if ((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))) goto LAB_001ace6d;\n    }\n    else if ((param_5 & 0x400) == 0) {\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\n      lVar4 = FUN_001a4d80(param_1,param_2);\n      if ((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))) goto LAB_001ace6d;\n    }" { (expression_statement "lVar4 = FUN_001a4d80(param_1,param_2);" (assignment_expression "lVar4 = FUN_001a4d80(param_1,param_2)" identifier = (call_expression "FUN_001a4d80(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier )))) ;) (if_statement "if ((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))) goto LAB_001ace6d;" if (parenthesized_expression "((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0))))" ( (binary_expression "(lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))" (parenthesized_expression "(lVar4 != 0)" ( (binary_expression "lVar4 != 0" identifier != number_literal) )) && (parenthesized_expression "(((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))" ( (parenthesized_expression "((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0))" ( (binary_expression "(*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)" (parenthesized_expression "(*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1))" ( (binary_expression "*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)" (binary_expression "*(int *)(lVar4 + 0x6c) - 0xeU < 3" (binary_expression "*(int *)(lVar4 + 0x6c) - 0xeU" (pointer_expression "*(int *)(lVar4 + 0x6c)" * (cast_expression "(int *)(lVar4 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x6c)" ( (binary_expression "lVar4 + 0x6c" identifier + number_literal) )))) - number_literal) < number_literal) || (parenthesized_expression "(*(int *)(lVar4 + 0x6c) == 1)" ( (binary_expression "*(int *)(lVar4 + 0x6c) == 1" (pointer_expression "*(int *)(lVar4 + 0x6c)" * (cast_expression "(int *)(lVar4 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x6c)" ( (binary_expression "lVar4 + 0x6c" identifier + number_literal) )))) == number_literal) ))) )) && (parenthesized_expression "((*(byte *)(lVar4 + 0x71) & 4) == 0)" ( (binary_expression "(*(byte *)(lVar4 + 0x71) & 4) == 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x71) & 4)" ( (binary_expression "*(byte *)(lVar4 + 0x71) & 4" (pointer_expression "*(byte *)(lVar4 + 0x71)" * (cast_expression "(byte *)(lVar4 + 0x71)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x71)" ( (binary_expression "lVar4 + 0x71" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (goto_statement "goto LAB_001ace6d;" goto statement_identifier ;)) }) (else_clause "else if ((param_5 & 0x400) == 0) {\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }" else (if_statement "if ((param_5 & 0x400) == 0) {\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }" if (parenthesized_expression "((param_5 & 0x400) == 0)" ( (binary_expression "(param_5 & 0x400) == 0" (parenthesized_expression "(param_5 & 0x400)" ( (binary_expression "param_5 & 0x400" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }" { (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" identifier = number_literal) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "local_58 = param_3;" (assignment_expression "local_58 = param_3" identifier = identifier) ;) (expression_statement "plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);" (assignment_expression "plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58)" identifier = (cast_expression "(long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58)" identifier (argument_list "(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) , (binary_expression "(param_3 + 1U) % *(ulong *)(param_1 + 0x200)" (parenthesized_expression "(param_3 + 1U)" ( (binary_expression "param_3 + 1U" identifier + number_literal) )) % (pointer_expression "*(ulong *)(param_1 + 0x200)" * (cast_expression "(ulong *)(param_1 + 0x200)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x200)" ( (binary_expression "param_1 + 0x200" identifier + number_literal) ))))) , (pointer_expression "&local_58" & identifier) ))))) ;) (if_statement "if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;" if (parenthesized_expression "(((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0))" ( (binary_expression "((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)" (parenthesized_expression "((plVar2 != (long *)0x0) && (*plVar2 != 0))" ( (binary_expression "(plVar2 != (long *)0x0) && (*plVar2 != 0)" (parenthesized_expression "(plVar2 != (long *)0x0)" ( (binary_expression "plVar2 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*plVar2 != 0)" ( (binary_expression "*plVar2 != 0" (pointer_expression "*plVar2" * identifier) != number_literal) ))) )) && (parenthesized_expression "(lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)" ( (comma_expression "lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0" (assignment_expression "lVar4 = *(long *)(*plVar2 + 0x20)" identifier = (pointer_expression "*(long *)(*plVar2 + 0x20)" * (cast_expression "(long *)(*plVar2 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*plVar2 + 0x20)" ( (binary_expression "*plVar2 + 0x20" (pointer_expression "*plVar2" * identifier) + number_literal) ))))) , (binary_expression "lVar4 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_001ace6d;" goto statement_identifier ;)) })))) })) (expression_statement "lVar4 = FUN_001a8f30(param_1,param_2,param_4,param_5,param_6,param_7);" (assignment_expression "lVar4 = FUN_001a8f30(param_1,param_2,param_4,param_5,param_6,param_7)" identifier = (call_expression "FUN_001a8f30(param_1,param_2,param_4,param_5,param_6,param_7)" identifier (argument_list "(param_1,param_2,param_4,param_5,param_6,param_7)" ( identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (labeled_statement "LAB_001ace6d:\n  *(long *)(lVar3 + 0x20) = lVar4;" statement_identifier : (expression_statement "*(long *)(lVar3 + 0x20) = lVar4;" (assignment_expression "*(long *)(lVar3 + 0x20) = lVar4" (pointer_expression "*(long *)(lVar3 + 0x20)" * (cast_expression "(long *)(lVar3 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x20)" ( (binary_expression "lVar3 + 0x20" identifier + number_literal) )))) = identifier) ;)) (return_statement "return lVar4;" return identifier ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: Output_section * get_output_section(Layout * this, char * name, Key\n   name_key, Elf_Word type, Elf_Xword flags, Output_section_order order, bool is_relro) */\n\nOutput_section * __thiscall\ngold::Layout::get_output_section\n          (Layout *this,char *name,Key name_key,Elf_Word type,Elf_Xword flags,\n          Output_section_order order,bool is_relro)\n\n{\n  _Hash_node_base *p_Var1;\n  __node_type *__node;\n  __node_base *p_Var2;\n  iterator iVar3;\n  Output_section *pOVar4;\n  Elf_Word lookup_type;\n  ulong uVar5;\n  Elf_Word EVar6;\n  __hash_code __code;\n  ulong local_78;\n  Key zero_key;\n  \n  if (type - 0xe < 3) {\n    local_78 = 1;\n    EVar6 = 1;\n  }\n  else {\n    local_78 = (ulong)type;\n    EVar6 = type;\n  }\n  uVar5 = (ulong)((uint)flags & 0xfffffffa);\n  __node = (__node_type *)operator_new(0x30);\n  *(ulong *)((long)&(__node->\n                    super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                    )._M_storage._M_storage + 0x10) = uVar5;\n  (__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n  ).super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n  __code = local_78 + uVar5 + name_key;\n  (__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n  )._M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)name_key;\n  *(Elf_Word *)\n   ((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )._M_storage._M_storage + 8) = EVar6;\n  *(undefined8 *)\n   ((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )._M_storage._M_storage + 0x18) = 0;\n  uVar5 = __code % (this->section_name_map_)._M_h._M_bucket_count;\n  p_Var2 = std::\n           _Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_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::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&this->section_name_map_,uVar5,\n                      (key_type *)\n                      &(__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                       )._M_storage,__code);\n  if ((p_Var2 != (__node_base *)0x0) && (p_Var1 = p_Var2->_M_nxt, p_Var1 != (_Hash_node_base *)0x0))\n  {\n    operator_delete(__node);\n    return (Output_section *)p_Var1[4]._M_nxt;\n  }\n  iVar3 = std::\n          _Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::_M_insert_unique_node\n                    ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                      *)&this->section_name_map_,uVar5,__code,__node,1);\n  if (EVar6 == 1) {\n    if (flags == 0) {\n      pOVar4 = find_output_section(this,name);\n      if ((pOVar4 != (Output_section *)0x0) &&\n         (((pOVar4->type_ - 0xe < 3 || (pOVar4->type_ == 1)) && ((pOVar4->flags_ & 0x400) == 0))))\n      goto LAB_001ace6d;\n    }\n    else if ((flags & 0x400) == 0) {\n      zero_key.second.first = 1;\n      zero_key.second.second = 0;\n      zero_key.first = name_key;\n      p_Var2 = std::\n               _Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_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::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->section_name_map_,\n                          (name_key + 1) % (this->section_name_map_)._M_h._M_bucket_count,&zero_key,\n                          name_key + 1);\n      if (((p_Var2 != (__node_base *)0x0) && (p_Var2->_M_nxt != (_Hash_node_base *)0x0)) &&\n         (pOVar4 = (Output_section *)p_Var2->_M_nxt[4]._M_nxt, pOVar4 != (Output_section *)0x0))\n      goto LAB_001ace6d;\n    }\n  }\n  pOVar4 = make_output_section(this,name,type,flags,order,is_relro);\nLAB_001ace6d:\n  *(Output_section **)\n   ((long)iVar3.\n          super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_true>\n          ._M_cur + 0x20) = pOVar4;\n  return pOVar4;\n}\n\n" comment comment (ERROR "Output_section * __thiscall\ngold::Layout::get_output_section\n          (Layout *this,char *name,Key name_key,Elf_Word type,Elf_Xword flags,\n          Output_section_order order,bool is_relro)" (binary_expression "Output_section * __thiscall\ngold::Layout::get_output_section\n          (Layout *this,char *name,Key name_key,Elf_Word type,Elf_Xword flags,\n          Output_section_order order,bool is_relro)" identifier * (call_expression "__thiscall\ngold::Layout::get_output_section\n          (Layout *this,char *name,Key name_key,Elf_Word type,Elf_Xword flags,\n          Output_section_order order,bool is_relro)" identifier (ERROR "gold::Layout::get_output_section" identifier : : identifier : : identifier) (argument_list "(Layout *this,char *name,Key name_key,Elf_Word type,Elf_Xword flags,\n          Output_section_order order,bool is_relro)" ( (binary_expression "Layout *this" identifier * identifier) , (binary_expression "char *name" identifier * identifier) , (ERROR "Key" identifier) identifier , identifier (ERROR "type" identifier) , identifier (ERROR "flags" identifier) , identifier (ERROR "order" identifier) , (ERROR "bool" identifier) identifier ))))) (compound_statement "{\n  _Hash_node_base *p_Var1;\n  __node_type *__node;\n  __node_base *p_Var2;\n  iterator iVar3;\n  Output_section *pOVar4;\n  Elf_Word lookup_type;\n  ulong uVar5;\n  Elf_Word EVar6;\n  __hash_code __code;\n  ulong local_78;\n  Key zero_key;\n  \n  if (type - 0xe < 3) {\n    local_78 = 1;\n    EVar6 = 1;\n  }\n  else {\n    local_78 = (ulong)type;\n    EVar6 = type;\n  }\n  uVar5 = (ulong)((uint)flags & 0xfffffffa);\n  __node = (__node_type *)operator_new(0x30);\n  *(ulong *)((long)&(__node->\n                    super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                    )._M_storage._M_storage + 0x10) = uVar5;\n  (__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n  ).super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n  __code = local_78 + uVar5 + name_key;\n  (__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n  )._M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)name_key;\n  *(Elf_Word *)\n   ((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )._M_storage._M_storage + 8) = EVar6;\n  *(undefined8 *)\n   ((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )._M_storage._M_storage + 0x18) = 0;\n  uVar5 = __code % (this->section_name_map_)._M_h._M_bucket_count;\n  p_Var2 = std::\n           _Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_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::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&this->section_name_map_,uVar5,\n                      (key_type *)\n                      &(__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                       )._M_storage,__code);\n  if ((p_Var2 != (__node_base *)0x0) && (p_Var1 = p_Var2->_M_nxt, p_Var1 != (_Hash_node_base *)0x0))\n  {\n    operator_delete(__node);\n    return (Output_section *)p_Var1[4]._M_nxt;\n  }\n  iVar3 = std::\n          _Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::_M_insert_unique_node\n                    ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                      *)&this->section_name_map_,uVar5,__code,__node,1);\n  if (EVar6 == 1) {\n    if (flags == 0) {\n      pOVar4 = find_output_section(this,name);\n      if ((pOVar4 != (Output_section *)0x0) &&\n         (((pOVar4->type_ - 0xe < 3 || (pOVar4->type_ == 1)) && ((pOVar4->flags_ & 0x400) == 0))))\n      goto LAB_001ace6d;\n    }\n    else if ((flags & 0x400) == 0) {\n      zero_key.second.first = 1;\n      zero_key.second.second = 0;\n      zero_key.first = name_key;\n      p_Var2 = std::\n               _Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_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::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->section_name_map_,\n                          (name_key + 1) % (this->section_name_map_)._M_h._M_bucket_count,&zero_key,\n                          name_key + 1);\n      if (((p_Var2 != (__node_base *)0x0) && (p_Var2->_M_nxt != (_Hash_node_base *)0x0)) &&\n         (pOVar4 = (Output_section *)p_Var2->_M_nxt[4]._M_nxt, pOVar4 != (Output_section *)0x0))\n      goto LAB_001ace6d;\n    }\n  }\n  pOVar4 = make_output_section(this,name,type,flags,order,is_relro);\nLAB_001ace6d:\n  *(Output_section **)\n   ((long)iVar3.\n          super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_true>\n          ._M_cur + 0x20) = pOVar4;\n  return pOVar4;\n}" { (declaration "_Hash_node_base *p_Var1;" type_identifier (pointer_declarator "*p_Var1" * identifier) ;) (declaration "__node_type *__node;" type_identifier (pointer_declarator "*__node" * identifier) ;) (declaration "__node_base *p_Var2;" type_identifier (pointer_declarator "*p_Var2" * identifier) ;) (declaration "iterator iVar3;" type_identifier identifier ;) (declaration "Output_section *pOVar4;" type_identifier (pointer_declarator "*pOVar4" * identifier) ;) (declaration "Elf_Word lookup_type;" type_identifier identifier ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "Elf_Word EVar6;" type_identifier identifier ;) (declaration "__hash_code __code;" type_identifier identifier ;) (declaration "ulong local_78;" type_identifier identifier ;) (declaration "Key zero_key;" type_identifier identifier ;) (if_statement "if (type - 0xe < 3) {\n    local_78 = 1;\n    EVar6 = 1;\n  }\n  else {\n    local_78 = (ulong)type;\n    EVar6 = type;\n  }" if (parenthesized_expression "(type - 0xe < 3)" ( (binary_expression "type - 0xe < 3" (binary_expression "type - 0xe" identifier - number_literal) < number_literal) )) (compound_statement "{\n    local_78 = 1;\n    EVar6 = 1;\n  }" { (expression_statement "local_78 = 1;" (assignment_expression "local_78 = 1" identifier = number_literal) ;) (expression_statement "EVar6 = 1;" (assignment_expression "EVar6 = 1" identifier = number_literal) ;) }) (else_clause "else {\n    local_78 = (ulong)type;\n    EVar6 = type;\n  }" else (compound_statement "{\n    local_78 = (ulong)type;\n    EVar6 = type;\n  }" { (expression_statement "local_78 = (ulong)type;" (assignment_expression "local_78 = (ulong)type" identifier = (cast_expression "(ulong)type" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "EVar6 = type;" (assignment_expression "EVar6 = type" identifier = identifier) ;) }))) (expression_statement "uVar5 = (ulong)((uint)flags & 0xfffffffa);" (assignment_expression "uVar5 = (ulong)((uint)flags & 0xfffffffa)" identifier = (call_expression "(ulong)((uint)flags & 0xfffffffa)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)flags & 0xfffffffa)" ( (binary_expression "(uint)flags & 0xfffffffa" (cast_expression "(uint)flags" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "__node = (__node_type *)operator_new(0x30);" (assignment_expression "__node = (__node_type *)operator_new(0x30)" identifier = (cast_expression "(__node_type *)operator_new(0x30)" ( (type_descriptor "__node_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x30)" identifier (argument_list "(0x30)" ( number_literal ))))) ;) (expression_statement "*(ulong *)((long)&(__node->\n                    super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                    )._M_storage._M_storage + 0x10) = uVar5;" (assignment_expression "*(ulong *)((long)&(__node->\n                    super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                    )._M_storage._M_storage + 0x10) = uVar5" (pointer_expression "*(ulong *)((long)&(__node->\n                    super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                    )._M_storage._M_storage + 0x10)" * (cast_expression "(ulong *)((long)&(__node->\n                    super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                    )._M_storage._M_storage + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(__node->\n                    super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                    )._M_storage._M_storage + 0x10)" ( (binary_expression "(long)&(__node->\n                    super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                    )._M_storage._M_storage + 0x10" (cast_expression "(long)&(__node->\n                    super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                    )._M_storage._M_storage" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(__node->\n                    super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                    )._M_storage._M_storage" & (field_expression "(__node->\n                    super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                    )._M_storage._M_storage" (field_expression "(__node->\n                    super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                    )._M_storage" (parenthesized_expression "(__node->\n                    super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                    )" ( (ERROR "__node->\n                    super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::" (comma_expression "__node->\n                    super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std" (binary_expression "__node->\n                    super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int" (binary_expression "__node->\n                    super__Hash_node_value_base<std::pair<const_std" (binary_expression "__node->\n                    super__Hash_node_value_base<std" (field_expression "__node->\n                    super__Hash_node_value_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>,_gold" (binary_expression "_long_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : :) (binary_expression "Output_section*>_>" (binary_expression "Output_section*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "(__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n  ).super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "(__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n  ).super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0" (field_expression "(__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n  ).super__Hash_node_base._M_nxt" (field_expression "(__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n  ).super__Hash_node_base" (parenthesized_expression "(__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n  )" ( (ERROR "__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::" (comma_expression "__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std" (binary_expression "__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int" (binary_expression "__node->\n  super__Hash_node_value_base<std::pair<const_std" (binary_expression "__node->\n  super__Hash_node_value_base<std" (field_expression "__node->\n  super__Hash_node_value_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>,_gold" (binary_expression "_long_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : :) (binary_expression "Output_section*>_>" (binary_expression "Output_section*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "__code = local_78 + uVar5 + name_key;" (assignment_expression "__code = local_78 + uVar5 + name_key" identifier = (binary_expression "local_78 + uVar5 + name_key" (binary_expression "local_78 + uVar5" identifier + identifier) + identifier)) ;) (expression_statement "(__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n  )._M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)name_key;" (assignment_expression "(__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n  )._M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)name_key" (field_expression "(__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n  )._M_storage._M_storage.__align" (field_expression "(__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n  )._M_storage._M_storage" (field_expression "(__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n  )._M_storage" (parenthesized_expression "(__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n  )" ( (ERROR "__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::" (comma_expression "__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std" (binary_expression "__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int" (binary_expression "__node->\n  super__Hash_node_value_base<std::pair<const_std" (binary_expression "__node->\n  super__Hash_node_value_base<std" (field_expression "__node->\n  super__Hash_node_value_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>,_gold" (binary_expression "_long_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : :) (binary_expression "Output_section*>_>" (binary_expression "Output_section*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(anon_struct_8_0_00000001_for___align)name_key" ( (type_descriptor "anon_struct_8_0_00000001_for___align" type_identifier) ) identifier)) ;) (expression_statement "*(Elf_Word *)\n   ((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )._M_storage._M_storage + 8) = EVar6;" (assignment_expression "*(Elf_Word *)\n   ((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )._M_storage._M_storage + 8) = EVar6" (pointer_expression "*(Elf_Word *)\n   ((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )._M_storage._M_storage + 8)" * (cast_expression "(Elf_Word *)\n   ((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )._M_storage._M_storage + 8)" ( (type_descriptor "Elf_Word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )._M_storage._M_storage + 8)" ( (binary_expression "(long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )._M_storage._M_storage + 8" (cast_expression "(long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )._M_storage._M_storage" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )._M_storage._M_storage" & (field_expression "(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )._M_storage._M_storage" (field_expression "(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )._M_storage" (parenthesized_expression "(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )" ( (ERROR "__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::" (comma_expression "__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std" (binary_expression "__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int" (binary_expression "__node->\n           super__Hash_node_value_base<std::pair<const_std" (binary_expression "__node->\n           super__Hash_node_value_base<std" (field_expression "__node->\n           super__Hash_node_value_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>,_gold" (binary_expression "_long_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : :) (binary_expression "Output_section*>_>" (binary_expression "Output_section*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)\n   ((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )._M_storage._M_storage + 0x18) = 0;" (assignment_expression "*(undefined8 *)\n   ((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )._M_storage._M_storage + 0x18) = 0" (pointer_expression "*(undefined8 *)\n   ((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )._M_storage._M_storage + 0x18)" * (cast_expression "(undefined8 *)\n   ((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )._M_storage._M_storage + 0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )._M_storage._M_storage + 0x18)" ( (binary_expression "(long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )._M_storage._M_storage + 0x18" (cast_expression "(long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )._M_storage._M_storage" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )._M_storage._M_storage" & (field_expression "(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )._M_storage._M_storage" (field_expression "(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )._M_storage" (parenthesized_expression "(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n           )" ( (ERROR "__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::" (comma_expression "__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std" (binary_expression "__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int" (binary_expression "__node->\n           super__Hash_node_value_base<std::pair<const_std" (binary_expression "__node->\n           super__Hash_node_value_base<std" (field_expression "__node->\n           super__Hash_node_value_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>,_gold" (binary_expression "_long_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : :) (binary_expression "Output_section*>_>" (binary_expression "Output_section*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "uVar5 = __code % (this->section_name_map_)._M_h._M_bucket_count;" (assignment_expression "uVar5 = __code % (this->section_name_map_)._M_h._M_bucket_count" identifier = (binary_expression "__code % (this->section_name_map_)._M_h._M_bucket_count" identifier % (field_expression "(this->section_name_map_)._M_h._M_bucket_count" (field_expression "(this->section_name_map_)._M_h" (parenthesized_expression "(this->section_name_map_)" ( (field_expression "this->section_name_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (ERROR "p_Var2 = std::\n           _Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::" (assignment_expression "p_Var2 = std" identifier = identifier) : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>,_std" (binary_expression "_long_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>,_gold" (binary_expression "_long_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (comma_expression "Output_section*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>,_gold" (binary_expression "_long_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "Output_section*>_>,_std" (binary_expression "Output_section*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_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::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&this->section_name_map_,uVar5,\n                      (key_type *)\n                      &(__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                       )._M_storage,__code);" statement_identifier (ERROR "::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold:" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>_>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>_>,_gold" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) > (ERROR "," ,) identifier)) :) : (labeled_statement "Layout::Hash_key,_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::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&this->section_name_map_,uVar5,\n                      (key_type *)\n                      &(__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                       )._M_storage,__code);" statement_identifier (ERROR "::Hash_key,_std:" : : (comma_expression "Hash_key,_std" identifier , 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::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&this->section_name_map_,uVar5,\n                      (key_type *)\n                      &(__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                       )._M_storage,__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::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&this->section_name_map_,uVar5,\n                      (key_type *)\n                      &(__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                       )._M_storage,__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::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&this->section_name_map_,uVar5,\n                      (key_type *)\n                      &(__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                       )._M_storage,__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::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&this->section_name_map_,uVar5,\n                      (key_type *)\n                      &(__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                       )._M_storage,__code);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_false,_true>_>\n           ::_M_find_before_node\n                     ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&this->section_name_map_,uVar5,\n                      (key_type *)\n                      &(__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                       )._M_storage,__code);" (comma_expression "_Hashtable_traits<true,_false,_true>_>\n           ::_M_find_before_node\n                     ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&this->section_name_map_,uVar5,\n                      (key_type *)\n                      &(__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                       )._M_storage,__code)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n           ::_M_find_before_node\n                     ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&this->section_name_map_,uVar5,\n                      (key_type *)\n                      &(__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                       )._M_storage,__code)" identifier , (binary_expression "_true>_>\n           ::_M_find_before_node\n                     ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&this->section_name_map_,uVar5,\n                      (key_type *)\n                      &(__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                       )._M_storage,__code)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "_M_find_before_node\n                     ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&this->section_name_map_,uVar5,\n                      (key_type *)\n                      &(__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                       )._M_storage,__code)" identifier (argument_list "((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&this->section_name_map_,uVar5,\n                      (key_type *)\n                      &(__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                       )._M_storage,__code)" ( (parenthesized_expression "(_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&this->section_name_map_,uVar5,\n                      (key_type *)\n                      &(__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                       )._M_storage,__code)" ( (ERROR "_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::pair<long_unsigned_int,_std" (binary_expression "_Hashtable<std::pair<long_unsigned_int" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>,_std" (binary_expression "_long_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>,_gold" (binary_expression "_long_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (comma_expression "Output_section*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>,_gold" (binary_expression "_long_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "Output_section*>_>,_std" (binary_expression "Output_section*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>_>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>_>,_gold" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) > (ERROR "," ,) identifier)) : : identifier : : (comma_expression "Hash_key,_std" identifier , 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->section_name_map_,uVar5,\n                      (key_type *)\n                      &(__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                       )._M_storage,__code" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n                       *)&this->section_name_map_,uVar5,\n                      (key_type *)\n                      &(__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                       )._M_storage,__code" identifier , (comma_expression "_true>_>\n                       *)&this->section_name_map_,uVar5,\n                      (key_type *)\n                      &(__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                       )._M_storage,__code" (binary_expression "_true>_>\n                       *)&this->section_name_map_" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*)&this->section_name_map_" * (ERROR ")" )) (pointer_expression "&this->section_name_map_" & (field_expression "this->section_name_map_" identifier -> field_identifier)))) , (comma_expression "uVar5,\n                      (key_type *)\n                      &(__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                       )._M_storage,__code" identifier , (comma_expression "(key_type *)\n                      &(__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                       )._M_storage,__code" (cast_expression "(key_type *)\n                      &(__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                       )._M_storage" ( (type_descriptor "key_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                       )._M_storage" & (field_expression "(__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                       )._M_storage" (parenthesized_expression "(__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>\n                       )" ( (ERROR "__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::" (comma_expression "__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std" (binary_expression "__node->\n                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int" (binary_expression "__node->\n                       super__Hash_node_value_base<std::pair<const_std" (binary_expression "__node->\n                       super__Hash_node_value_base<std" (field_expression "__node->\n                       super__Hash_node_value_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>,_gold" (binary_expression "_long_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : :) (binary_expression "Output_section*>_>" (binary_expression "Output_section*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier))) , identifier))))) )) )))))) ;))))))) (if_statement "if ((p_Var2 != (__node_base *)0x0) && (p_Var1 = p_Var2->_M_nxt, p_Var1 != (_Hash_node_base *)0x0))\n  {\n    operator_delete(__node);\n    return (Output_section *)p_Var1[4]._M_nxt;\n  }" if (parenthesized_expression "((p_Var2 != (__node_base *)0x0) && (p_Var1 = p_Var2->_M_nxt, p_Var1 != (_Hash_node_base *)0x0))" ( (binary_expression "(p_Var2 != (__node_base *)0x0) && (p_Var1 = p_Var2->_M_nxt, p_Var1 != (_Hash_node_base *)0x0)" (parenthesized_expression "(p_Var2 != (__node_base *)0x0)" ( (binary_expression "p_Var2 != (__node_base *)0x0" identifier != (cast_expression "(__node_base *)0x0" ( (type_descriptor "__node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(p_Var1 = p_Var2->_M_nxt, p_Var1 != (_Hash_node_base *)0x0)" ( (comma_expression "p_Var1 = p_Var2->_M_nxt, p_Var1 != (_Hash_node_base *)0x0" (assignment_expression "p_Var1 = p_Var2->_M_nxt" identifier = (field_expression "p_Var2->_M_nxt" identifier -> field_identifier)) , (binary_expression "p_Var1 != (_Hash_node_base *)0x0" identifier != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    operator_delete(__node);\n    return (Output_section *)p_Var1[4]._M_nxt;\n  }" { (expression_statement "operator_delete(__node);" (call_expression "operator_delete(__node)" identifier (argument_list "(__node)" ( identifier ))) ;) (return_statement "return (Output_section *)p_Var1[4]._M_nxt;" return (cast_expression "(Output_section *)p_Var1[4]._M_nxt" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var1[4]._M_nxt" (subscript_expression "p_Var1[4]" identifier [ number_literal ]) . field_identifier)) ;) })) (ERROR "iVar3 = std::\n          _Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::" (assignment_expression "iVar3 = std" identifier = identifier) : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>,_std" (binary_expression "_long_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>,_gold" (binary_expression "_long_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (comma_expression "Output_section*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>,_gold" (binary_expression "_long_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "Output_section*>_>,_std" (binary_expression "Output_section*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::_M_insert_unique_node\n                    ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                      *)&this->section_name_map_,uVar5,__code,__node,1);" statement_identifier (ERROR "::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold:" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>_>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>_>,_gold" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) > (ERROR "," ,) identifier)) :) : (labeled_statement "Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::_M_insert_unique_node\n                    ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                      *)&this->section_name_map_,uVar5,__code,__node,1);" statement_identifier (ERROR "::Hash_key,_std:" : : (comma_expression "Hash_key,_std" identifier , 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_insert_unique_node\n                    ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                      *)&this->section_name_map_,uVar5,__code,__node,1);" 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_insert_unique_node\n                    ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                      *)&this->section_name_map_,uVar5,__code,__node,1);" 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_insert_unique_node\n                    ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                      *)&this->section_name_map_,uVar5,__code,__node,1);" 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_insert_unique_node\n                    ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                      *)&this->section_name_map_,uVar5,__code,__node,1);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_false,_true>_>\n          ::_M_insert_unique_node\n                    ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                      *)&this->section_name_map_,uVar5,__code,__node,1);" (comma_expression "_Hashtable_traits<true,_false,_true>_>\n          ::_M_insert_unique_node\n                    ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                      *)&this->section_name_map_,uVar5,__code,__node,1)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n          ::_M_insert_unique_node\n                    ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                      *)&this->section_name_map_,uVar5,__code,__node,1)" identifier , (binary_expression "_true>_>\n          ::_M_insert_unique_node\n                    ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                      *)&this->section_name_map_,uVar5,__code,__node,1)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "_M_insert_unique_node\n                    ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                      *)&this->section_name_map_,uVar5,__code,__node,1)" identifier (argument_list "((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                      *)&this->section_name_map_,uVar5,__code,__node,1)" ( (binary_expression "(_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                      *)&this->section_name_map_" (parenthesized_expression "(_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                      *)" ( (ERROR "_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::pair<long_unsigned_int,_std" (binary_expression "_Hashtable<std::pair<long_unsigned_int" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>,_std" (binary_expression "_long_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>,_gold" (binary_expression "_long_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (comma_expression "Output_section*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>,_gold" (binary_expression "_long_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "Output_section*>_>,_std" (binary_expression "Output_section*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>_>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>_>,_gold" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) > (ERROR "," ,) identifier)) : : identifier : : (comma_expression "Hash_key,_std" identifier , identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,_false,_true>_>\n                      *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n                      *" identifier , (binary_expression "_true>_>\n                      *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) & (field_expression "this->section_name_map_" identifier -> field_identifier)) , identifier , identifier , identifier , number_literal )))))) ;))))))) (if_statement "if (EVar6 == 1) {\n    if (flags == 0) {\n      pOVar4 = find_output_section(this,name);\n      if ((pOVar4 != (Output_section *)0x0) &&\n         (((pOVar4->type_ - 0xe < 3 || (pOVar4->type_ == 1)) && ((pOVar4->flags_ & 0x400) == 0))))\n      goto LAB_001ace6d;\n    }\n    else if ((flags & 0x400) == 0) {\n      zero_key.second.first = 1;\n      zero_key.second.second = 0;\n      zero_key.first = name_key;\n      p_Var2 = std::\n               _Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_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::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->section_name_map_,\n                          (name_key + 1) % (this->section_name_map_)._M_h._M_bucket_count,&zero_key,\n                          name_key + 1);\n      if (((p_Var2 != (__node_base *)0x0) && (p_Var2->_M_nxt != (_Hash_node_base *)0x0)) &&\n         (pOVar4 = (Output_section *)p_Var2->_M_nxt[4]._M_nxt, pOVar4 != (Output_section *)0x0))\n      goto LAB_001ace6d;\n    }\n  }" if (parenthesized_expression "(EVar6 == 1)" ( (binary_expression "EVar6 == 1" identifier == number_literal) )) (compound_statement "{\n    if (flags == 0) {\n      pOVar4 = find_output_section(this,name);\n      if ((pOVar4 != (Output_section *)0x0) &&\n         (((pOVar4->type_ - 0xe < 3 || (pOVar4->type_ == 1)) && ((pOVar4->flags_ & 0x400) == 0))))\n      goto LAB_001ace6d;\n    }\n    else if ((flags & 0x400) == 0) {\n      zero_key.second.first = 1;\n      zero_key.second.second = 0;\n      zero_key.first = name_key;\n      p_Var2 = std::\n               _Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_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::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->section_name_map_,\n                          (name_key + 1) % (this->section_name_map_)._M_h._M_bucket_count,&zero_key,\n                          name_key + 1);\n      if (((p_Var2 != (__node_base *)0x0) && (p_Var2->_M_nxt != (_Hash_node_base *)0x0)) &&\n         (pOVar4 = (Output_section *)p_Var2->_M_nxt[4]._M_nxt, pOVar4 != (Output_section *)0x0))\n      goto LAB_001ace6d;\n    }\n  }" { (if_statement "if (flags == 0) {\n      pOVar4 = find_output_section(this,name);\n      if ((pOVar4 != (Output_section *)0x0) &&\n         (((pOVar4->type_ - 0xe < 3 || (pOVar4->type_ == 1)) && ((pOVar4->flags_ & 0x400) == 0))))\n      goto LAB_001ace6d;\n    }\n    else if ((flags & 0x400) == 0) {\n      zero_key.second.first = 1;\n      zero_key.second.second = 0;\n      zero_key.first = name_key;\n      p_Var2 = std::\n               _Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_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::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->section_name_map_,\n                          (name_key + 1) % (this->section_name_map_)._M_h._M_bucket_count,&zero_key,\n                          name_key + 1);\n      if (((p_Var2 != (__node_base *)0x0) && (p_Var2->_M_nxt != (_Hash_node_base *)0x0)) &&\n         (pOVar4 = (Output_section *)p_Var2->_M_nxt[4]._M_nxt, pOVar4 != (Output_section *)0x0))\n      goto LAB_001ace6d;\n    }" if (parenthesized_expression "(flags == 0)" ( (binary_expression "flags == 0" identifier == number_literal) )) (compound_statement "{\n      pOVar4 = find_output_section(this,name);\n      if ((pOVar4 != (Output_section *)0x0) &&\n         (((pOVar4->type_ - 0xe < 3 || (pOVar4->type_ == 1)) && ((pOVar4->flags_ & 0x400) == 0))))\n      goto LAB_001ace6d;\n    }" { (expression_statement "pOVar4 = find_output_section(this,name);" (assignment_expression "pOVar4 = find_output_section(this,name)" identifier = (call_expression "find_output_section(this,name)" identifier (argument_list "(this,name)" ( identifier , identifier )))) ;) (if_statement "if ((pOVar4 != (Output_section *)0x0) &&\n         (((pOVar4->type_ - 0xe < 3 || (pOVar4->type_ == 1)) && ((pOVar4->flags_ & 0x400) == 0))))\n      goto LAB_001ace6d;" if (parenthesized_expression "((pOVar4 != (Output_section *)0x0) &&\n         (((pOVar4->type_ - 0xe < 3 || (pOVar4->type_ == 1)) && ((pOVar4->flags_ & 0x400) == 0))))" ( (binary_expression "(pOVar4 != (Output_section *)0x0) &&\n         (((pOVar4->type_ - 0xe < 3 || (pOVar4->type_ == 1)) && ((pOVar4->flags_ & 0x400) == 0)))" (parenthesized_expression "(pOVar4 != (Output_section *)0x0)" ( (binary_expression "pOVar4 != (Output_section *)0x0" identifier != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(((pOVar4->type_ - 0xe < 3 || (pOVar4->type_ == 1)) && ((pOVar4->flags_ & 0x400) == 0)))" ( (parenthesized_expression "((pOVar4->type_ - 0xe < 3 || (pOVar4->type_ == 1)) && ((pOVar4->flags_ & 0x400) == 0))" ( (binary_expression "(pOVar4->type_ - 0xe < 3 || (pOVar4->type_ == 1)) && ((pOVar4->flags_ & 0x400) == 0)" (parenthesized_expression "(pOVar4->type_ - 0xe < 3 || (pOVar4->type_ == 1))" ( (binary_expression "pOVar4->type_ - 0xe < 3 || (pOVar4->type_ == 1)" (binary_expression "pOVar4->type_ - 0xe < 3" (binary_expression "pOVar4->type_ - 0xe" (field_expression "pOVar4->type_" identifier -> field_identifier) - number_literal) < number_literal) || (parenthesized_expression "(pOVar4->type_ == 1)" ( (binary_expression "pOVar4->type_ == 1" (field_expression "pOVar4->type_" identifier -> field_identifier) == number_literal) ))) )) && (parenthesized_expression "((pOVar4->flags_ & 0x400) == 0)" ( (binary_expression "(pOVar4->flags_ & 0x400) == 0" (parenthesized_expression "(pOVar4->flags_ & 0x400)" ( (binary_expression "pOVar4->flags_ & 0x400" (field_expression "pOVar4->flags_" identifier -> field_identifier) & number_literal) )) == number_literal) ))) )) ))) )) (goto_statement "goto LAB_001ace6d;" goto statement_identifier ;)) }) (else_clause "else if ((flags & 0x400) == 0) {\n      zero_key.second.first = 1;\n      zero_key.second.second = 0;\n      zero_key.first = name_key;\n      p_Var2 = std::\n               _Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_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::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->section_name_map_,\n                          (name_key + 1) % (this->section_name_map_)._M_h._M_bucket_count,&zero_key,\n                          name_key + 1);\n      if (((p_Var2 != (__node_base *)0x0) && (p_Var2->_M_nxt != (_Hash_node_base *)0x0)) &&\n         (pOVar4 = (Output_section *)p_Var2->_M_nxt[4]._M_nxt, pOVar4 != (Output_section *)0x0))\n      goto LAB_001ace6d;\n    }" else (if_statement "if ((flags & 0x400) == 0) {\n      zero_key.second.first = 1;\n      zero_key.second.second = 0;\n      zero_key.first = name_key;\n      p_Var2 = std::\n               _Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_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::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->section_name_map_,\n                          (name_key + 1) % (this->section_name_map_)._M_h._M_bucket_count,&zero_key,\n                          name_key + 1);\n      if (((p_Var2 != (__node_base *)0x0) && (p_Var2->_M_nxt != (_Hash_node_base *)0x0)) &&\n         (pOVar4 = (Output_section *)p_Var2->_M_nxt[4]._M_nxt, pOVar4 != (Output_section *)0x0))\n      goto LAB_001ace6d;\n    }" if (parenthesized_expression "((flags & 0x400) == 0)" ( (binary_expression "(flags & 0x400) == 0" (parenthesized_expression "(flags & 0x400)" ( (binary_expression "flags & 0x400" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      zero_key.second.first = 1;\n      zero_key.second.second = 0;\n      zero_key.first = name_key;\n      p_Var2 = std::\n               _Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_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::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->section_name_map_,\n                          (name_key + 1) % (this->section_name_map_)._M_h._M_bucket_count,&zero_key,\n                          name_key + 1);\n      if (((p_Var2 != (__node_base *)0x0) && (p_Var2->_M_nxt != (_Hash_node_base *)0x0)) &&\n         (pOVar4 = (Output_section *)p_Var2->_M_nxt[4]._M_nxt, pOVar4 != (Output_section *)0x0))\n      goto LAB_001ace6d;\n    }" { (expression_statement "zero_key.second.first = 1;" (assignment_expression "zero_key.second.first = 1" (field_expression "zero_key.second.first" (field_expression "zero_key.second" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "zero_key.second.second = 0;" (assignment_expression "zero_key.second.second = 0" (field_expression "zero_key.second.second" (field_expression "zero_key.second" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "zero_key.first = name_key;" (assignment_expression "zero_key.first = name_key" (field_expression "zero_key.first" identifier . field_identifier) = identifier) ;) (ERROR "p_Var2 = std::\n               _Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::" (assignment_expression "p_Var2 = std" identifier = identifier) : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>,_std" (binary_expression "_long_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>,_gold" (binary_expression "_long_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (comma_expression "Output_section*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>,_gold" (binary_expression "_long_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "Output_section*>_>,_std" (binary_expression "Output_section*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_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::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->section_name_map_,\n                          (name_key + 1) % (this->section_name_map_)._M_h._M_bucket_count,&zero_key,\n                          name_key + 1);" statement_identifier (ERROR "::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold:" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>_>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>_>,_gold" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) > (ERROR "," ,) identifier)) :) : (labeled_statement "Layout::Hash_key,_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::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->section_name_map_,\n                          (name_key + 1) % (this->section_name_map_)._M_h._M_bucket_count,&zero_key,\n                          name_key + 1);" statement_identifier (ERROR "::Hash_key,_std:" : : (comma_expression "Hash_key,_std" identifier , 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::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->section_name_map_,\n                          (name_key + 1) % (this->section_name_map_)._M_h._M_bucket_count,&zero_key,\n                          name_key + 1);" 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::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->section_name_map_,\n                          (name_key + 1) % (this->section_name_map_)._M_h._M_bucket_count,&zero_key,\n                          name_key + 1);" 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::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->section_name_map_,\n                          (name_key + 1) % (this->section_name_map_)._M_h._M_bucket_count,&zero_key,\n                          name_key + 1);" 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::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->section_name_map_,\n                          (name_key + 1) % (this->section_name_map_)._M_h._M_bucket_count,&zero_key,\n                          name_key + 1);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_false,_true>_>\n               ::_M_find_before_node\n                         ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->section_name_map_,\n                          (name_key + 1) % (this->section_name_map_)._M_h._M_bucket_count,&zero_key,\n                          name_key + 1);" (comma_expression "_Hashtable_traits<true,_false,_true>_>\n               ::_M_find_before_node\n                         ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->section_name_map_,\n                          (name_key + 1) % (this->section_name_map_)._M_h._M_bucket_count,&zero_key,\n                          name_key + 1)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n               ::_M_find_before_node\n                         ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->section_name_map_,\n                          (name_key + 1) % (this->section_name_map_)._M_h._M_bucket_count,&zero_key,\n                          name_key + 1)" identifier , (binary_expression "_true>_>\n               ::_M_find_before_node\n                         ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->section_name_map_,\n                          (name_key + 1) % (this->section_name_map_)._M_h._M_bucket_count,&zero_key,\n                          name_key + 1)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "_M_find_before_node\n                         ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->section_name_map_,\n                          (name_key + 1) % (this->section_name_map_)._M_h._M_bucket_count,&zero_key,\n                          name_key + 1)" identifier (argument_list "((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->section_name_map_,\n                          (name_key + 1) % (this->section_name_map_)._M_h._M_bucket_count,&zero_key,\n                          name_key + 1)" ( (binary_expression "(_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->section_name_map_" (parenthesized_expression "(_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)" ( (ERROR "_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>_>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::pair<long_unsigned_int,_std" (binary_expression "_Hashtable<std::pair<long_unsigned_int" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>,_std" (binary_expression "_long_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>,_gold" (binary_expression "_long_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (comma_expression "Output_section*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>,_gold" (binary_expression "_long_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "Output_section*>_>,_std" (binary_expression "Output_section*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>_>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>_>,_gold" (binary_expression "_long_unsigned_int>_>_" (binary_expression "_long_unsigned_int>_" identifier > identifier) > identifier) > (ERROR "," ,) identifier)) : : identifier : : (comma_expression "Hash_key,_std" identifier , identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,_false,_true>_>\n                           *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n                           *" identifier , (binary_expression "_true>_>\n                           *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) & (field_expression "this->section_name_map_" identifier -> field_identifier)) , (binary_expression "(name_key + 1) % (this->section_name_map_)._M_h._M_bucket_count" (parenthesized_expression "(name_key + 1)" ( (binary_expression "name_key + 1" identifier + number_literal) )) % (field_expression "(this->section_name_map_)._M_h._M_bucket_count" (field_expression "(this->section_name_map_)._M_h" (parenthesized_expression "(this->section_name_map_)" ( (field_expression "this->section_name_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) , (pointer_expression "&zero_key" & identifier) , (binary_expression "name_key + 1" identifier + number_literal) )))))) ;))))))) (if_statement "if (((p_Var2 != (__node_base *)0x0) && (p_Var2->_M_nxt != (_Hash_node_base *)0x0)) &&\n         (pOVar4 = (Output_section *)p_Var2->_M_nxt[4]._M_nxt, pOVar4 != (Output_section *)0x0))\n      goto LAB_001ace6d;" if (parenthesized_expression "(((p_Var2 != (__node_base *)0x0) && (p_Var2->_M_nxt != (_Hash_node_base *)0x0)) &&\n         (pOVar4 = (Output_section *)p_Var2->_M_nxt[4]._M_nxt, pOVar4 != (Output_section *)0x0))" ( (binary_expression "((p_Var2 != (__node_base *)0x0) && (p_Var2->_M_nxt != (_Hash_node_base *)0x0)) &&\n         (pOVar4 = (Output_section *)p_Var2->_M_nxt[4]._M_nxt, pOVar4 != (Output_section *)0x0)" (parenthesized_expression "((p_Var2 != (__node_base *)0x0) && (p_Var2->_M_nxt != (_Hash_node_base *)0x0))" ( (binary_expression "(p_Var2 != (__node_base *)0x0) && (p_Var2->_M_nxt != (_Hash_node_base *)0x0)" (parenthesized_expression "(p_Var2 != (__node_base *)0x0)" ( (binary_expression "p_Var2 != (__node_base *)0x0" identifier != (cast_expression "(__node_base *)0x0" ( (type_descriptor "__node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(p_Var2->_M_nxt != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var2->_M_nxt != (_Hash_node_base *)0x0" (field_expression "p_Var2->_M_nxt" identifier -> field_identifier) != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(pOVar4 = (Output_section *)p_Var2->_M_nxt[4]._M_nxt, pOVar4 != (Output_section *)0x0)" ( (comma_expression "pOVar4 = (Output_section *)p_Var2->_M_nxt[4]._M_nxt, pOVar4 != (Output_section *)0x0" (assignment_expression "pOVar4 = (Output_section *)p_Var2->_M_nxt[4]._M_nxt" identifier = (cast_expression "(Output_section *)p_Var2->_M_nxt[4]._M_nxt" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var2->_M_nxt[4]._M_nxt" (subscript_expression "p_Var2->_M_nxt[4]" (field_expression "p_Var2->_M_nxt" identifier -> field_identifier) [ number_literal ]) . field_identifier))) , (binary_expression "pOVar4 != (Output_section *)0x0" identifier != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_001ace6d;" goto statement_identifier ;)) })))) })) (expression_statement "pOVar4 = make_output_section(this,name,type,flags,order,is_relro);" (assignment_expression "pOVar4 = make_output_section(this,name,type,flags,order,is_relro)" identifier = (call_expression "make_output_section(this,name,type,flags,order,is_relro)" identifier (argument_list "(this,name,type,flags,order,is_relro)" ( identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (labeled_statement "LAB_001ace6d:\n  *(Output_section **)\n   ((long)iVar3.\n          super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_true>\n          ._M_cur + 0x20) = pOVar4;" statement_identifier : (expression_statement "*(Output_section **)\n   ((long)iVar3.\n          super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_true>\n          ._M_cur + 0x20) = pOVar4;" (assignment_expression "*(Output_section **)\n   ((long)iVar3.\n          super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_true>\n          ._M_cur + 0x20) = pOVar4" (pointer_expression "*(Output_section **)\n   ((long)iVar3.\n          super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_true>\n          ._M_cur + 0x20)" * (cast_expression "(Output_section **)\n   ((long)iVar3.\n          super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_true>\n          ._M_cur + 0x20)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((long)iVar3.\n          super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::Output_section*>,_true>\n          ._M_cur + 0x20)" ( (ERROR "(long)iVar3.\n          super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>_>,_gold::" (comma_expression "(long)iVar3.\n          super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_std" (binary_expression "(long)iVar3.\n          super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int" (binary_expression "(long)iVar3.\n          super__Node_iterator_base<std::pair<const_std" (binary_expression "(long)iVar3.\n          super__Node_iterator_base<std" (cast_expression "(long)iVar3.\n          super__Node_iterator_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "iVar3.\n          super__Node_iterator_base" identifier . field_identifier)) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , identifier) : : (comma_expression "pair<unsigned_int,_long_unsigned_int>_>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>_>,_gold" (binary_expression "_long_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : :) (binary_expression "Output_section*>,_true>\n          ._M_cur + 0x20" (binary_expression "Output_section*>,_true" identifier * (ERROR ">," > ,) identifier) > (ERROR "." .) (binary_expression "_M_cur + 0x20" identifier + number_literal)) )))) = identifier) ;)) (return_statement "return pOVar4;" return identifier ;) }))
(translation_unit "long FUN_001acd20(long param_1,undefined8 param_2,long param_3,uint param_4,ulong param_5,\n                 undefined4 param_6,undefined1 param_7)\n\n{\n  undefined8 *puVar1;\n  long *plVar2;\n  long lVar3;\n  long lVar4;\n  ulong uVar5;\n  uint uVar6;\n  ulong local_78;\n  long local_58;\n  undefined4 local_50;\n  undefined8 local_48;\n  \n  if (param_4 - 0xe < 3) {\n    local_78 = 1;\n    uVar6 = 1;\n  }\n  else {\n    local_78 = (ulong)param_4;\n    uVar6 = param_4;\n  }\n  uVar5 = (ulong)((uint)param_5 & 0xfffffffa);\n  puVar1 = (undefined8 *)FUN_002d9490(0x30);\n  puVar1[3] = uVar5;\n  *puVar1 = 0;\n  local_78 = local_78 + uVar5 + param_3;\n  puVar1[1] = param_3;\n  *(uint *)(puVar1 + 2) = uVar6;\n  puVar1[4] = 0;\n  uVar5 = local_78 % *(ulong *)(param_1 + 0x200);\n  plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,uVar5,puVar1 + 1,local_78);\n  if ((plVar2 != (long *)0x0) && (lVar3 = *plVar2, lVar3 != 0)) {\n    FUN_002dac60(puVar1);\n    return *(long *)(lVar3 + 0x20);\n  }\n  lVar3 = FUN_001b6710(param_1 + 0x1f8,uVar5,local_78,puVar1,1);\n  if (uVar6 == 1) {\n    if (param_5 == 0) {\n      lVar4 = FUN_001a4d80(param_1,param_2);\n      if ((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))) goto LAB_001ace6d;\n    }\n    else if ((param_5 & 0x400) == 0) {\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }\n  }\n  lVar4 = FUN_001a8f30(param_1,param_2,param_4,param_5,param_6,param_7);\nLAB_001ace6d:\n  *(long *)(lVar3 + 0x20) = lVar4;\n  return lVar4;\n}\n\n" (function_definition "long FUN_001acd20(long param_1,undefined8 param_2,long param_3,uint param_4,ulong param_5,\n                 undefined4 param_6,undefined1 param_7)\n\n{\n  undefined8 *puVar1;\n  long *plVar2;\n  long lVar3;\n  long lVar4;\n  ulong uVar5;\n  uint uVar6;\n  ulong local_78;\n  long local_58;\n  undefined4 local_50;\n  undefined8 local_48;\n  \n  if (param_4 - 0xe < 3) {\n    local_78 = 1;\n    uVar6 = 1;\n  }\n  else {\n    local_78 = (ulong)param_4;\n    uVar6 = param_4;\n  }\n  uVar5 = (ulong)((uint)param_5 & 0xfffffffa);\n  puVar1 = (undefined8 *)FUN_002d9490(0x30);\n  puVar1[3] = uVar5;\n  *puVar1 = 0;\n  local_78 = local_78 + uVar5 + param_3;\n  puVar1[1] = param_3;\n  *(uint *)(puVar1 + 2) = uVar6;\n  puVar1[4] = 0;\n  uVar5 = local_78 % *(ulong *)(param_1 + 0x200);\n  plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,uVar5,puVar1 + 1,local_78);\n  if ((plVar2 != (long *)0x0) && (lVar3 = *plVar2, lVar3 != 0)) {\n    FUN_002dac60(puVar1);\n    return *(long *)(lVar3 + 0x20);\n  }\n  lVar3 = FUN_001b6710(param_1 + 0x1f8,uVar5,local_78,puVar1,1);\n  if (uVar6 == 1) {\n    if (param_5 == 0) {\n      lVar4 = FUN_001a4d80(param_1,param_2);\n      if ((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))) goto LAB_001ace6d;\n    }\n    else if ((param_5 & 0x400) == 0) {\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }\n  }\n  lVar4 = FUN_001a8f30(param_1,param_2,param_4,param_5,param_6,param_7);\nLAB_001ace6d:\n  *(long *)(lVar3 + 0x20) = lVar4;\n  return lVar4;\n}" (sized_type_specifier "long" long) (function_declarator "FUN_001acd20(long param_1,undefined8 param_2,long param_3,uint param_4,ulong param_5,\n                 undefined4 param_6,undefined1 param_7)" identifier (parameter_list "(long param_1,undefined8 param_2,long param_3,uint param_4,ulong param_5,\n                 undefined4 param_6,undefined1 param_7)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "long param_3" (sized_type_specifier "long" long) identifier) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "ulong param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "undefined1 param_7" type_identifier identifier) ))) (compound_statement "{\n  undefined8 *puVar1;\n  long *plVar2;\n  long lVar3;\n  long lVar4;\n  ulong uVar5;\n  uint uVar6;\n  ulong local_78;\n  long local_58;\n  undefined4 local_50;\n  undefined8 local_48;\n  \n  if (param_4 - 0xe < 3) {\n    local_78 = 1;\n    uVar6 = 1;\n  }\n  else {\n    local_78 = (ulong)param_4;\n    uVar6 = param_4;\n  }\n  uVar5 = (ulong)((uint)param_5 & 0xfffffffa);\n  puVar1 = (undefined8 *)FUN_002d9490(0x30);\n  puVar1[3] = uVar5;\n  *puVar1 = 0;\n  local_78 = local_78 + uVar5 + param_3;\n  puVar1[1] = param_3;\n  *(uint *)(puVar1 + 2) = uVar6;\n  puVar1[4] = 0;\n  uVar5 = local_78 % *(ulong *)(param_1 + 0x200);\n  plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,uVar5,puVar1 + 1,local_78);\n  if ((plVar2 != (long *)0x0) && (lVar3 = *plVar2, lVar3 != 0)) {\n    FUN_002dac60(puVar1);\n    return *(long *)(lVar3 + 0x20);\n  }\n  lVar3 = FUN_001b6710(param_1 + 0x1f8,uVar5,local_78,puVar1,1);\n  if (uVar6 == 1) {\n    if (param_5 == 0) {\n      lVar4 = FUN_001a4d80(param_1,param_2);\n      if ((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))) goto LAB_001ace6d;\n    }\n    else if ((param_5 & 0x400) == 0) {\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }\n  }\n  lVar4 = FUN_001a8f30(param_1,param_2,param_4,param_5,param_6,param_7);\nLAB_001ace6d:\n  *(long *)(lVar3 + 0x20) = lVar4;\n  return lVar4;\n}" { (declaration "undefined8 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "long *plVar2;" (sized_type_specifier "long" long) (pointer_declarator "*plVar2" * identifier) ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "ulong local_78;" type_identifier identifier ;) (declaration "long local_58;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (if_statement "if (param_4 - 0xe < 3) {\n    local_78 = 1;\n    uVar6 = 1;\n  }\n  else {\n    local_78 = (ulong)param_4;\n    uVar6 = param_4;\n  }" if (parenthesized_expression "(param_4 - 0xe < 3)" ( (binary_expression "param_4 - 0xe < 3" (binary_expression "param_4 - 0xe" identifier - number_literal) < number_literal) )) (compound_statement "{\n    local_78 = 1;\n    uVar6 = 1;\n  }" { (expression_statement "local_78 = 1;" (assignment_expression "local_78 = 1" identifier = number_literal) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) }) (else_clause "else {\n    local_78 = (ulong)param_4;\n    uVar6 = param_4;\n  }" else (compound_statement "{\n    local_78 = (ulong)param_4;\n    uVar6 = param_4;\n  }" { (expression_statement "local_78 = (ulong)param_4;" (assignment_expression "local_78 = (ulong)param_4" identifier = (cast_expression "(ulong)param_4" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar6 = param_4;" (assignment_expression "uVar6 = param_4" identifier = identifier) ;) }))) (expression_statement "uVar5 = (ulong)((uint)param_5 & 0xfffffffa);" (assignment_expression "uVar5 = (ulong)((uint)param_5 & 0xfffffffa)" identifier = (call_expression "(ulong)((uint)param_5 & 0xfffffffa)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)param_5 & 0xfffffffa)" ( (binary_expression "(uint)param_5 & 0xfffffffa" (cast_expression "(uint)param_5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "puVar1 = (undefined8 *)FUN_002d9490(0x30);" (assignment_expression "puVar1 = (undefined8 *)FUN_002d9490(0x30)" identifier = (cast_expression "(undefined8 *)FUN_002d9490(0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x30)" identifier (argument_list "(0x30)" ( number_literal ))))) ;) (expression_statement "puVar1[3] = uVar5;" (assignment_expression "puVar1[3] = uVar5" (subscript_expression "puVar1[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar1 = 0;" (assignment_expression "*puVar1 = 0" (pointer_expression "*puVar1" * identifier) = number_literal) ;) (expression_statement "local_78 = local_78 + uVar5 + param_3;" (assignment_expression "local_78 = local_78 + uVar5 + param_3" identifier = (binary_expression "local_78 + uVar5 + param_3" (binary_expression "local_78 + uVar5" identifier + identifier) + identifier)) ;) (expression_statement "puVar1[1] = param_3;" (assignment_expression "puVar1[1] = param_3" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(uint *)(puVar1 + 2) = uVar6;" (assignment_expression "*(uint *)(puVar1 + 2) = uVar6" (pointer_expression "*(uint *)(puVar1 + 2)" * (cast_expression "(uint *)(puVar1 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 2)" ( (binary_expression "puVar1 + 2" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar1[4] = 0;" (assignment_expression "puVar1[4] = 0" (subscript_expression "puVar1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar5 = local_78 % *(ulong *)(param_1 + 0x200);" (assignment_expression "uVar5 = local_78 % *(ulong *)(param_1 + 0x200)" identifier = (binary_expression "local_78 % *(ulong *)(param_1 + 0x200)" identifier % (pointer_expression "*(ulong *)(param_1 + 0x200)" * (cast_expression "(ulong *)(param_1 + 0x200)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x200)" ( (binary_expression "param_1 + 0x200" identifier + number_literal) )))))) ;) (expression_statement "plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,uVar5,puVar1 + 1,local_78);" (assignment_expression "plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,uVar5,puVar1 + 1,local_78)" identifier = (cast_expression "(long *)FUN_001b4db0(param_1 + 0x1f8,uVar5,puVar1 + 1,local_78)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001b4db0(param_1 + 0x1f8,uVar5,puVar1 + 1,local_78)" identifier (argument_list "(param_1 + 0x1f8,uVar5,puVar1 + 1,local_78)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) , identifier , (binary_expression "puVar1 + 1" identifier + number_literal) , identifier ))))) ;) (if_statement "if ((plVar2 != (long *)0x0) && (lVar3 = *plVar2, lVar3 != 0)) {\n    FUN_002dac60(puVar1);\n    return *(long *)(lVar3 + 0x20);\n  }" if (parenthesized_expression "((plVar2 != (long *)0x0) && (lVar3 = *plVar2, lVar3 != 0))" ( (binary_expression "(plVar2 != (long *)0x0) && (lVar3 = *plVar2, lVar3 != 0)" (parenthesized_expression "(plVar2 != (long *)0x0)" ( (binary_expression "plVar2 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(lVar3 = *plVar2, lVar3 != 0)" ( (comma_expression "lVar3 = *plVar2, lVar3 != 0" (assignment_expression "lVar3 = *plVar2" identifier = (pointer_expression "*plVar2" * identifier)) , (binary_expression "lVar3 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    FUN_002dac60(puVar1);\n    return *(long *)(lVar3 + 0x20);\n  }" { (expression_statement "FUN_002dac60(puVar1);" (call_expression "FUN_002dac60(puVar1)" identifier (argument_list "(puVar1)" ( identifier ))) ;) (return_statement "return *(long *)(lVar3 + 0x20);" return (pointer_expression "*(long *)(lVar3 + 0x20)" * (cast_expression "(long *)(lVar3 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x20)" ( (binary_expression "lVar3 + 0x20" identifier + number_literal) )))) ;) })) (expression_statement "lVar3 = FUN_001b6710(param_1 + 0x1f8,uVar5,local_78,puVar1,1);" (assignment_expression "lVar3 = FUN_001b6710(param_1 + 0x1f8,uVar5,local_78,puVar1,1)" identifier = (call_expression "FUN_001b6710(param_1 + 0x1f8,uVar5,local_78,puVar1,1)" identifier (argument_list "(param_1 + 0x1f8,uVar5,local_78,puVar1,1)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) , identifier , identifier , identifier , number_literal )))) ;) (if_statement "if (uVar6 == 1) {\n    if (param_5 == 0) {\n      lVar4 = FUN_001a4d80(param_1,param_2);\n      if ((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))) goto LAB_001ace6d;\n    }\n    else if ((param_5 & 0x400) == 0) {\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }\n  }" if (parenthesized_expression "(uVar6 == 1)" ( (binary_expression "uVar6 == 1" identifier == number_literal) )) (compound_statement "{\n    if (param_5 == 0) {\n      lVar4 = FUN_001a4d80(param_1,param_2);\n      if ((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))) goto LAB_001ace6d;\n    }\n    else if ((param_5 & 0x400) == 0) {\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }\n  }" { (if_statement "if (param_5 == 0) {\n      lVar4 = FUN_001a4d80(param_1,param_2);\n      if ((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))) goto LAB_001ace6d;\n    }\n    else if ((param_5 & 0x400) == 0) {\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\n      lVar4 = FUN_001a4d80(param_1,param_2);\n      if ((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))) goto LAB_001ace6d;\n    }" { (expression_statement "lVar4 = FUN_001a4d80(param_1,param_2);" (assignment_expression "lVar4 = FUN_001a4d80(param_1,param_2)" identifier = (call_expression "FUN_001a4d80(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier )))) ;) (if_statement "if ((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))) goto LAB_001ace6d;" if (parenthesized_expression "((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0))))" ( (binary_expression "(lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))" (parenthesized_expression "(lVar4 != 0)" ( (binary_expression "lVar4 != 0" identifier != number_literal) )) && (parenthesized_expression "(((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))" ( (parenthesized_expression "((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0))" ( (binary_expression "(*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)" (parenthesized_expression "(*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1))" ( (binary_expression "*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)" (binary_expression "*(int *)(lVar4 + 0x6c) - 0xeU < 3" (binary_expression "*(int *)(lVar4 + 0x6c) - 0xeU" (pointer_expression "*(int *)(lVar4 + 0x6c)" * (cast_expression "(int *)(lVar4 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x6c)" ( (binary_expression "lVar4 + 0x6c" identifier + number_literal) )))) - number_literal) < number_literal) || (parenthesized_expression "(*(int *)(lVar4 + 0x6c) == 1)" ( (binary_expression "*(int *)(lVar4 + 0x6c) == 1" (pointer_expression "*(int *)(lVar4 + 0x6c)" * (cast_expression "(int *)(lVar4 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x6c)" ( (binary_expression "lVar4 + 0x6c" identifier + number_literal) )))) == number_literal) ))) )) && (parenthesized_expression "((*(byte *)(lVar4 + 0x71) & 4) == 0)" ( (binary_expression "(*(byte *)(lVar4 + 0x71) & 4) == 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x71) & 4)" ( (binary_expression "*(byte *)(lVar4 + 0x71) & 4" (pointer_expression "*(byte *)(lVar4 + 0x71)" * (cast_expression "(byte *)(lVar4 + 0x71)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x71)" ( (binary_expression "lVar4 + 0x71" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (goto_statement "goto LAB_001ace6d;" goto statement_identifier ;)) }) (else_clause "else if ((param_5 & 0x400) == 0) {\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }" else (if_statement "if ((param_5 & 0x400) == 0) {\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }" if (parenthesized_expression "((param_5 & 0x400) == 0)" ( (binary_expression "(param_5 & 0x400) == 0" (parenthesized_expression "(param_5 & 0x400)" ( (binary_expression "param_5 & 0x400" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }" { (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" identifier = number_literal) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "local_58 = param_3;" (assignment_expression "local_58 = param_3" identifier = identifier) ;) (expression_statement "plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);" (assignment_expression "plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58)" identifier = (cast_expression "(long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58)" identifier (argument_list "(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) , (binary_expression "(param_3 + 1U) % *(ulong *)(param_1 + 0x200)" (parenthesized_expression "(param_3 + 1U)" ( (binary_expression "param_3 + 1U" identifier + number_literal) )) % (pointer_expression "*(ulong *)(param_1 + 0x200)" * (cast_expression "(ulong *)(param_1 + 0x200)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x200)" ( (binary_expression "param_1 + 0x200" identifier + number_literal) ))))) , (pointer_expression "&local_58" & identifier) ))))) ;) (if_statement "if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;" if (parenthesized_expression "(((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0))" ( (binary_expression "((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)" (parenthesized_expression "((plVar2 != (long *)0x0) && (*plVar2 != 0))" ( (binary_expression "(plVar2 != (long *)0x0) && (*plVar2 != 0)" (parenthesized_expression "(plVar2 != (long *)0x0)" ( (binary_expression "plVar2 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*plVar2 != 0)" ( (binary_expression "*plVar2 != 0" (pointer_expression "*plVar2" * identifier) != number_literal) ))) )) && (parenthesized_expression "(lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)" ( (comma_expression "lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0" (assignment_expression "lVar4 = *(long *)(*plVar2 + 0x20)" identifier = (pointer_expression "*(long *)(*plVar2 + 0x20)" * (cast_expression "(long *)(*plVar2 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*plVar2 + 0x20)" ( (binary_expression "*plVar2 + 0x20" (pointer_expression "*plVar2" * identifier) + number_literal) ))))) , (binary_expression "lVar4 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_001ace6d;" goto statement_identifier ;)) })))) })) (expression_statement "lVar4 = FUN_001a8f30(param_1,param_2,param_4,param_5,param_6,param_7);" (assignment_expression "lVar4 = FUN_001a8f30(param_1,param_2,param_4,param_5,param_6,param_7)" identifier = (call_expression "FUN_001a8f30(param_1,param_2,param_4,param_5,param_6,param_7)" identifier (argument_list "(param_1,param_2,param_4,param_5,param_6,param_7)" ( identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (labeled_statement "LAB_001ace6d:\n  *(long *)(lVar3 + 0x20) = lVar4;" statement_identifier : (expression_statement "*(long *)(lVar3 + 0x20) = lVar4;" (assignment_expression "*(long *)(lVar3 + 0x20) = lVar4" (pointer_expression "*(long *)(lVar3 + 0x20)" * (cast_expression "(long *)(lVar3 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x20)" ( (binary_expression "lVar3 + 0x20" identifier + number_literal) )))) = identifier) ;)) (return_statement "return lVar4;" return identifier ;) })))
(translation_unit (function_definition (sized_type_specifier long) (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT % (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (binary_expression IDENT + LIT) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - LIT) < LIT) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) % (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (pointer_expression & IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) , (binary_expression IDENT != LIT)) ))) )) (goto_statement goto statement_identifier ;)) })))) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (return_statement return IDENT ;) })))
(function_definition "long FUN_001acd20(long param_1,undefined8 param_2,long param_3,uint param_4,ulong param_5,\n                 undefined4 param_6,undefined1 param_7)\n\n{\n  undefined8 *puVar1;\n  long *plVar2;\n  long lVar3;\n  long lVar4;\n  ulong uVar5;\n  uint uVar6;\n  ulong local_78;\n  long local_58;\n  undefined4 local_50;\n  undefined8 local_48;\n  \n  if (param_4 - 0xe < 3) {\n    local_78 = 1;\n    uVar6 = 1;\n  }\n  else {\n    local_78 = (ulong)param_4;\n    uVar6 = param_4;\n  }\n  uVar5 = (ulong)((uint)param_5 & 0xfffffffa);\n  puVar1 = (undefined8 *)FUN_002d9490(0x30);\n  puVar1[3] = uVar5;\n  *puVar1 = 0;\n  local_78 = local_78 + uVar5 + param_3;\n  puVar1[1] = param_3;\n  *(uint *)(puVar1 + 2) = uVar6;\n  puVar1[4] = 0;\n  uVar5 = local_78 % *(ulong *)(param_1 + 0x200);\n  plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,uVar5,puVar1 + 1,local_78);\n  if ((plVar2 != (long *)0x0) && (lVar3 = *plVar2, lVar3 != 0)) {\n    FUN_002dac60(puVar1);\n    return *(long *)(lVar3 + 0x20);\n  }\n  lVar3 = FUN_001b6710(param_1 + 0x1f8,uVar5,local_78,puVar1,1);\n  if (uVar6 == 1) {\n    if (param_5 == 0) {\n      lVar4 = FUN_001a4d80(param_1,param_2);\n      if ((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))) goto LAB_001ace6d;\n    }\n    else if ((param_5 & 0x400) == 0) {\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }\n  }\n  lVar4 = FUN_001a8f30(param_1,param_2,param_4,param_5,param_6,param_7);\nLAB_001ace6d:\n  *(long *)(lVar3 + 0x20) = lVar4;\n  return lVar4;\n}" (sized_type_specifier "long" (long "long")) (function_declarator "FUN_001acd20(long param_1,undefined8 param_2,long param_3,uint param_4,ulong param_5,\n                 undefined4 param_6,undefined1 param_7)" (identifier "FUN_001acd20") (parameter_list "(long param_1,undefined8 param_2,long param_3,uint param_4,ulong param_5,\n                 undefined4 param_6,undefined1 param_7)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "long param_3" (sized_type_specifier "long" (long "long")) (identifier "param_3")) (, ",") (parameter_declaration "uint param_4" (type_identifier "uint") (identifier "param_4")) (, ",") (parameter_declaration "ulong param_5" (type_identifier "ulong") (identifier "param_5")) (, ",") (parameter_declaration "undefined4 param_6" (type_identifier "undefined4") (identifier "param_6")) (, ",") (parameter_declaration "undefined1 param_7" (type_identifier "undefined1") (identifier "param_7")) () ")"))) (compound_statement "{\n  undefined8 *puVar1;\n  long *plVar2;\n  long lVar3;\n  long lVar4;\n  ulong uVar5;\n  uint uVar6;\n  ulong local_78;\n  long local_58;\n  undefined4 local_50;\n  undefined8 local_48;\n  \n  if (param_4 - 0xe < 3) {\n    local_78 = 1;\n    uVar6 = 1;\n  }\n  else {\n    local_78 = (ulong)param_4;\n    uVar6 = param_4;\n  }\n  uVar5 = (ulong)((uint)param_5 & 0xfffffffa);\n  puVar1 = (undefined8 *)FUN_002d9490(0x30);\n  puVar1[3] = uVar5;\n  *puVar1 = 0;\n  local_78 = local_78 + uVar5 + param_3;\n  puVar1[1] = param_3;\n  *(uint *)(puVar1 + 2) = uVar6;\n  puVar1[4] = 0;\n  uVar5 = local_78 % *(ulong *)(param_1 + 0x200);\n  plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,uVar5,puVar1 + 1,local_78);\n  if ((plVar2 != (long *)0x0) && (lVar3 = *plVar2, lVar3 != 0)) {\n    FUN_002dac60(puVar1);\n    return *(long *)(lVar3 + 0x20);\n  }\n  lVar3 = FUN_001b6710(param_1 + 0x1f8,uVar5,local_78,puVar1,1);\n  if (uVar6 == 1) {\n    if (param_5 == 0) {\n      lVar4 = FUN_001a4d80(param_1,param_2);\n      if ((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))) goto LAB_001ace6d;\n    }\n    else if ((param_5 & 0x400) == 0) {\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }\n  }\n  lVar4 = FUN_001a8f30(param_1,param_2,param_4,param_5,param_6,param_7);\nLAB_001ace6d:\n  *(long *)(lVar3 + 0x20) = lVar4;\n  return lVar4;\n}" ({ "{") (declaration "undefined8 *puVar1;" (type_identifier "undefined8") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "long *plVar2;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar2" (* "*") (identifier "plVar2")) (; ";")) (declaration "long lVar3;" (sized_type_specifier "long" (long "long")) (identifier "lVar3") (; ";")) (declaration "long lVar4;" (sized_type_specifier "long" (long "long")) (identifier "lVar4") (; ";")) (declaration "ulong uVar5;" (type_identifier "ulong") (identifier "uVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "ulong local_78;" (type_identifier "ulong") (identifier "local_78") (; ";")) (declaration "long local_58;" (sized_type_specifier "long" (long "long")) (identifier "local_58") (; ";")) (declaration "undefined4 local_50;" (type_identifier "undefined4") (identifier "local_50") (; ";")) (declaration "undefined8 local_48;" (type_identifier "undefined8") (identifier "local_48") (; ";")) (if_statement "if (param_4 - 0xe < 3) {\n    local_78 = 1;\n    uVar6 = 1;\n  }\n  else {\n    local_78 = (ulong)param_4;\n    uVar6 = param_4;\n  }" (if "if") (parenthesized_expression "(param_4 - 0xe < 3)" (( "(") (binary_expression "param_4 - 0xe < 3" (binary_expression "param_4 - 0xe" (identifier "param_4") (- "-") (number_literal "0xe")) (< "<") (number_literal "3")) () ")")) (compound_statement "{\n    local_78 = 1;\n    uVar6 = 1;\n  }" ({ "{") (expression_statement "local_78 = 1;" (assignment_expression "local_78 = 1" (identifier "local_78") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n    local_78 = (ulong)param_4;\n    uVar6 = param_4;\n  }" (else "else") (compound_statement "{\n    local_78 = (ulong)param_4;\n    uVar6 = param_4;\n  }" ({ "{") (expression_statement "local_78 = (ulong)param_4;" (assignment_expression "local_78 = (ulong)param_4" (identifier "local_78") (= "=") (cast_expression "(ulong)param_4" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_4"))) (; ";")) (expression_statement "uVar6 = param_4;" (assignment_expression "uVar6 = param_4" (identifier "uVar6") (= "=") (identifier "param_4")) (; ";")) (} "}")))) (expression_statement "uVar5 = (ulong)((uint)param_5 & 0xfffffffa);" (assignment_expression "uVar5 = (ulong)((uint)param_5 & 0xfffffffa)" (identifier "uVar5") (= "=") (call_expression "(ulong)((uint)param_5 & 0xfffffffa)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((uint)param_5 & 0xfffffffa)" (( "(") (binary_expression "(uint)param_5 & 0xfffffffa" (cast_expression "(uint)param_5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_5")) (& "&") (number_literal "0xfffffffa")) () ")")))) (; ";")) (expression_statement "puVar1 = (undefined8 *)FUN_002d9490(0x30);" (assignment_expression "puVar1 = (undefined8 *)FUN_002d9490(0x30)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)FUN_002d9490(0x30)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002d9490(0x30)" (identifier "FUN_002d9490") (argument_list "(0x30)" (( "(") (number_literal "0x30") () ")"))))) (; ";")) (expression_statement "puVar1[3] = uVar5;" (assignment_expression "puVar1[3] = uVar5" (subscript_expression "puVar1[3]" (identifier "puVar1") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "*puVar1 = 0;" (assignment_expression "*puVar1 = 0" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_78 = local_78 + uVar5 + param_3;" (assignment_expression "local_78 = local_78 + uVar5 + param_3" (identifier "local_78") (= "=") (binary_expression "local_78 + uVar5 + param_3" (binary_expression "local_78 + uVar5" (identifier "local_78") (+ "+") (identifier "uVar5")) (+ "+") (identifier "param_3"))) (; ";")) (expression_statement "puVar1[1] = param_3;" (assignment_expression "puVar1[1] = param_3" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "*(uint *)(puVar1 + 2) = uVar6;" (assignment_expression "*(uint *)(puVar1 + 2) = uVar6" (pointer_expression "*(uint *)(puVar1 + 2)" (* "*") (cast_expression "(uint *)(puVar1 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 2)" (( "(") (binary_expression "puVar1 + 2" (identifier "puVar1") (+ "+") (number_literal "2")) () ")")))) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "puVar1[4] = 0;" (assignment_expression "puVar1[4] = 0" (subscript_expression "puVar1[4]" (identifier "puVar1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar5 = local_78 % *(ulong *)(param_1 + 0x200);" (assignment_expression "uVar5 = local_78 % *(ulong *)(param_1 + 0x200)" (identifier "uVar5") (= "=") (binary_expression "local_78 % *(ulong *)(param_1 + 0x200)" (identifier "local_78") (% "%") (pointer_expression "*(ulong *)(param_1 + 0x200)" (* "*") (cast_expression "(ulong *)(param_1 + 0x200)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x200)" (( "(") (binary_expression "param_1 + 0x200" (identifier "param_1") (+ "+") (number_literal "0x200")) () ")")))))) (; ";")) (expression_statement "plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,uVar5,puVar1 + 1,local_78);" (assignment_expression "plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,uVar5,puVar1 + 1,local_78)" (identifier "plVar2") (= "=") (cast_expression "(long *)FUN_001b4db0(param_1 + 0x1f8,uVar5,puVar1 + 1,local_78)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001b4db0(param_1 + 0x1f8,uVar5,puVar1 + 1,local_78)" (identifier "FUN_001b4db0") (argument_list "(param_1 + 0x1f8,uVar5,puVar1 + 1,local_78)" (( "(") (binary_expression "param_1 + 0x1f8" (identifier "param_1") (+ "+") (number_literal "0x1f8")) (, ",") (identifier "uVar5") (, ",") (binary_expression "puVar1 + 1" (identifier "puVar1") (+ "+") (number_literal "1")) (, ",") (identifier "local_78") () ")"))))) (; ";")) (if_statement "if ((plVar2 != (long *)0x0) && (lVar3 = *plVar2, lVar3 != 0)) {\n    FUN_002dac60(puVar1);\n    return *(long *)(lVar3 + 0x20);\n  }" (if "if") (parenthesized_expression "((plVar2 != (long *)0x0) && (lVar3 = *plVar2, lVar3 != 0))" (( "(") (binary_expression "(plVar2 != (long *)0x0) && (lVar3 = *plVar2, lVar3 != 0)" (parenthesized_expression "(plVar2 != (long *)0x0)" (( "(") (binary_expression "plVar2 != (long *)0x0" (identifier "plVar2") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(lVar3 = *plVar2, lVar3 != 0)" (( "(") (comma_expression "lVar3 = *plVar2, lVar3 != 0" (assignment_expression "lVar3 = *plVar2" (identifier "lVar3") (= "=") (pointer_expression "*plVar2" (* "*") (identifier "plVar2"))) (, ",") (binary_expression "lVar3 != 0" (identifier "lVar3") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    FUN_002dac60(puVar1);\n    return *(long *)(lVar3 + 0x20);\n  }" ({ "{") (expression_statement "FUN_002dac60(puVar1);" (call_expression "FUN_002dac60(puVar1)" (identifier "FUN_002dac60") (argument_list "(puVar1)" (( "(") (identifier "puVar1") () ")"))) (; ";")) (return_statement "return *(long *)(lVar3 + 0x20);" (return "return") (pointer_expression "*(long *)(lVar3 + 0x20)" (* "*") (cast_expression "(long *)(lVar3 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar3 + 0x20)" (( "(") (binary_expression "lVar3 + 0x20" (identifier "lVar3") (+ "+") (number_literal "0x20")) () ")")))) (; ";")) (} "}"))) (expression_statement "lVar3 = FUN_001b6710(param_1 + 0x1f8,uVar5,local_78,puVar1,1);" (assignment_expression "lVar3 = FUN_001b6710(param_1 + 0x1f8,uVar5,local_78,puVar1,1)" (identifier "lVar3") (= "=") (call_expression "FUN_001b6710(param_1 + 0x1f8,uVar5,local_78,puVar1,1)" (identifier "FUN_001b6710") (argument_list "(param_1 + 0x1f8,uVar5,local_78,puVar1,1)" (( "(") (binary_expression "param_1 + 0x1f8" (identifier "param_1") (+ "+") (number_literal "0x1f8")) (, ",") (identifier "uVar5") (, ",") (identifier "local_78") (, ",") (identifier "puVar1") (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (uVar6 == 1) {\n    if (param_5 == 0) {\n      lVar4 = FUN_001a4d80(param_1,param_2);\n      if ((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))) goto LAB_001ace6d;\n    }\n    else if ((param_5 & 0x400) == 0) {\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }\n  }" (if "if") (parenthesized_expression "(uVar6 == 1)" (( "(") (binary_expression "uVar6 == 1" (identifier "uVar6") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n    if (param_5 == 0) {\n      lVar4 = FUN_001a4d80(param_1,param_2);\n      if ((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))) goto LAB_001ace6d;\n    }\n    else if ((param_5 & 0x400) == 0) {\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }\n  }" ({ "{") (if_statement "if (param_5 == 0) {\n      lVar4 = FUN_001a4d80(param_1,param_2);\n      if ((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))) goto LAB_001ace6d;\n    }\n    else if ((param_5 & 0x400) == 0) {\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }" (if "if") (parenthesized_expression "(param_5 == 0)" (( "(") (binary_expression "param_5 == 0" (identifier "param_5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      lVar4 = FUN_001a4d80(param_1,param_2);\n      if ((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))) goto LAB_001ace6d;\n    }" ({ "{") (expression_statement "lVar4 = FUN_001a4d80(param_1,param_2);" (assignment_expression "lVar4 = FUN_001a4d80(param_1,param_2)" (identifier "lVar4") (= "=") (call_expression "FUN_001a4d80(param_1,param_2)" (identifier "FUN_001a4d80") (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if ((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))) goto LAB_001ace6d;" (if "if") (parenthesized_expression "((lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0))))" (( "(") (binary_expression "(lVar4 != 0) &&\n         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))" (parenthesized_expression "(lVar4 != 0)" (( "(") (binary_expression "lVar4 != 0" (identifier "lVar4") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))" (( "(") (parenthesized_expression "((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0))" (( "(") (binary_expression "(*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&\n          ((*(byte *)(lVar4 + 0x71) & 4) == 0)" (parenthesized_expression "(*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1))" (( "(") (binary_expression "*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)" (binary_expression "*(int *)(lVar4 + 0x6c) - 0xeU < 3" (binary_expression "*(int *)(lVar4 + 0x6c) - 0xeU" (pointer_expression "*(int *)(lVar4 + 0x6c)" (* "*") (cast_expression "(int *)(lVar4 + 0x6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x6c)" (( "(") (binary_expression "lVar4 + 0x6c" (identifier "lVar4") (+ "+") (number_literal "0x6c")) () ")")))) (- "-") (number_literal "0xeU")) (< "<") (number_literal "3")) (|| "||") (parenthesized_expression "(*(int *)(lVar4 + 0x6c) == 1)" (( "(") (binary_expression "*(int *)(lVar4 + 0x6c) == 1" (pointer_expression "*(int *)(lVar4 + 0x6c)" (* "*") (cast_expression "(int *)(lVar4 + 0x6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x6c)" (( "(") (binary_expression "lVar4 + 0x6c" (identifier "lVar4") (+ "+") (number_literal "0x6c")) () ")")))) (== "==") (number_literal "1")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(lVar4 + 0x71) & 4) == 0)" (( "(") (binary_expression "(*(byte *)(lVar4 + 0x71) & 4) == 0" (parenthesized_expression "(*(byte *)(lVar4 + 0x71) & 4)" (( "(") (binary_expression "*(byte *)(lVar4 + 0x71) & 4" (pointer_expression "*(byte *)(lVar4 + 0x71)" (* "*") (cast_expression "(byte *)(lVar4 + 0x71)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x71)" (( "(") (binary_expression "lVar4 + 0x71" (identifier "lVar4") (+ "+") (number_literal "0x71")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_001ace6d;" (goto "goto") (statement_identifier "LAB_001ace6d") (; ";"))) (} "}")) (else_clause "else if ((param_5 & 0x400) == 0) {\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }" (else "else") (if_statement "if ((param_5 & 0x400) == 0) {\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }" (if "if") (parenthesized_expression "((param_5 & 0x400) == 0)" (( "(") (binary_expression "(param_5 & 0x400) == 0" (parenthesized_expression "(param_5 & 0x400)" (( "(") (binary_expression "param_5 & 0x400" (identifier "param_5") (& "&") (number_literal "0x400")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      local_50 = 1;\n      local_48 = 0;\n      local_58 = param_3;\n      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);\n      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;\n    }" ({ "{") (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" (identifier "local_50") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" (identifier "local_48") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_58 = param_3;" (assignment_expression "local_58 = param_3" (identifier "local_58") (= "=") (identifier "param_3")) (; ";")) (expression_statement "plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58);" (assignment_expression "plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58)" (identifier "plVar2") (= "=") (cast_expression "(long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58)" (identifier "FUN_001b4db0") (argument_list "(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),\n                                    &local_58)" (( "(") (binary_expression "param_1 + 0x1f8" (identifier "param_1") (+ "+") (number_literal "0x1f8")) (, ",") (binary_expression "(param_3 + 1U) % *(ulong *)(param_1 + 0x200)" (parenthesized_expression "(param_3 + 1U)" (( "(") (binary_expression "param_3 + 1U" (identifier "param_3") (+ "+") (number_literal "1U")) () ")")) (% "%") (pointer_expression "*(ulong *)(param_1 + 0x200)" (* "*") (cast_expression "(ulong *)(param_1 + 0x200)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x200)" (( "(") (binary_expression "param_1 + 0x200" (identifier "param_1") (+ "+") (number_literal "0x200")) () ")"))))) (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))))) (; ";")) (if_statement "if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;" (if "if") (parenthesized_expression "(((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0))" (( "(") (binary_expression "((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&\n         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)" (parenthesized_expression "((plVar2 != (long *)0x0) && (*plVar2 != 0))" (( "(") (binary_expression "(plVar2 != (long *)0x0) && (*plVar2 != 0)" (parenthesized_expression "(plVar2 != (long *)0x0)" (( "(") (binary_expression "plVar2 != (long *)0x0" (identifier "plVar2") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(*plVar2 != 0)" (( "(") (binary_expression "*plVar2 != 0" (pointer_expression "*plVar2" (* "*") (identifier "plVar2")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)" (( "(") (comma_expression "lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0" (assignment_expression "lVar4 = *(long *)(*plVar2 + 0x20)" (identifier "lVar4") (= "=") (pointer_expression "*(long *)(*plVar2 + 0x20)" (* "*") (cast_expression "(long *)(*plVar2 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*plVar2 + 0x20)" (( "(") (binary_expression "*plVar2 + 0x20" (pointer_expression "*plVar2" (* "*") (identifier "plVar2")) (+ "+") (number_literal "0x20")) () ")"))))) (, ",") (binary_expression "lVar4 != 0" (identifier "lVar4") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_001ace6d;" (goto "goto") (statement_identifier "LAB_001ace6d") (; ";"))) (} "}"))))) (} "}"))) (expression_statement "lVar4 = FUN_001a8f30(param_1,param_2,param_4,param_5,param_6,param_7);" (assignment_expression "lVar4 = FUN_001a8f30(param_1,param_2,param_4,param_5,param_6,param_7)" (identifier "lVar4") (= "=") (call_expression "FUN_001a8f30(param_1,param_2,param_4,param_5,param_6,param_7)" (identifier "FUN_001a8f30") (argument_list "(param_1,param_2,param_4,param_5,param_6,param_7)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_4") (, ",") (identifier "param_5") (, ",") (identifier "param_6") (, ",") (identifier "param_7") () ")")))) (; ";")) (labeled_statement "LAB_001ace6d:\n  *(long *)(lVar3 + 0x20) = lVar4;" (statement_identifier "LAB_001ace6d") (: ":") (expression_statement "*(long *)(lVar3 + 0x20) = lVar4;" (assignment_expression "*(long *)(lVar3 + 0x20) = lVar4" (pointer_expression "*(long *)(lVar3 + 0x20)" (* "*") (cast_expression "(long *)(lVar3 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar3 + 0x20)" (( "(") (binary_expression "lVar3 + 0x20" (identifier "lVar3") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "lVar4")) (; ";"))) (return_statement "return lVar4;" (return "return") (identifier "lVar4") (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: Output_section * get_output_section(Layout * this, char * name, Key
   name_key, Elf_Word type, Elf_Xword flags, Output_section_order order, bool is_relro) */

type_5 * __thiscall
gold::Layout::get_output_section
          (Layout *this,char *name,type_9 var_7,type_6 var_1,Elf_Xword var_17,
          Output_section_order order,bool is_relro)

{
  type_1 *var_13;
  type_2 *__node;
  type_3 *var_12;
  type_4 iVar3;
  type_5 *var_19;
  type_6 lookup_type;
  type_7 var_6;
  type_6 var_16;
  type_8 var_8;
  type_7 var_5;
  type_9 zero_key;
  
  if (var_1 - 0xe < 3) {
    var_5 = 1;
    var_16 = 1;
  }
  else {
    var_5 = (type_7)var_1;
    var_16 = var_1;
  }
  var_6 = (type_7)((type_10)var_17 & 0xfffffffa);
  __node = (type_2 *)var_2(0x30);
  *(type_7 *)((long)&(__node->
                    super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>,_gold::type_5*>var_3>var_4
                    )._M_storage._M_storage + 0x10) = var_6;
  (__node->
  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>,_gold::type_5*>var_3>var_4
  ).super__Hash_node_base._M_nxt = (type_1 *)0x0;
  var_8 = var_5 + var_6 + var_7;
  (__node->
  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>,_gold::type_5*>var_3>var_4
  )._M_storage._M_storage.__align = (type_11)var_7;
  *(type_6 *)
   ((long)&(__node->
           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>,_gold::type_5*>var_3>var_4
           )._M_storage._M_storage + 8) = var_16;
  *(type_12 *)
   ((long)&(__node->
           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>,_gold::type_5*>var_3>var_4
           )._M_storage._M_storage + 0x18) = 0;
  var_6 = var_8 % (this->section_name_map_)._M_h._M_bucket_count;
  var_12 = std::
           _Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>,_gold::type_5*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>,_gold::type_5*>var_3>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>var_3>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_9<true,_false,var_10>var_3>
           ::var_11
                     ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>,_gold::type_5*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>,_gold::type_5*>var_3>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>var_3>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_9<true,_false,var_10>var_3>
                       *)&this->section_name_map_,var_6,
                      (type_13 *)
                      &(__node->
                       super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>,_gold::type_5*>var_3>var_4
                       )._M_storage,var_8);
  if ((var_12 != (type_3 *)0x0) && (var_13 = var_12->_M_nxt, var_13 != (type_1 *)0x0))
  {
    var_14(__node);
    return (type_5 *)var_13[4]._M_nxt;
  }
  iVar3 = std::
          _Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>,_gold::type_5*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>,_gold::type_5*>var_3>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>var_3>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_9<true,_false,var_10>var_3>
          ::var_15
                    ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>,_gold::type_5*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>,_gold::type_5*>var_3>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>var_3>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_9<true,_false,var_10>var_3>
                      *var_4)&this->section_name_map_,var_6,var_8,__node,1);
  if (var_16 == 1) {
    if (var_17 == 0) {
      var_19 = var_18(this,name);
      if ((var_19 != (type_5 *)0x0) &&
         (((var_19->type_ - 0xe < 3 || (var_19->type_ == 1)) && ((var_19->flags_ & 0x400) == 0))))
      goto LAB_001ace6d;
    }
    else if ((var_17 & 0x400) == 0) {
      zero_key.second.first = 1;
      zero_key.second.second = 0;
      zero_key.first = var_7;
      var_12 = std::
               _Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>,_gold::type_5*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>,_gold::type_5*>var_3>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>var_3>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_9<true,_false,var_10>var_3>
               ::var_11
                         ((_Hashtable<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>,_std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>,_gold::type_5*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>,_gold::type_5*>var_3>,_std::__detail::_Select1st,_std::equal_to<std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>var_3>,_gold::Layout::Hash_key,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_9<true,_false,var_10>var_3>
                           *var_4)&this->section_name_map_,
                          (var_7 + 1) % (this->section_name_map_)._M_h._M_bucket_count,&zero_key,
                          var_7 + 1);
      if (((var_12 != (type_3 *)0x0) && (var_12->_M_nxt != (type_1 *)0x0)) &&
         (var_19 = (type_5 *)var_12->_M_nxt[4]._M_nxt, var_19 != (type_5 *)0x0))
      goto LAB_001ace6d;
    }
  }
  var_19 = var_20(this,name,var_1,var_17,order,is_relro);
LAB_001ace6d:
  *(type_5 **)
   ((long)iVar3.
          super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_std::pair<unsigned_int,_long_unsigned_int>var_3>,_gold::type_5*>,var_10>
          .var_21 + 0x20) = var_19;
  return var_19;
}


(translation_unit (function_definition type: (sized_type_specifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (sized_type_specifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (sized_type_specifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (return_statement (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier) (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal)))))))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) (return_statement (identifier)))))

long MASKED(long param_1,undefined8 param_2,long param_3,uint param_4,ulong param_5,
                 undefined4 param_6,undefined1 param_7)

{
  undefined8 *puVar1;
  long *plVar2;
  long lVar3;
  long lVar4;
  ulong uVar5;
  uint uVar6;
  ulong local_78;
  long local_58;
  undefined4 local_50;
  undefined8 local_48;
  
  if (param_4 - 0xe < 3) {
    local_78 = 1;
    uVar6 = 1;
  }
  else {
    local_78 = (ulong)param_4;
    uVar6 = param_4;
  }
  uVar5 = (ulong)((uint)param_5 & 0xfffffffa);
  puVar1 = (undefined8 *)FUN_002d9490(0x30);
  puVar1[3] = uVar5;
  *puVar1 = 0;
  local_78 = local_78 + uVar5 + param_3;
  puVar1[1] = param_3;
  *(uint *)(puVar1 + 2) = uVar6;
  puVar1[4] = 0;
  uVar5 = local_78 % *(ulong *)(param_1 + 0x200);
  plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,uVar5,puVar1 + 1,local_78);
  if ((plVar2 != (long *)0x0) && (lVar3 = *plVar2, lVar3 != 0)) {
    FUN_002dac60(puVar1);
    return *(long *)(lVar3 + 0x20);
  }
  lVar3 = FUN_001b6710(param_1 + 0x1f8,uVar5,local_78,puVar1,1);
  if (uVar6 == 1) {
    if (param_5 == 0) {
      lVar4 = FUN_001a4d80(param_1,param_2);
      if ((lVar4 != 0) &&
         (((*(int *)(lVar4 + 0x6c) - 0xeU < 3 || (*(int *)(lVar4 + 0x6c) == 1)) &&
          ((*(byte *)(lVar4 + 0x71) & 4) == 0)))) goto LAB_001ace6d;
    }
    else if ((param_5 & 0x400) == 0) {
      local_50 = 1;
      local_48 = 0;
      local_58 = param_3;
      plVar2 = (long *)FUN_001b4db0(param_1 + 0x1f8,(param_3 + 1U) % *(ulong *)(param_1 + 0x200),
                                    &local_58);
      if (((plVar2 != (long *)0x0) && (*plVar2 != 0)) &&
         (lVar4 = *(long *)(*plVar2 + 0x20), lVar4 != 0)) goto LAB_001ace6d;
    }
  }
  lVar4 = FUN_001a8f30(param_1,param_2,param_4,param_5,param_6,param_7);
LAB_001ace6d:
  *(long *)(lVar3 + 0x20) = lVar4;
  return lVar4;
}

