
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: bool find_or_add_kept_section(Layout * this, string * name, Relobj *
   object, uint shndx, bool is_comdat, bool is_group_name, Kept_section * * kept_section) */

bool __thiscall
gold::Layout::find_or_add_kept_section
          (Layout *this,string *name,Relobj *object,uint shndx,bool is_comdat,bool is_group_name,
          Kept_section **kept_section)

{
  uint uVar1;
  pointer pcVar2;
  uint uVar3;
  size_type __n;
  __bucket_type p_Var4;
  char cVar5;
  Signatures *__in_chrg;
  uint local_8c;
  undefined1 local_7c [28];
  size_t local_60;
  Kept_section candidate;
  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> local_48;
  Kept_section local_30;
  
  uVar1 = (this->signatures_)._M_h._M_element_count;
  if ((4 < uVar1) && (this->resized_signatures_ == false)) {
    local_60 = (this->signatures_)._M_h._M_rehash_policy._M_next_resize;
    uVar3 = this->number_of_input_files_ << 6;
    local_7c._8_8_ =
         (undefined8)
         ((float)(uVar1 + 1) / (this->signatures_)._M_h._M_rehash_policy._M_max_load_factor);
    local_8c = (uint)(longlong)ROUND(ROUND((double)local_7c._8_8_));
    if (local_8c < uVar3) {
      local_8c = uVar3;
    }
    __n = std::__detail::_Prime_rehash_policy::_M_next_bkt
                    (&(this->signatures_)._M_h._M_rehash_policy,local_8c);
    if (__n == (this->signatures_)._M_h._M_bucket_count) {
      (this->signatures_)._M_h._M_rehash_policy._M_next_resize = local_60;
    }
    else {
      std::
      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
      ::_M_rehash((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                   *)&this->signatures_,__n,&local_60);
    }
    this->resized_signatures_ = true;
  }
  pcVar2 = (name->_M_dataplus)._M_p;
  candidate.is_comdat_ = false;
  candidate.is_group_name_ = false;
  candidate.object_ = (Relobj *)0x0;
  candidate.shndx_ = 0;
  candidate.u_.group_sections = (Comdat_group *)0x0;
  candidate.u_.linkonce_size._4_4_ = 0;
  local_48._M_dataplus._M_p = (pointer)&local_48.field_2;
                    /* try { // try from 00278d63 to 00278d67 has its CatchHandler @ 002790b9 */
  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
  _M_construct<char*>(&local_48,pcVar2,pcVar2 + name->_M_string_length,0);
  local_30.is_comdat_ = false;
  local_30.object_ = candidate.object_;
  local_30.shndx_ = candidate.shndx_;
  local_30.is_group_name_ = candidate.is_group_name_;
  if (candidate.is_comdat_ != false) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00279015 to 00279019 has its CatchHandler @ 002790b2 */
    do_gold_unreachable("../../gold/layout.h",0xf2,"Kept_section");
  }
  __in_chrg = &this->signatures_;
  local_30.u_.group_sections = (Comdat_group *)0x0;
  local_30.u_.linkonce_size._4_4_ = 0;
                    /* try { // try from 00278da8 to 00278dac has its CatchHandler @ 002790c0 */
  std::
  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
  ::
  _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>
            ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
              *)local_7c,__in_chrg,0,&local_48);
  Kept_section::~Kept_section(&local_30,(int)__in_chrg);
  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
       *)local_48._M_dataplus._M_p != &local_48.field_2) {
    operator_delete(local_48._M_dataplus._M_p);
  }
  if (kept_section != (Kept_section **)0x0) {
    *kept_section = (Kept_section *)(local_7c._0_4_ + 0x1c);
  }
  if (local_7c[4] == '\0') {
    cVar5 = '\0';
    if (*(char *)(local_7c._0_4_ + 0x25) != '\0') {
      if (*(__bucket_type *)(local_7c._0_4_ + 0x1c) == (__bucket_type)0x0) {
        if (parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
        }
        cVar5 = parameters->options_->plugins_->in_replacement_phase_;
        if ((bool)cVar5 != false) {
          *(Relobj **)(local_7c._0_4_ + 0x1c) = object;
          if (*(__bucket_type *)(local_7c._0_4_ + 0x20) != (__bucket_type)0x0) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx");
          }
          *(uint *)(local_7c._0_4_ + 0x20) = shndx;
        }
      }
      goto LAB_00278e40;
    }
    if (is_group_name) {
      *(undefined1 *)(local_7c._0_4_ + 0x25) = 1;
      goto LAB_00278e40;
    }
  }
  else {
    if (*(__bucket_type *)(local_7c._0_4_ + 0x1c) != (__bucket_type)0x0) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/layout.h",0x105,"set_object");
    }
    *(Relobj **)(local_7c._0_4_ + 0x1c) = object;
    if (*(__bucket_type *)(local_7c._0_4_ + 0x20) != (__bucket_type)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00279034 to 002790b1 has its CatchHandler @ 002790b9 */
      do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx");
    }
    *(uint *)(local_7c._0_4_ + 0x20) = shndx;
    if (is_comdat) {
      if (*(char *)(local_7c._0_4_ + 0x24) != '\0') {
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/layout.h",0x11f,"set_is_comdat");
      }
      *(undefined1 *)(local_7c._0_4_ + 0x24) = 1;
                    /* try { // try from 00278fb9 to 00278fbd has its CatchHandler @ 002790b9 */
      p_Var4 = (__bucket_type)operator_new(0x18);
      p_Var4[1]._M_nxt = (_Hash_node_base *)0x0;
      p_Var4[2]._M_nxt = (_Hash_node_base *)0x0;
      p_Var4[3]._M_nxt = p_Var4 + 1;
      p_Var4[4]._M_nxt = p_Var4 + 1;
      p_Var4[5]._M_nxt = (_Hash_node_base *)0x0;
      *(__bucket_type *)(local_7c._0_4_ + 0x28) = p_Var4;
    }
    if (is_group_name) {
      *(undefined1 *)(local_7c._0_4_ + 0x25) = 1;
      cVar5 = is_group_name;
      goto LAB_00278e40;
    }
  }
  cVar5 = '\x01';
LAB_00278e40:
  Kept_section::~Kept_section(&candidate,(int)__in_chrg);
  return (bool)cVar5;
}



/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

uint FUN_00278ce0(int *param_1,int *param_2,undefined4 param_3,undefined4 param_4,char param_5,
                 byte param_6,int *param_7)

{
  byte bVar1;
  int iVar2;
  undefined4 extraout_ECX;
  undefined4 extraout_ECX_00;
  undefined4 uVar3;
  undefined4 extraout_EDX;
  uint uVar4;
  uint local_8c;
  int local_7c;
  uint local_78;
  double local_74;
  int local_60;
  undefined4 local_5c;
  undefined4 local_58;
  undefined2 local_54;
  undefined4 local_50;
  undefined4 local_4c;
  undefined1 *local_48 [2];
  undefined1 local_40 [16];
  undefined4 local_30;
  undefined4 local_2c;
  undefined1 local_28;
  undefined1 local_27;
  undefined4 local_24;
  undefined4 local_20;
  
  if ((4 < (uint)param_1[0x3e]) && (*(char *)((int)param_1 + 0x1cb) == '\0')) {
    local_60 = param_1[0x40];
    local_74 = (double)((float)(param_1[0x3e] + 1) / (float)param_1[0x3f]);
    local_8c = (uint)(longlong)ROUND(ROUND(local_74));
    if (local_8c < (uint)(*param_1 << 6)) {
      local_8c = *param_1 << 6;
    }
    iVar2 = FUN_003f3600(param_1 + 0x3f,local_8c);
    if (iVar2 == param_1[0x3c]) {
      param_1[0x40] = local_60;
    }
    else {
      FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);
    }
    *(undefined1 *)((int)param_1 + 0x1cb) = 1;
  }
  local_54 = 0;
  local_5c = 0;
  local_58 = 0;
  local_50 = 0;
  local_4c = 0;
  local_48[0] = local_40;
                    /* try { // try from 00278d63 to 00278d67 has its CatchHandler @ 002790b9 */
  FUN_0014fca0(local_48,*param_2,param_2[1] + *param_2,0);
  local_28 = 0;
  local_30 = local_5c;
  local_2c = local_58;
  local_27 = local_54._1_1_;
  if ((char)local_54 != '\0') {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00279015 to 00279019 has its CatchHandler @ 002790b2 */
    FUN_002446e0("../../gold/layout.h",0xf2,"Kept_section",extraout_EDX);
  }
  local_24 = 0;
  local_20 = 0;
                    /* try { // try from 00278da8 to 00278dac has its CatchHandler @ 002790c0 */
  FUN_00282e40(&local_7c,param_1 + 0x3b,0,local_48);
  FUN_0005fc50(&local_30);
  uVar3 = extraout_ECX;
  if (local_48[0] != local_40) {
    FUN_003ae080(local_48[0]);
    uVar3 = extraout_ECX_00;
  }
  if (param_7 != (int *)0x0) {
    *param_7 = local_7c + 0x1c;
  }
  if ((char)local_78 == '\0') {
    uVar4 = local_78;
    if (*(char *)(local_7c + 0x25) != '\0') {
      if (*(int *)(local_7c + 0x1c) == 0) {
        if (*(int *)(DAT_005ea7c8 + 8) == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);
        }
        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);
        uVar4 = (uint)bVar1;
        if (bVar1 != 0) {
          *(undefined4 *)(local_7c + 0x1c) = param_3;
          if (*(int *)(local_7c + 0x20) != 0) {
                    /* WARNING: Subroutine does not return */
            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);
          }
          *(undefined4 *)(local_7c + 0x20) = param_4;
        }
      }
      goto LAB_00278e40;
    }
    if (param_6 != 0) {
      *(undefined1 *)(local_7c + 0x25) = 1;
      goto LAB_00278e40;
    }
  }
  else {
    if (*(int *)(local_7c + 0x1c) != 0) {
                    /* WARNING: Subroutine does not return */
      FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));
    }
    *(undefined4 *)(local_7c + 0x1c) = param_3;
    if (*(int *)(local_7c + 0x20) != 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00279034 to 002790b1 has its CatchHandler @ 002790b9 */
      FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));
    }
    *(undefined4 *)(local_7c + 0x20) = param_4;
    if (param_5 != '\0') {
      if (*(char *)(local_7c + 0x24) != '\0') {
                    /* WARNING: Subroutine does not return */
        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);
      }
      *(undefined1 *)(local_7c + 0x24) = 1;
                    /* try { // try from 00278fb9 to 00278fbd has its CatchHandler @ 002790b9 */
      iVar2 = FUN_003ac4d0(0x18);
      *(undefined4 *)(iVar2 + 4) = 0;
      *(undefined4 *)(iVar2 + 8) = 0;
      *(int *)(iVar2 + 0xc) = iVar2 + 4;
      *(int *)(iVar2 + 0x10) = iVar2 + 4;
      *(undefined4 *)(iVar2 + 0x14) = 0;
      *(int *)(local_7c + 0x28) = iVar2;
    }
    if (param_6 != 0) {
      *(undefined1 *)(local_7c + 0x25) = 1;
      uVar4 = (uint)param_6;
      goto LAB_00278e40;
    }
  }
  uVar4 = 1;
LAB_00278e40:
  FUN_0005fc50(&local_5c);
  return uVar4;
}


CALL 0x00074f02
ADD EAX,0x37131b
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x9c
MOV dword ptr [EBP + 0xffffff68],EAX
MOV ESI,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EBP + 0x18]
MOV EDX,dword ptr [EBP + 0xc]
MOV ECX,dword ptr [ESI + 0xf8]
MOV dword ptr [EBP + 0xffffff64],EAX
MOV EAX,dword ptr [EBP + 0x1c]
MOV dword ptr [EBP + 0xffffff6c],EAX
CMP ECX,0x4
JBE 0x00278d2c
CMP byte ptr [ESI + 0x1cb],0x0
JZ 0x00278ed0
XOR ECX,ECX
MOV EAX,dword ptr [EDX]
PUSH 0x0
LEA EBX,[EBP + -0x44]
MOV word ptr [EBP + -0x50],CX
MOV ECX,dword ptr [EDX + 0x4]
LEA EDI,[EBP + -0x3c]
MOV dword ptr [EBP + -0x58],0x0
ADD ECX,EAX
MOV dword ptr [EBP + -0x54],0x0
PUSH ECX
PUSH EAX
PUSH EBX
MOV dword ptr [EBP + -0x4c],0x0
MOV dword ptr [EBP + -0x48],0x0
MOV dword ptr [EBP + -0x44],EDI
CALL 0x0014fca0
MOV EAX,dword ptr [EBP + -0x58]
ADD ESP,0x10
CMP byte ptr [EBP + -0x50],0x0
MOV byte ptr [EBP + -0x24],0x0
MOV dword ptr [EBP + -0x2c],EAX
MOV EAX,dword ptr [EBP + -0x54]
MOV dword ptr [EBP + -0x28],EAX
MOVZX EAX,byte ptr [EBP + -0x4f]
MOV byte ptr [EBP + -0x23],AL
JNZ 0x00278ffb
LEA EAX,[EBP + -0x78]
ADD ESI,0xec
PUSH EBX
PUSH 0x0
PUSH ESI
PUSH EAX
MOV dword ptr [EBP + -0x20],0x0
MOV dword ptr [EBP + -0x1c],0x0
CALL 0x00282e40
MOV EAX,dword ptr [EBP + -0x74]
MOV ESI,dword ptr [EBP + -0x78]
MOV dword ptr [EBP + 0xffffff70],EAX
LEA EAX,[EBP + -0x2c]
PUSH EAX
CALL 0x0005fc50
MOV EAX,dword ptr [EBP + -0x44]
ADD ESP,0x10
CMP EAX,EDI
JZ 0x00278dde
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff68]
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0x20]
TEST EAX,EAX
JZ 0x00278ded
MOV EDI,dword ptr [EBP + 0x20]
LEA EAX,[ESI + 0x1c]
MOV dword ptr [EDI],EAX
MOV EAX,dword ptr [EBP + 0xffffff70]
MOV EBX,EAX
TEST AL,AL
JZ 0x00278e60
MOV EAX,dword ptr [ESI + 0x1c]
TEST EAX,EAX
JNZ 0x00279039
MOV EAX,dword ptr [EBP + 0x10]
MOV dword ptr [ESI + 0x1c],EAX
MOV EAX,dword ptr [ESI + 0x20]
TEST EAX,EAX
JNZ 0x0027901a
MOV EAX,dword ptr [EBP + 0x14]
CMP byte ptr [EBP + 0xffffff64],0x0
MOV dword ptr [ESI + 0x20],EAX
JNZ 0x00278fa0
CMP byte ptr [EBP + 0xffffff6c],0x0
JZ 0x00278ebd
MOV byte ptr [ESI + 0x25],0x1
MOVZX EBX,byte ptr [EBP + 0xffffff6c]
LEA EAX,[EBP + -0x58]
SUB ESP,0xc
PUSH EAX
CALL 0x0005fc50
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
MOV EAX,EBX
POP EBX
POP ESI
POP EDI
POP EBP
RET
CMP byte ptr [ESI + 0x25],0x0
JZ 0x00278eb0
MOV EDI,dword ptr [ESI + 0x1c]
TEST EDI,EDI
JNZ 0x00278e40
MOV EAX,dword ptr [EBP + 0xffffff68]
LEA EAX,[EAX + 0x7c8]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x00279096
MOV EAX,dword ptr [EAX + 0x593c]
MOVZX EBX,byte ptr [EAX + 0x61]
TEST BL,BL
JZ 0x00278e40
MOV EAX,dword ptr [EBP + 0x10]
MOV EDX,dword ptr [ESI + 0x20]
MOV dword ptr [ESI + 0x1c],EAX
TEST EDX,EDX
JNZ 0x00279077
MOV EAX,dword ptr [EBP + 0x14]
MOV dword ptr [ESI + 0x20],EAX
JMP 0x00278e40
CMP byte ptr [EBP + 0xffffff6c],0x0
JNZ 0x00278f90
MOV EBX,0x1
JMP 0x00278e40
ADD ECX,0x1
MOV EBX,dword ptr [ESI + 0x100]
MOV EAX,dword ptr [ESI]
SUB ESP,0x8
MOV dword ptr [EBP + 0xffffff70],ECX
LEA EDI,[ESI + 0xec]
MOV dword ptr [EBP + 0xffffff74],0x0
FILD qword ptr [EBP + 0xffffff70]
SHL EAX,0x6
MOV dword ptr [EBP + -0x5c],EBX
FDIV dword ptr [ESI + 0xfc]
MOV EBX,dword ptr [EBP + 0xffffff68]
FNSTCW word ptr [EBP + -0x7a]
MOVZX ECX,word ptr [EBP + -0x7a]
AND CH,0xf3
OR CH,0x8
MOV word ptr [EBP + -0x7c],CX
MOVZX ECX,word ptr [EBP + -0x7a]
OR CH,0xc
MOV word ptr [EBP + -0x7e],CX
FSTP qword ptr [EBP + -0x70]
FLD qword ptr [EBP + -0x70]
FLDCW word ptr [EBP + -0x7c]
FRNDINT
FLDCW word ptr [EBP + -0x7a]
FLDCW word ptr [EBP + -0x7e]
FISTP qword ptr [EBP + 0xffffff78]
FLDCW word ptr [EBP + -0x7a]
MOV ECX,dword ptr [EBP + 0xffffff78]
CMP ECX,EAX
CMOVC ECX,EAX
LEA EAX,[ESI + 0xfc]
PUSH ECX
PUSH EAX
CALL 0x003f3600
ADD ESP,0x10
CMP EAX,dword ptr [ESI + 0xf0]
MOV EDX,dword ptr [EBP + 0xc]
JZ 0x00278ff0
SUB ESP,0x4
LEA ECX,[EBP + -0x5c]
PUSH ECX
PUSH EAX
PUSH EDI
CALL 0x00282d20
MOV EDX,dword ptr [EBP + 0xc]
ADD ESP,0x10
MOV byte ptr [ESI + 0x1cb],0x1
JMP 0x00278d2c
MOV byte ptr [ESI + 0x25],0x1
JMP 0x00278e40
CMP byte ptr [ESI + 0x24],0x0
JNZ 0x00279058
SUB ESP,0xc
MOV byte ptr [ESI + 0x24],0x1
MOV EBX,dword ptr [EBP + 0xffffff68]
PUSH 0x18
CALL 0x003ac4d0
LEA EDX,[EAX + 0x4]
MOV dword ptr [EAX + 0x4],0x0
ADD ESP,0x10
MOV dword ptr [EAX + 0x8],0x0
MOV dword ptr [EAX + 0xc],EDX
MOV dword ptr [EAX + 0x10],EDX
MOV dword ptr [EAX + 0x14],0x0
MOV dword ptr [ESI + 0x28],EAX
JMP 0x00278e28
MOV EAX,dword ptr [EBP + -0x5c]
MOV dword ptr [ESI + 0x100],EAX
JMP 0x00278f80
MOV EBX,dword ptr [EBP + 0xffffff68]
PUSH EDX
LEA EAX,[EBX + 0xffea100c]
PUSH EAX
LEA EAX,[EBX + 0xffe873ee]
PUSH 0xf2
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff68]
PUSH EAX
LEA EAX,[EBX + 0xffea0fe4]
PUSH EAX
LEA EAX,[EBX + 0xffe873ee]
PUSH 0x112
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff68]
PUSH EAX
LEA EAX,[EBX + 0xffea0ff0]
PUSH EAX
LEA EAX,[EBX + 0xffe873ee]
PUSH 0x105
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff68]
PUSH EAX
LEA EAX,[EBX + 0xffea0ffc]
PUSH EAX
LEA EAX,[EBX + 0xffe873ee]
PUSH 0x11f
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff68]
PUSH EAX
LEA EAX,[EBX + 0xffea0fe4]
PUSH EAX
LEA EAX,[EBX + 0xffe873ee]
PUSH 0x112
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff68]
PUSH ECX
LEA EAX,[EBX + 0xffea1468]
PUSH EAX
LEA EAX,[EBX + 0xffe5e26d]
PUSH 0x5c
PUSH EAX
CALL 0x002446e0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nuint FUN_00278ce0(int *param_1,int *param_2,undefined4 param_3,undefined4 param_4,char param_5,\n                 byte param_6,int *param_7)\n\n{\n  byte bVar1;\n  int iVar2;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  undefined4 uVar3;\n  undefined4 extraout_EDX;\n  uint uVar4;\n  uint local_8c;\n  int local_7c;\n  uint local_78;\n  double local_74;\n  int local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined2 local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined1 *local_48 [2];\n  undefined1 local_40 [16];\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined1 local_28;\n  undefined1 local_27;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  if ((4 < (uint)param_1[0x3e]) && (*(char *)((int)param_1 + 0x1cb) == '\0')) {\n    local_60 = param_1[0x40];\n    local_74 = (double)((float)(param_1[0x3e] + 1) / (float)param_1[0x3f]);\n    local_8c = (uint)(longlong)ROUND(ROUND(local_74));\n    if (local_8c < (uint)(*param_1 << 6)) {\n      local_8c = *param_1 << 6;\n    }\n    iVar2 = FUN_003f3600(param_1 + 0x3f,local_8c);\n    if (iVar2 == param_1[0x3c]) {\n      param_1[0x40] = local_60;\n    }\n    else {\n      FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);\n    }\n    *(undefined1 *)((int)param_1 + 0x1cb) = 1;\n  }\n  local_54 = 0;\n  local_5c = 0;\n  local_58 = 0;\n  local_50 = 0;\n  local_4c = 0;\n  local_48[0] = local_40;\n                    /* try { // try from 00278d63 to 00278d67 has its CatchHandler @ 002790b9 */\n  FUN_0014fca0(local_48,*param_2,param_2[1] + *param_2,0);\n  local_28 = 0;\n  local_30 = local_5c;\n  local_2c = local_58;\n  local_27 = local_54._1_1_;\n  if ((char)local_54 != '\0') {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279015 to 00279019 has its CatchHandler @ 002790b2 */\n    FUN_002446e0("../../gold/layout.h",0xf2,"Kept_section",extraout_EDX);\n  }\n  local_24 = 0;\n  local_20 = 0;\n                    /* try { // try from 00278da8 to 00278dac has its CatchHandler @ 002790c0 */\n  FUN_00282e40(&local_7c,param_1 + 0x3b,0,local_48);\n  FUN_0005fc50(&local_30);\n  uVar3 = extraout_ECX;\n  if (local_48[0] != local_40) {\n    FUN_003ae080(local_48[0]);\n    uVar3 = extraout_ECX_00;\n  }\n  if (param_7 != (int *)0x0) {\n    *param_7 = local_7c + 0x1c;\n  }\n  if ((char)local_78 == '\0') {\n    uVar4 = local_78;\n    if (*(char *)(local_7c + 0x25) != '\0') {\n      if (*(int *)(local_7c + 0x1c) == 0) {\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }\n      goto LAB_00278e40;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      goto LAB_00278e40;\n    }\n  }\n  else {\n    if (*(int *)(local_7c + 0x1c) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));\n    }\n    *(undefined4 *)(local_7c + 0x1c) = param_3;\n    if (*(int *)(local_7c + 0x20) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279034 to 002790b1 has its CatchHandler @ 002790b9 */\n      FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));\n    }\n    *(undefined4 *)(local_7c + 0x20) = param_4;\n    if (param_5 != '\0') {\n      if (*(char *)(local_7c + 0x24) != '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }\n      *(undefined1 *)(local_7c + 0x24) = 1;\n                    /* try { // try from 00278fb9 to 00278fbd has its CatchHandler @ 002790b9 */\n      iVar2 = FUN_003ac4d0(0x18);\n      *(undefined4 *)(iVar2 + 4) = 0;\n      *(undefined4 *)(iVar2 + 8) = 0;\n      *(int *)(iVar2 + 0xc) = iVar2 + 4;\n      *(int *)(iVar2 + 0x10) = iVar2 + 4;\n      *(undefined4 *)(iVar2 + 0x14) = 0;\n      *(int *)(local_7c + 0x28) = iVar2;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      uVar4 = (uint)param_6;\n      goto LAB_00278e40;\n    }\n  }\n  uVar4 = 1;\nLAB_00278e40:\n  FUN_0005fc50(&local_5c);\n  return uVar4;\n}\n\n" comment (function_definition "uint FUN_00278ce0(int *param_1,int *param_2,undefined4 param_3,undefined4 param_4,char param_5,\n                 byte param_6,int *param_7)\n\n{\n  byte bVar1;\n  int iVar2;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  undefined4 uVar3;\n  undefined4 extraout_EDX;\n  uint uVar4;\n  uint local_8c;\n  int local_7c;\n  uint local_78;\n  double local_74;\n  int local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined2 local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined1 *local_48 [2];\n  undefined1 local_40 [16];\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined1 local_28;\n  undefined1 local_27;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  if ((4 < (uint)param_1[0x3e]) && (*(char *)((int)param_1 + 0x1cb) == '\0')) {\n    local_60 = param_1[0x40];\n    local_74 = (double)((float)(param_1[0x3e] + 1) / (float)param_1[0x3f]);\n    local_8c = (uint)(longlong)ROUND(ROUND(local_74));\n    if (local_8c < (uint)(*param_1 << 6)) {\n      local_8c = *param_1 << 6;\n    }\n    iVar2 = FUN_003f3600(param_1 + 0x3f,local_8c);\n    if (iVar2 == param_1[0x3c]) {\n      param_1[0x40] = local_60;\n    }\n    else {\n      FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);\n    }\n    *(undefined1 *)((int)param_1 + 0x1cb) = 1;\n  }\n  local_54 = 0;\n  local_5c = 0;\n  local_58 = 0;\n  local_50 = 0;\n  local_4c = 0;\n  local_48[0] = local_40;\n                    /* try { // try from 00278d63 to 00278d67 has its CatchHandler @ 002790b9 */\n  FUN_0014fca0(local_48,*param_2,param_2[1] + *param_2,0);\n  local_28 = 0;\n  local_30 = local_5c;\n  local_2c = local_58;\n  local_27 = local_54._1_1_;\n  if ((char)local_54 != '\0') {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279015 to 00279019 has its CatchHandler @ 002790b2 */\n    FUN_002446e0("../../gold/layout.h",0xf2,"Kept_section",extraout_EDX);\n  }\n  local_24 = 0;\n  local_20 = 0;\n                    /* try { // try from 00278da8 to 00278dac has its CatchHandler @ 002790c0 */\n  FUN_00282e40(&local_7c,param_1 + 0x3b,0,local_48);\n  FUN_0005fc50(&local_30);\n  uVar3 = extraout_ECX;\n  if (local_48[0] != local_40) {\n    FUN_003ae080(local_48[0]);\n    uVar3 = extraout_ECX_00;\n  }\n  if (param_7 != (int *)0x0) {\n    *param_7 = local_7c + 0x1c;\n  }\n  if ((char)local_78 == '\0') {\n    uVar4 = local_78;\n    if (*(char *)(local_7c + 0x25) != '\0') {\n      if (*(int *)(local_7c + 0x1c) == 0) {\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }\n      goto LAB_00278e40;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      goto LAB_00278e40;\n    }\n  }\n  else {\n    if (*(int *)(local_7c + 0x1c) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));\n    }\n    *(undefined4 *)(local_7c + 0x1c) = param_3;\n    if (*(int *)(local_7c + 0x20) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279034 to 002790b1 has its CatchHandler @ 002790b9 */\n      FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));\n    }\n    *(undefined4 *)(local_7c + 0x20) = param_4;\n    if (param_5 != '\0') {\n      if (*(char *)(local_7c + 0x24) != '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }\n      *(undefined1 *)(local_7c + 0x24) = 1;\n                    /* try { // try from 00278fb9 to 00278fbd has its CatchHandler @ 002790b9 */\n      iVar2 = FUN_003ac4d0(0x18);\n      *(undefined4 *)(iVar2 + 4) = 0;\n      *(undefined4 *)(iVar2 + 8) = 0;\n      *(int *)(iVar2 + 0xc) = iVar2 + 4;\n      *(int *)(iVar2 + 0x10) = iVar2 + 4;\n      *(undefined4 *)(iVar2 + 0x14) = 0;\n      *(int *)(local_7c + 0x28) = iVar2;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      uVar4 = (uint)param_6;\n      goto LAB_00278e40;\n    }\n  }\n  uVar4 = 1;\nLAB_00278e40:\n  FUN_0005fc50(&local_5c);\n  return uVar4;\n}" type_identifier (function_declarator "FUN_00278ce0(int *param_1,int *param_2,undefined4 param_3,undefined4 param_4,char param_5,\n                 byte param_6,int *param_7)" identifier (parameter_list "(int *param_1,int *param_2,undefined4 param_3,undefined4 param_4,char param_5,\n                 byte param_6,int *param_7)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "char param_5" primitive_type identifier) , (parameter_declaration "byte param_6" type_identifier identifier) , (parameter_declaration "int *param_7" primitive_type (pointer_declarator "*param_7" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  undefined4 uVar3;\n  undefined4 extraout_EDX;\n  uint uVar4;\n  uint local_8c;\n  int local_7c;\n  uint local_78;\n  double local_74;\n  int local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined2 local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined1 *local_48 [2];\n  undefined1 local_40 [16];\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined1 local_28;\n  undefined1 local_27;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  if ((4 < (uint)param_1[0x3e]) && (*(char *)((int)param_1 + 0x1cb) == '\0')) {\n    local_60 = param_1[0x40];\n    local_74 = (double)((float)(param_1[0x3e] + 1) / (float)param_1[0x3f]);\n    local_8c = (uint)(longlong)ROUND(ROUND(local_74));\n    if (local_8c < (uint)(*param_1 << 6)) {\n      local_8c = *param_1 << 6;\n    }\n    iVar2 = FUN_003f3600(param_1 + 0x3f,local_8c);\n    if (iVar2 == param_1[0x3c]) {\n      param_1[0x40] = local_60;\n    }\n    else {\n      FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);\n    }\n    *(undefined1 *)((int)param_1 + 0x1cb) = 1;\n  }\n  local_54 = 0;\n  local_5c = 0;\n  local_58 = 0;\n  local_50 = 0;\n  local_4c = 0;\n  local_48[0] = local_40;\n                    /* try { // try from 00278d63 to 00278d67 has its CatchHandler @ 002790b9 */\n  FUN_0014fca0(local_48,*param_2,param_2[1] + *param_2,0);\n  local_28 = 0;\n  local_30 = local_5c;\n  local_2c = local_58;\n  local_27 = local_54._1_1_;\n  if ((char)local_54 != '\0') {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279015 to 00279019 has its CatchHandler @ 002790b2 */\n    FUN_002446e0("../../gold/layout.h",0xf2,"Kept_section",extraout_EDX);\n  }\n  local_24 = 0;\n  local_20 = 0;\n                    /* try { // try from 00278da8 to 00278dac has its CatchHandler @ 002790c0 */\n  FUN_00282e40(&local_7c,param_1 + 0x3b,0,local_48);\n  FUN_0005fc50(&local_30);\n  uVar3 = extraout_ECX;\n  if (local_48[0] != local_40) {\n    FUN_003ae080(local_48[0]);\n    uVar3 = extraout_ECX_00;\n  }\n  if (param_7 != (int *)0x0) {\n    *param_7 = local_7c + 0x1c;\n  }\n  if ((char)local_78 == '\0') {\n    uVar4 = local_78;\n    if (*(char *)(local_7c + 0x25) != '\0') {\n      if (*(int *)(local_7c + 0x1c) == 0) {\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }\n      goto LAB_00278e40;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      goto LAB_00278e40;\n    }\n  }\n  else {\n    if (*(int *)(local_7c + 0x1c) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));\n    }\n    *(undefined4 *)(local_7c + 0x1c) = param_3;\n    if (*(int *)(local_7c + 0x20) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279034 to 002790b1 has its CatchHandler @ 002790b9 */\n      FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));\n    }\n    *(undefined4 *)(local_7c + 0x20) = param_4;\n    if (param_5 != '\0') {\n      if (*(char *)(local_7c + 0x24) != '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }\n      *(undefined1 *)(local_7c + 0x24) = 1;\n                    /* try { // try from 00278fb9 to 00278fbd has its CatchHandler @ 002790b9 */\n      iVar2 = FUN_003ac4d0(0x18);\n      *(undefined4 *)(iVar2 + 4) = 0;\n      *(undefined4 *)(iVar2 + 8) = 0;\n      *(int *)(iVar2 + 0xc) = iVar2 + 4;\n      *(int *)(iVar2 + 0x10) = iVar2 + 4;\n      *(undefined4 *)(iVar2 + 0x14) = 0;\n      *(int *)(local_7c + 0x28) = iVar2;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      uVar4 = (uint)param_6;\n      goto LAB_00278e40;\n    }\n  }\n  uVar4 = 1;\nLAB_00278e40:\n  FUN_0005fc50(&local_5c);\n  return uVar4;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_00;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 extraout_EDX;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint local_8c;" type_identifier identifier ;) (declaration "int local_7c;" primitive_type identifier ;) (declaration "uint local_78;" type_identifier identifier ;) (declaration "double local_74;" primitive_type identifier ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "undefined4 local_5c;" type_identifier identifier ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "undefined2 local_54;" type_identifier identifier ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined1 *local_48 [2];" type_identifier (pointer_declarator "*local_48 [2]" * (array_declarator "local_48 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_40 [16];" type_identifier (array_declarator "local_40 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "undefined1 local_28;" type_identifier identifier ;) (declaration "undefined1 local_27;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (if_statement "if ((4 < (uint)param_1[0x3e]) && (*(char *)((int)param_1 + 0x1cb) == '\0')) {\n    local_60 = param_1[0x40];\n    local_74 = (double)((float)(param_1[0x3e] + 1) / (float)param_1[0x3f]);\n    local_8c = (uint)(longlong)ROUND(ROUND(local_74));\n    if (local_8c < (uint)(*param_1 << 6)) {\n      local_8c = *param_1 << 6;\n    }\n    iVar2 = FUN_003f3600(param_1 + 0x3f,local_8c);\n    if (iVar2 == param_1[0x3c]) {\n      param_1[0x40] = local_60;\n    }\n    else {\n      FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);\n    }\n    *(undefined1 *)((int)param_1 + 0x1cb) = 1;\n  }" if (parenthesized_expression "((4 < (uint)param_1[0x3e]) && (*(char *)((int)param_1 + 0x1cb) == '\0'))" ( (binary_expression "(4 < (uint)param_1[0x3e]) && (*(char *)((int)param_1 + 0x1cb) == '\0')" (parenthesized_expression "(4 < (uint)param_1[0x3e])" ( (binary_expression "4 < (uint)param_1[0x3e]" number_literal < (cast_expression "(uint)param_1[0x3e]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x3e]" identifier [ number_literal ]))) )) && (parenthesized_expression "(*(char *)((int)param_1 + 0x1cb) == '\0')" ( (binary_expression "*(char *)((int)param_1 + 0x1cb) == '\0'" (pointer_expression "*(char *)((int)param_1 + 0x1cb)" * (cast_expression "(char *)((int)param_1 + 0x1cb)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x1cb)" ( (binary_expression "(int)param_1 + 0x1cb" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    local_60 = param_1[0x40];\n    local_74 = (double)((float)(param_1[0x3e] + 1) / (float)param_1[0x3f]);\n    local_8c = (uint)(longlong)ROUND(ROUND(local_74));\n    if (local_8c < (uint)(*param_1 << 6)) {\n      local_8c = *param_1 << 6;\n    }\n    iVar2 = FUN_003f3600(param_1 + 0x3f,local_8c);\n    if (iVar2 == param_1[0x3c]) {\n      param_1[0x40] = local_60;\n    }\n    else {\n      FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);\n    }\n    *(undefined1 *)((int)param_1 + 0x1cb) = 1;\n  }" { (expression_statement "local_60 = param_1[0x40];" (assignment_expression "local_60 = param_1[0x40]" identifier = (subscript_expression "param_1[0x40]" identifier [ number_literal ])) ;) (expression_statement "local_74 = (double)((float)(param_1[0x3e] + 1) / (float)param_1[0x3f]);" (assignment_expression "local_74 = (double)((float)(param_1[0x3e] + 1) / (float)param_1[0x3f])" identifier = (cast_expression "(double)((float)(param_1[0x3e] + 1) / (float)param_1[0x3f])" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)(param_1[0x3e] + 1) / (float)param_1[0x3f])" ( (binary_expression "(float)(param_1[0x3e] + 1) / (float)param_1[0x3f]" (cast_expression "(float)(param_1[0x3e] + 1)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(param_1[0x3e] + 1)" ( (binary_expression "param_1[0x3e] + 1" (subscript_expression "param_1[0x3e]" identifier [ number_literal ]) + number_literal) ))) / (cast_expression "(float)param_1[0x3f]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "param_1[0x3f]" identifier [ number_literal ]))) )))) ;) (expression_statement "local_8c = (uint)(longlong)ROUND(ROUND(local_74));" (assignment_expression "local_8c = (uint)(longlong)ROUND(ROUND(local_74))" identifier = (cast_expression "(uint)(longlong)ROUND(ROUND(local_74))" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(longlong)ROUND(ROUND(local_74))" ( (type_descriptor "longlong" type_identifier) ) (call_expression "ROUND(ROUND(local_74))" identifier (argument_list "(ROUND(local_74))" ( (call_expression "ROUND(local_74)" identifier (argument_list "(local_74)" ( identifier ))) )))))) ;) (if_statement "if (local_8c < (uint)(*param_1 << 6)) {\n      local_8c = *param_1 << 6;\n    }" if (parenthesized_expression "(local_8c < (uint)(*param_1 << 6))" ( (binary_expression "local_8c < (uint)(*param_1 << 6)" identifier < (call_expression "(uint)(*param_1 << 6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*param_1 << 6)" ( (binary_expression "*param_1 << 6" (pointer_expression "*param_1" * identifier) << number_literal) )))) )) (compound_statement "{\n      local_8c = *param_1 << 6;\n    }" { (expression_statement "local_8c = *param_1 << 6;" (assignment_expression "local_8c = *param_1 << 6" identifier = (binary_expression "*param_1 << 6" (pointer_expression "*param_1" * identifier) << number_literal)) ;) })) (expression_statement "iVar2 = FUN_003f3600(param_1 + 0x3f,local_8c);" (assignment_expression "iVar2 = FUN_003f3600(param_1 + 0x3f,local_8c)" identifier = (call_expression "FUN_003f3600(param_1 + 0x3f,local_8c)" identifier (argument_list "(param_1 + 0x3f,local_8c)" ( (binary_expression "param_1 + 0x3f" identifier + number_literal) , identifier )))) ;) (if_statement "if (iVar2 == param_1[0x3c]) {\n      param_1[0x40] = local_60;\n    }\n    else {\n      FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);\n    }" if (parenthesized_expression "(iVar2 == param_1[0x3c])" ( (binary_expression "iVar2 == param_1[0x3c]" identifier == (subscript_expression "param_1[0x3c]" identifier [ number_literal ])) )) (compound_statement "{\n      param_1[0x40] = local_60;\n    }" { (expression_statement "param_1[0x40] = local_60;" (assignment_expression "param_1[0x40] = local_60" (subscript_expression "param_1[0x40]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n      FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);\n    }" else (compound_statement "{\n      FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);\n    }" { (expression_statement "FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);" (call_expression "FUN_00282d20(param_1 + 0x3b,iVar2,&local_60)" identifier (argument_list "(param_1 + 0x3b,iVar2,&local_60)" ( (binary_expression "param_1 + 0x3b" identifier + number_literal) , identifier , (pointer_expression "&local_60" & identifier) ))) ;) }))) (expression_statement "*(undefined1 *)((int)param_1 + 0x1cb) = 1;" (assignment_expression "*(undefined1 *)((int)param_1 + 0x1cb) = 1" (pointer_expression "*(undefined1 *)((int)param_1 + 0x1cb)" * (cast_expression "(undefined1 *)((int)param_1 + 0x1cb)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x1cb)" ( (binary_expression "(int)param_1 + 0x1cb" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) })) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "local_48[0] = local_40;" (assignment_expression "local_48[0] = local_40" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) comment (expression_statement "FUN_0014fca0(local_48,*param_2,param_2[1] + *param_2,0);" (call_expression "FUN_0014fca0(local_48,*param_2,param_2[1] + *param_2,0)" identifier (argument_list "(local_48,*param_2,param_2[1] + *param_2,0)" ( identifier , (pointer_expression "*param_2" * identifier) , (binary_expression "param_2[1] + *param_2" (subscript_expression "param_2[1]" identifier [ number_literal ]) + (pointer_expression "*param_2" * identifier)) , number_literal ))) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_30 = local_5c;" (assignment_expression "local_30 = local_5c" identifier = identifier) ;) (expression_statement "local_2c = local_58;" (assignment_expression "local_2c = local_58" identifier = identifier) ;) (expression_statement "local_27 = local_54._1_1_;" (assignment_expression "local_27 = local_54._1_1_" identifier = (field_expression "local_54._1_1_" identifier . field_identifier)) ;) (if_statement "if ((char)local_54 != '\0') {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279015 to 00279019 has its CatchHandler @ 002790b2 */\n    FUN_002446e0("../../gold/layout.h",0xf2,"Kept_section",extraout_EDX);\n  }" if (parenthesized_expression "((char)local_54 != '\0')" ( (binary_expression "(char)local_54 != '\0'" (cast_expression "(char)local_54" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279015 to 00279019 has its CatchHandler @ 002790b2 */\n    FUN_002446e0("../../gold/layout.h",0xf2,"Kept_section",extraout_EDX);\n  }" { comment comment (expression_statement "FUN_002446e0("../../gold/layout.h",0xf2,"Kept_section",extraout_EDX);" (call_expression "FUN_002446e0("../../gold/layout.h",0xf2,"Kept_section",extraout_EDX)" identifier (argument_list "("../../gold/layout.h",0xf2,"Kept_section",extraout_EDX)" ( (string_literal ""../../gold/layout.h"" " string_content ") , number_literal , (string_literal ""Kept_section"" " string_content ") , identifier ))) ;) })) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" identifier = number_literal) ;) comment (expression_statement "FUN_00282e40(&local_7c,param_1 + 0x3b,0,local_48);" (call_expression "FUN_00282e40(&local_7c,param_1 + 0x3b,0,local_48)" identifier (argument_list "(&local_7c,param_1 + 0x3b,0,local_48)" ( (pointer_expression "&local_7c" & identifier) , (binary_expression "param_1 + 0x3b" identifier + number_literal) , number_literal , identifier ))) ;) (expression_statement "FUN_0005fc50(&local_30);" (call_expression "FUN_0005fc50(&local_30)" identifier (argument_list "(&local_30)" ( (pointer_expression "&local_30" & identifier) ))) ;) (expression_statement "uVar3 = extraout_ECX;" (assignment_expression "uVar3 = extraout_ECX" identifier = identifier) ;) (if_statement "if (local_48[0] != local_40) {\n    FUN_003ae080(local_48[0]);\n    uVar3 = extraout_ECX_00;\n  }" if (parenthesized_expression "(local_48[0] != local_40)" ( (binary_expression "local_48[0] != local_40" (subscript_expression "local_48[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n    FUN_003ae080(local_48[0]);\n    uVar3 = extraout_ECX_00;\n  }" { (expression_statement "FUN_003ae080(local_48[0]);" (call_expression "FUN_003ae080(local_48[0])" identifier (argument_list "(local_48[0])" ( (subscript_expression "local_48[0]" identifier [ number_literal ]) ))) ;) (expression_statement "uVar3 = extraout_ECX_00;" (assignment_expression "uVar3 = extraout_ECX_00" identifier = identifier) ;) })) (if_statement "if (param_7 != (int *)0x0) {\n    *param_7 = local_7c + 0x1c;\n  }" if (parenthesized_expression "(param_7 != (int *)0x0)" ( (binary_expression "param_7 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *param_7 = local_7c + 0x1c;\n  }" { (expression_statement "*param_7 = local_7c + 0x1c;" (assignment_expression "*param_7 = local_7c + 0x1c" (pointer_expression "*param_7" * identifier) = (binary_expression "local_7c + 0x1c" identifier + number_literal)) ;) })) (if_statement "if ((char)local_78 == '\0') {\n    uVar4 = local_78;\n    if (*(char *)(local_7c + 0x25) != '\0') {\n      if (*(int *)(local_7c + 0x1c) == 0) {\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }\n      goto LAB_00278e40;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      goto LAB_00278e40;\n    }\n  }\n  else {\n    if (*(int *)(local_7c + 0x1c) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));\n    }\n    *(undefined4 *)(local_7c + 0x1c) = param_3;\n    if (*(int *)(local_7c + 0x20) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279034 to 002790b1 has its CatchHandler @ 002790b9 */\n      FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));\n    }\n    *(undefined4 *)(local_7c + 0x20) = param_4;\n    if (param_5 != '\0') {\n      if (*(char *)(local_7c + 0x24) != '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }\n      *(undefined1 *)(local_7c + 0x24) = 1;\n                    /* try { // try from 00278fb9 to 00278fbd has its CatchHandler @ 002790b9 */\n      iVar2 = FUN_003ac4d0(0x18);\n      *(undefined4 *)(iVar2 + 4) = 0;\n      *(undefined4 *)(iVar2 + 8) = 0;\n      *(int *)(iVar2 + 0xc) = iVar2 + 4;\n      *(int *)(iVar2 + 0x10) = iVar2 + 4;\n      *(undefined4 *)(iVar2 + 0x14) = 0;\n      *(int *)(local_7c + 0x28) = iVar2;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      uVar4 = (uint)param_6;\n      goto LAB_00278e40;\n    }\n  }" if (parenthesized_expression "((char)local_78 == '\0')" ( (binary_expression "(char)local_78 == '\0'" (cast_expression "(char)local_78" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar4 = local_78;\n    if (*(char *)(local_7c + 0x25) != '\0') {\n      if (*(int *)(local_7c + 0x1c) == 0) {\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }\n      goto LAB_00278e40;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      goto LAB_00278e40;\n    }\n  }" { (expression_statement "uVar4 = local_78;" (assignment_expression "uVar4 = local_78" identifier = identifier) ;) (if_statement "if (*(char *)(local_7c + 0x25) != '\0') {\n      if (*(int *)(local_7c + 0x1c) == 0) {\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }\n      goto LAB_00278e40;\n    }" if (parenthesized_expression "(*(char *)(local_7c + 0x25) != '\0')" ( (binary_expression "*(char *)(local_7c + 0x25) != '\0'" (pointer_expression "*(char *)(local_7c + 0x25)" * (cast_expression "(char *)(local_7c + 0x25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x25)" ( (binary_expression "local_7c + 0x25" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (*(int *)(local_7c + 0x1c) == 0) {\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }\n      goto LAB_00278e40;\n    }" { (if_statement "if (*(int *)(local_7c + 0x1c) == 0) {\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }" if (parenthesized_expression "(*(int *)(local_7c + 0x1c) == 0)" ( (binary_expression "*(int *)(local_7c + 0x1c) == 0" (pointer_expression "*(int *)(local_7c + 0x1c)" * (cast_expression "(int *)(local_7c + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x1c)" ( (binary_expression "local_7c + 0x1c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }" { (if_statement "if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }" if (parenthesized_expression "(*(int *)(DAT_005ea7c8 + 8) == 0)" ( (binary_expression "*(int *)(DAT_005ea7c8 + 8) == 0" (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" * (cast_expression "(int *)(DAT_005ea7c8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_005ea7c8 + 8)" ( (binary_expression "DAT_005ea7c8 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }" { comment (expression_statement "FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);" (call_expression "FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3)" identifier (argument_list "("../../gold/parameters.h",0x5c,"options",uVar3)" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") , identifier ))) ;) })) (expression_statement "bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);" (assignment_expression "bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61)" identifier = (pointer_expression "*(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61)" * (cast_expression "(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61)" ( (binary_expression "*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61" (pointer_expression "*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c)" * (cast_expression "(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_005ea7c8 + 8) + 0x593c)" ( (binary_expression "*(int *)(DAT_005ea7c8 + 8) + 0x593c" (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" * (cast_expression "(int *)(DAT_005ea7c8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_005ea7c8 + 8)" ( (binary_expression "DAT_005ea7c8 + 8" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar4 = (uint)bVar1;" (assignment_expression "uVar4 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }" if (parenthesized_expression "(bVar1 != 0)" ( (binary_expression "bVar1 != 0" identifier != number_literal) )) (compound_statement "{\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }" { (expression_statement "*(undefined4 *)(local_7c + 0x1c) = param_3;" (assignment_expression "*(undefined4 *)(local_7c + 0x1c) = param_3" (pointer_expression "*(undefined4 *)(local_7c + 0x1c)" * (cast_expression "(undefined4 *)(local_7c + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x1c)" ( (binary_expression "local_7c + 0x1c" identifier + number_literal) )))) = identifier) ;) (if_statement "if (*(int *)(local_7c + 0x20) != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }" if (parenthesized_expression "(*(int *)(local_7c + 0x20) != 0)" ( (binary_expression "*(int *)(local_7c + 0x20) != 0" (pointer_expression "*(int *)(local_7c + 0x20)" * (cast_expression "(int *)(local_7c + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x20)" ( (binary_expression "local_7c + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }" { comment (expression_statement "FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);" (call_expression "FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3)" identifier (argument_list "("../../gold/layout.h",0x112,"set_shndx",param_3)" ( (string_literal ""../../gold/layout.h"" " string_content ") , number_literal , (string_literal ""set_shndx"" " string_content ") , identifier ))) ;) })) (expression_statement "*(undefined4 *)(local_7c + 0x20) = param_4;" (assignment_expression "*(undefined4 *)(local_7c + 0x20) = param_4" (pointer_expression "*(undefined4 *)(local_7c + 0x20)" * (cast_expression "(undefined4 *)(local_7c + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x20)" ( (binary_expression "local_7c + 0x20" identifier + number_literal) )))) = identifier) ;) })) })) (goto_statement "goto LAB_00278e40;" goto statement_identifier ;) })) (if_statement "if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      goto LAB_00278e40;\n    }" if (parenthesized_expression "(param_6 != 0)" ( (binary_expression "param_6 != 0" identifier != number_literal) )) (compound_statement "{\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      goto LAB_00278e40;\n    }" { (expression_statement "*(undefined1 *)(local_7c + 0x25) = 1;" (assignment_expression "*(undefined1 *)(local_7c + 0x25) = 1" (pointer_expression "*(undefined1 *)(local_7c + 0x25)" * (cast_expression "(undefined1 *)(local_7c + 0x25)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x25)" ( (binary_expression "local_7c + 0x25" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00278e40;" goto statement_identifier ;) })) }) (else_clause "else {\n    if (*(int *)(local_7c + 0x1c) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));\n    }\n    *(undefined4 *)(local_7c + 0x1c) = param_3;\n    if (*(int *)(local_7c + 0x20) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279034 to 002790b1 has its CatchHandler @ 002790b9 */\n      FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));\n    }\n    *(undefined4 *)(local_7c + 0x20) = param_4;\n    if (param_5 != '\0') {\n      if (*(char *)(local_7c + 0x24) != '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }\n      *(undefined1 *)(local_7c + 0x24) = 1;\n                    /* try { // try from 00278fb9 to 00278fbd has its CatchHandler @ 002790b9 */\n      iVar2 = FUN_003ac4d0(0x18);\n      *(undefined4 *)(iVar2 + 4) = 0;\n      *(undefined4 *)(iVar2 + 8) = 0;\n      *(int *)(iVar2 + 0xc) = iVar2 + 4;\n      *(int *)(iVar2 + 0x10) = iVar2 + 4;\n      *(undefined4 *)(iVar2 + 0x14) = 0;\n      *(int *)(local_7c + 0x28) = iVar2;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      uVar4 = (uint)param_6;\n      goto LAB_00278e40;\n    }\n  }" else (compound_statement "{\n    if (*(int *)(local_7c + 0x1c) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));\n    }\n    *(undefined4 *)(local_7c + 0x1c) = param_3;\n    if (*(int *)(local_7c + 0x20) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279034 to 002790b1 has its CatchHandler @ 002790b9 */\n      FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));\n    }\n    *(undefined4 *)(local_7c + 0x20) = param_4;\n    if (param_5 != '\0') {\n      if (*(char *)(local_7c + 0x24) != '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }\n      *(undefined1 *)(local_7c + 0x24) = 1;\n                    /* try { // try from 00278fb9 to 00278fbd has its CatchHandler @ 002790b9 */\n      iVar2 = FUN_003ac4d0(0x18);\n      *(undefined4 *)(iVar2 + 4) = 0;\n      *(undefined4 *)(iVar2 + 8) = 0;\n      *(int *)(iVar2 + 0xc) = iVar2 + 4;\n      *(int *)(iVar2 + 0x10) = iVar2 + 4;\n      *(undefined4 *)(iVar2 + 0x14) = 0;\n      *(int *)(local_7c + 0x28) = iVar2;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      uVar4 = (uint)param_6;\n      goto LAB_00278e40;\n    }\n  }" { (if_statement "if (*(int *)(local_7c + 0x1c) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));\n    }" if (parenthesized_expression "(*(int *)(local_7c + 0x1c) != 0)" ( (binary_expression "*(int *)(local_7c + 0x1c) != 0" (pointer_expression "*(int *)(local_7c + 0x1c)" * (cast_expression "(int *)(local_7c + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x1c)" ( (binary_expression "local_7c + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));\n    }" { comment (expression_statement "FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));" (call_expression "FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c))" identifier (argument_list "("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c))" ( (string_literal ""../../gold/layout.h"" " string_content ") , number_literal , (string_literal ""set_object"" " string_content ") , (pointer_expression "*(int *)(local_7c + 0x1c)" * (cast_expression "(int *)(local_7c + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x1c)" ( (binary_expression "local_7c + 0x1c" identifier + number_literal) )))) ))) ;) })) (expression_statement "*(undefined4 *)(local_7c + 0x1c) = param_3;" (assignment_expression "*(undefined4 *)(local_7c + 0x1c) = param_3" (pointer_expression "*(undefined4 *)(local_7c + 0x1c)" * (cast_expression "(undefined4 *)(local_7c + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x1c)" ( (binary_expression "local_7c + 0x1c" identifier + number_literal) )))) = identifier) ;) (if_statement "if (*(int *)(local_7c + 0x20) != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279034 to 002790b1 has its CatchHandler @ 002790b9 */\n      FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));\n    }" if (parenthesized_expression "(*(int *)(local_7c + 0x20) != 0)" ( (binary_expression "*(int *)(local_7c + 0x20) != 0" (pointer_expression "*(int *)(local_7c + 0x20)" * (cast_expression "(int *)(local_7c + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x20)" ( (binary_expression "local_7c + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279034 to 002790b1 has its CatchHandler @ 002790b9 */\n      FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));\n    }" { comment comment (expression_statement "FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));" (call_expression "FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20))" identifier (argument_list "("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20))" ( (string_literal ""../../gold/layout.h"" " string_content ") , number_literal , (string_literal ""set_shndx"" " string_content ") , (pointer_expression "*(int *)(local_7c + 0x20)" * (cast_expression "(int *)(local_7c + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x20)" ( (binary_expression "local_7c + 0x20" identifier + number_literal) )))) ))) ;) })) (expression_statement "*(undefined4 *)(local_7c + 0x20) = param_4;" (assignment_expression "*(undefined4 *)(local_7c + 0x20) = param_4" (pointer_expression "*(undefined4 *)(local_7c + 0x20)" * (cast_expression "(undefined4 *)(local_7c + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x20)" ( (binary_expression "local_7c + 0x20" identifier + number_literal) )))) = identifier) ;) (if_statement "if (param_5 != '\0') {\n      if (*(char *)(local_7c + 0x24) != '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }\n      *(undefined1 *)(local_7c + 0x24) = 1;\n                    /* try { // try from 00278fb9 to 00278fbd has its CatchHandler @ 002790b9 */\n      iVar2 = FUN_003ac4d0(0x18);\n      *(undefined4 *)(iVar2 + 4) = 0;\n      *(undefined4 *)(iVar2 + 8) = 0;\n      *(int *)(iVar2 + 0xc) = iVar2 + 4;\n      *(int *)(iVar2 + 0x10) = iVar2 + 4;\n      *(undefined4 *)(iVar2 + 0x14) = 0;\n      *(int *)(local_7c + 0x28) = iVar2;\n    }" if (parenthesized_expression "(param_5 != '\0')" ( (binary_expression "param_5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (*(char *)(local_7c + 0x24) != '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }\n      *(undefined1 *)(local_7c + 0x24) = 1;\n                    /* try { // try from 00278fb9 to 00278fbd has its CatchHandler @ 002790b9 */\n      iVar2 = FUN_003ac4d0(0x18);\n      *(undefined4 *)(iVar2 + 4) = 0;\n      *(undefined4 *)(iVar2 + 8) = 0;\n      *(int *)(iVar2 + 0xc) = iVar2 + 4;\n      *(int *)(iVar2 + 0x10) = iVar2 + 4;\n      *(undefined4 *)(iVar2 + 0x14) = 0;\n      *(int *)(local_7c + 0x28) = iVar2;\n    }" { (if_statement "if (*(char *)(local_7c + 0x24) != '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }" if (parenthesized_expression "(*(char *)(local_7c + 0x24) != '\0')" ( (binary_expression "*(char *)(local_7c + 0x24) != '\0'" (pointer_expression "*(char *)(local_7c + 0x24)" * (cast_expression "(char *)(local_7c + 0x24)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x24)" ( (binary_expression "local_7c + 0x24" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }" { comment (expression_statement "FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);" (call_expression "FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4)" identifier (argument_list "("../../gold/layout.h",0x11f,"set_is_comdat",param_4)" ( (string_literal ""../../gold/layout.h"" " string_content ") , number_literal , (string_literal ""set_is_comdat"" " string_content ") , identifier ))) ;) })) (expression_statement "*(undefined1 *)(local_7c + 0x24) = 1;" (assignment_expression "*(undefined1 *)(local_7c + 0x24) = 1" (pointer_expression "*(undefined1 *)(local_7c + 0x24)" * (cast_expression "(undefined1 *)(local_7c + 0x24)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x24)" ( (binary_expression "local_7c + 0x24" identifier + number_literal) )))) = number_literal) ;) comment (expression_statement "iVar2 = FUN_003ac4d0(0x18);" (assignment_expression "iVar2 = FUN_003ac4d0(0x18)" identifier = (call_expression "FUN_003ac4d0(0x18)" identifier (argument_list "(0x18)" ( number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar2 + 4) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 4) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 4)" * (cast_expression "(undefined4 *)(iVar2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar2 + 8) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 8) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 8)" * (cast_expression "(undefined4 *)(iVar2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(iVar2 + 0xc) = iVar2 + 4;" (assignment_expression "*(int *)(iVar2 + 0xc) = iVar2 + 4" (pointer_expression "*(int *)(iVar2 + 0xc)" * (cast_expression "(int *)(iVar2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) )))) = (binary_expression "iVar2 + 4" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar2 + 0x10) = iVar2 + 4;" (assignment_expression "*(int *)(iVar2 + 0x10) = iVar2 + 4" (pointer_expression "*(int *)(iVar2 + 0x10)" * (cast_expression "(int *)(iVar2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))) = (binary_expression "iVar2 + 4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(iVar2 + 0x14) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 0x14) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 0x14)" * (cast_expression "(undefined4 *)(iVar2 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(local_7c + 0x28) = iVar2;" (assignment_expression "*(int *)(local_7c + 0x28) = iVar2" (pointer_expression "*(int *)(local_7c + 0x28)" * (cast_expression "(int *)(local_7c + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x28)" ( (binary_expression "local_7c + 0x28" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      uVar4 = (uint)param_6;\n      goto LAB_00278e40;\n    }" if (parenthesized_expression "(param_6 != 0)" ( (binary_expression "param_6 != 0" identifier != number_literal) )) (compound_statement "{\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      uVar4 = (uint)param_6;\n      goto LAB_00278e40;\n    }" { (expression_statement "*(undefined1 *)(local_7c + 0x25) = 1;" (assignment_expression "*(undefined1 *)(local_7c + 0x25) = 1" (pointer_expression "*(undefined1 *)(local_7c + 0x25)" * (cast_expression "(undefined1 *)(local_7c + 0x25)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x25)" ( (binary_expression "local_7c + 0x25" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar4 = (uint)param_6;" (assignment_expression "uVar4 = (uint)param_6" identifier = (cast_expression "(uint)param_6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_00278e40;" goto statement_identifier ;) })) }))) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00278e40:\n  FUN_0005fc50(&local_5c);" statement_identifier : (expression_statement "FUN_0005fc50(&local_5c);" (call_expression "FUN_0005fc50(&local_5c)" identifier (argument_list "(&local_5c)" ( (pointer_expression "&local_5c" & identifier) ))) ;)) (return_statement "return uVar4;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original prototype: bool find_or_add_kept_section(Layout * this, string * name, Relobj *\n   object, uint shndx, bool is_comdat, bool is_group_name, Kept_section * * kept_section) */\n\nbool __thiscall\ngold::Layout::find_or_add_kept_section\n          (Layout *this,string *name,Relobj *object,uint shndx,bool is_comdat,bool is_group_name,\n          Kept_section **kept_section)\n\n{\n  uint uVar1;\n  pointer pcVar2;\n  uint uVar3;\n  size_type __n;\n  __bucket_type p_Var4;\n  char cVar5;\n  Signatures *__in_chrg;\n  uint local_8c;\n  undefined1 local_7c [28];\n  size_t local_60;\n  Kept_section candidate;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> local_48;\n  Kept_section local_30;\n  \n  uVar1 = (this->signatures_)._M_h._M_element_count;\n  if ((4 < uVar1) && (this->resized_signatures_ == false)) {\n    local_60 = (this->signatures_)._M_h._M_rehash_policy._M_next_resize;\n    uVar3 = this->number_of_input_files_ << 6;\n    local_7c._8_8_ =\n         (undefined8)\n         ((float)(uVar1 + 1) / (this->signatures_)._M_h._M_rehash_policy._M_max_load_factor);\n    local_8c = (uint)(longlong)ROUND(ROUND((double)local_7c._8_8_));\n    if (local_8c < uVar3) {\n      local_8c = uVar3;\n    }\n    __n = std::__detail::_Prime_rehash_policy::_M_next_bkt\n                    (&(this->signatures_)._M_h._M_rehash_policy,local_8c);\n    if (__n == (this->signatures_)._M_h._M_bucket_count) {\n      (this->signatures_)._M_h._M_rehash_policy._M_next_resize = local_60;\n    }\n    else {\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n      ::_M_rehash((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)&this->signatures_,__n,&local_60);\n    }\n    this->resized_signatures_ = true;\n  }\n  pcVar2 = (name->_M_dataplus)._M_p;\n  candidate.is_comdat_ = false;\n  candidate.is_group_name_ = false;\n  candidate.object_ = (Relobj *)0x0;\n  candidate.shndx_ = 0;\n  candidate.u_.group_sections = (Comdat_group *)0x0;\n  candidate.u_.linkonce_size._4_4_ = 0;\n  local_48._M_dataplus._M_p = (pointer)&local_48.field_2;\n                    /* try { // try from 00278d63 to 00278d67 has its CatchHandler @ 002790b9 */\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char*>(&local_48,pcVar2,pcVar2 + name->_M_string_length,0);\n  local_30.is_comdat_ = false;\n  local_30.object_ = candidate.object_;\n  local_30.shndx_ = candidate.shndx_;\n  local_30.is_group_name_ = candidate.is_group_name_;\n  if (candidate.is_comdat_ != false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279015 to 00279019 has its CatchHandler @ 002790b2 */\n    do_gold_unreachable("../../gold/layout.h",0xf2,"Kept_section");\n  }\n  __in_chrg = &this->signatures_;\n  local_30.u_.group_sections = (Comdat_group *)0x0;\n  local_30.u_.linkonce_size._4_4_ = 0;\n                    /* try { // try from 00278da8 to 00278dac has its CatchHandler @ 002790c0 */\n  std::\n  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n  ::\n  _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>\n            ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              *)local_7c,__in_chrg,0,&local_48);\n  Kept_section::~Kept_section(&local_30,(int)__in_chrg);\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)local_48._M_dataplus._M_p != &local_48.field_2) {\n    operator_delete(local_48._M_dataplus._M_p);\n  }\n  if (kept_section != (Kept_section **)0x0) {\n    *kept_section = (Kept_section *)(local_7c._0_4_ + 0x1c);\n  }\n  if (local_7c[4] == '\0') {\n    cVar5 = '\0';\n    if (*(char *)(local_7c._0_4_ + 0x25) != '\0') {\n      if (*(__bucket_type *)(local_7c._0_4_ + 0x1c) == (__bucket_type)0x0) {\n        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        cVar5 = parameters->options_->plugins_->in_replacement_phase_;\n        if ((bool)cVar5 != false) {\n          *(Relobj **)(local_7c._0_4_ + 0x1c) = object;\n          if (*(__bucket_type *)(local_7c._0_4_ + 0x20) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx");\n          }\n          *(uint *)(local_7c._0_4_ + 0x20) = shndx;\n        }\n      }\n      goto LAB_00278e40;\n    }\n    if (is_group_name) {\n      *(undefined1 *)(local_7c._0_4_ + 0x25) = 1;\n      goto LAB_00278e40;\n    }\n  }\n  else {\n    if (*(__bucket_type *)(local_7c._0_4_ + 0x1c) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/layout.h",0x105,"set_object");\n    }\n    *(Relobj **)(local_7c._0_4_ + 0x1c) = object;\n    if (*(__bucket_type *)(local_7c._0_4_ + 0x20) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279034 to 002790b1 has its CatchHandler @ 002790b9 */\n      do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx");\n    }\n    *(uint *)(local_7c._0_4_ + 0x20) = shndx;\n    if (is_comdat) {\n      if (*(char *)(local_7c._0_4_ + 0x24) != '\0') {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/layout.h",0x11f,"set_is_comdat");\n      }\n      *(undefined1 *)(local_7c._0_4_ + 0x24) = 1;\n                    /* try { // try from 00278fb9 to 00278fbd has its CatchHandler @ 002790b9 */\n      p_Var4 = (__bucket_type)operator_new(0x18);\n      p_Var4[1]._M_nxt = (_Hash_node_base *)0x0;\n      p_Var4[2]._M_nxt = (_Hash_node_base *)0x0;\n      p_Var4[3]._M_nxt = p_Var4 + 1;\n      p_Var4[4]._M_nxt = p_Var4 + 1;\n      p_Var4[5]._M_nxt = (_Hash_node_base *)0x0;\n      *(__bucket_type *)(local_7c._0_4_ + 0x28) = p_Var4;\n    }\n    if (is_group_name) {\n      *(undefined1 *)(local_7c._0_4_ + 0x25) = 1;\n      cVar5 = is_group_name;\n      goto LAB_00278e40;\n    }\n  }\n  cVar5 = '\x01';\nLAB_00278e40:\n  Kept_section::~Kept_section(&candidate,(int)__in_chrg);\n  return (bool)cVar5;\n}\n\n" comment comment comment comment (function_definition "bool __thiscall\ngold::Layout::find_or_add_kept_section\n          (Layout *this,string *name,Relobj *object,uint shndx,bool is_comdat,bool is_group_name,\n          Kept_section **kept_section)\n\n{\n  uint uVar1;\n  pointer pcVar2;\n  uint uVar3;\n  size_type __n;\n  __bucket_type p_Var4;\n  char cVar5;\n  Signatures *__in_chrg;\n  uint local_8c;\n  undefined1 local_7c [28];\n  size_t local_60;\n  Kept_section candidate;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> local_48;\n  Kept_section local_30;\n  \n  uVar1 = (this->signatures_)._M_h._M_element_count;\n  if ((4 < uVar1) && (this->resized_signatures_ == false)) {\n    local_60 = (this->signatures_)._M_h._M_rehash_policy._M_next_resize;\n    uVar3 = this->number_of_input_files_ << 6;\n    local_7c._8_8_ =\n         (undefined8)\n         ((float)(uVar1 + 1) / (this->signatures_)._M_h._M_rehash_policy._M_max_load_factor);\n    local_8c = (uint)(longlong)ROUND(ROUND((double)local_7c._8_8_));\n    if (local_8c < uVar3) {\n      local_8c = uVar3;\n    }\n    __n = std::__detail::_Prime_rehash_policy::_M_next_bkt\n                    (&(this->signatures_)._M_h._M_rehash_policy,local_8c);\n    if (__n == (this->signatures_)._M_h._M_bucket_count) {\n      (this->signatures_)._M_h._M_rehash_policy._M_next_resize = local_60;\n    }\n    else {\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n      ::_M_rehash((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)&this->signatures_,__n,&local_60);\n    }\n    this->resized_signatures_ = true;\n  }\n  pcVar2 = (name->_M_dataplus)._M_p;\n  candidate.is_comdat_ = false;\n  candidate.is_group_name_ = false;\n  candidate.object_ = (Relobj *)0x0;\n  candidate.shndx_ = 0;\n  candidate.u_.group_sections = (Comdat_group *)0x0;\n  candidate.u_.linkonce_size._4_4_ = 0;\n  local_48._M_dataplus._M_p = (pointer)&local_48.field_2;\n                    /* try { // try from 00278d63 to 00278d67 has its CatchHandler @ 002790b9 */\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char*>(&local_48,pcVar2,pcVar2 + name->_M_string_length,0);\n  local_30.is_comdat_ = false;\n  local_30.object_ = candidate.object_;\n  local_30.shndx_ = candidate.shndx_;\n  local_30.is_group_name_ = candidate.is_group_name_;\n  if (candidate.is_comdat_ != false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279015 to 00279019 has its CatchHandler @ 002790b2 */\n    do_gold_unreachable("../../gold/layout.h",0xf2,"Kept_section");\n  }\n  __in_chrg = &this->signatures_;\n  local_30.u_.group_sections = (Comdat_group *)0x0;\n  local_30.u_.linkonce_size._4_4_ = 0;\n                    /* try { // try from 00278da8 to 00278dac has its CatchHandler @ 002790c0 */\n  std::\n  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n  ::\n  _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>\n            ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              *)local_7c,__in_chrg,0,&local_48);\n  Kept_section::~Kept_section(&local_30,(int)__in_chrg);\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)local_48._M_dataplus._M_p != &local_48.field_2) {\n    operator_delete(local_48._M_dataplus._M_p);\n  }\n  if (kept_section != (Kept_section **)0x0) {\n    *kept_section = (Kept_section *)(local_7c._0_4_ + 0x1c);\n  }\n  if (local_7c[4] == '\0') {\n    cVar5 = '\0';\n    if (*(char *)(local_7c._0_4_ + 0x25) != '\0') {\n      if (*(__bucket_type *)(local_7c._0_4_ + 0x1c) == (__bucket_type)0x0) {\n        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        cVar5 = parameters->options_->plugins_->in_replacement_phase_;\n        if ((bool)cVar5 != false) {\n          *(Relobj **)(local_7c._0_4_ + 0x1c) = object;\n          if (*(__bucket_type *)(local_7c._0_4_ + 0x20) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx");\n          }\n          *(uint *)(local_7c._0_4_ + 0x20) = shndx;\n        }\n      }\n      goto LAB_00278e40;\n    }\n    if (is_group_name) {\n      *(undefined1 *)(local_7c._0_4_ + 0x25) = 1;\n      goto LAB_00278e40;\n    }\n  }\n  else {\n    if (*(__bucket_type *)(local_7c._0_4_ + 0x1c) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/layout.h",0x105,"set_object");\n    }\n    *(Relobj **)(local_7c._0_4_ + 0x1c) = object;\n    if (*(__bucket_type *)(local_7c._0_4_ + 0x20) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279034 to 002790b1 has its CatchHandler @ 002790b9 */\n      do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx");\n    }\n    *(uint *)(local_7c._0_4_ + 0x20) = shndx;\n    if (is_comdat) {\n      if (*(char *)(local_7c._0_4_ + 0x24) != '\0') {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/layout.h",0x11f,"set_is_comdat");\n      }\n      *(undefined1 *)(local_7c._0_4_ + 0x24) = 1;\n                    /* try { // try from 00278fb9 to 00278fbd has its CatchHandler @ 002790b9 */\n      p_Var4 = (__bucket_type)operator_new(0x18);\n      p_Var4[1]._M_nxt = (_Hash_node_base *)0x0;\n      p_Var4[2]._M_nxt = (_Hash_node_base *)0x0;\n      p_Var4[3]._M_nxt = p_Var4 + 1;\n      p_Var4[4]._M_nxt = p_Var4 + 1;\n      p_Var4[5]._M_nxt = (_Hash_node_base *)0x0;\n      *(__bucket_type *)(local_7c._0_4_ + 0x28) = p_Var4;\n    }\n    if (is_group_name) {\n      *(undefined1 *)(local_7c._0_4_ + 0x25) = 1;\n      cVar5 = is_group_name;\n      goto LAB_00278e40;\n    }\n  }\n  cVar5 = '\x01';\nLAB_00278e40:\n  Kept_section::~Kept_section(&candidate,(int)__in_chrg);\n  return (bool)cVar5;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Layout::" identifier : : identifier : :) (function_declarator "find_or_add_kept_section\n          (Layout *this,string *name,Relobj *object,uint shndx,bool is_comdat,bool is_group_name,\n          Kept_section **kept_section)" identifier (parameter_list "(Layout *this,string *name,Relobj *object,uint shndx,bool is_comdat,bool is_group_name,\n          Kept_section **kept_section)" ( (parameter_declaration "Layout *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "string *name" type_identifier (pointer_declarator "*name" * identifier)) , (parameter_declaration "Relobj *object" type_identifier (pointer_declarator "*object" * identifier)) , (parameter_declaration "uint shndx" type_identifier identifier) , (parameter_declaration "bool is_comdat" primitive_type identifier) , (parameter_declaration "bool is_group_name" primitive_type identifier) , (parameter_declaration "Kept_section **kept_section" type_identifier (pointer_declarator "**kept_section" * (pointer_declarator "*kept_section" * identifier))) ))) (compound_statement "{\n  uint uVar1;\n  pointer pcVar2;\n  uint uVar3;\n  size_type __n;\n  __bucket_type p_Var4;\n  char cVar5;\n  Signatures *__in_chrg;\n  uint local_8c;\n  undefined1 local_7c [28];\n  size_t local_60;\n  Kept_section candidate;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> local_48;\n  Kept_section local_30;\n  \n  uVar1 = (this->signatures_)._M_h._M_element_count;\n  if ((4 < uVar1) && (this->resized_signatures_ == false)) {\n    local_60 = (this->signatures_)._M_h._M_rehash_policy._M_next_resize;\n    uVar3 = this->number_of_input_files_ << 6;\n    local_7c._8_8_ =\n         (undefined8)\n         ((float)(uVar1 + 1) / (this->signatures_)._M_h._M_rehash_policy._M_max_load_factor);\n    local_8c = (uint)(longlong)ROUND(ROUND((double)local_7c._8_8_));\n    if (local_8c < uVar3) {\n      local_8c = uVar3;\n    }\n    __n = std::__detail::_Prime_rehash_policy::_M_next_bkt\n                    (&(this->signatures_)._M_h._M_rehash_policy,local_8c);\n    if (__n == (this->signatures_)._M_h._M_bucket_count) {\n      (this->signatures_)._M_h._M_rehash_policy._M_next_resize = local_60;\n    }\n    else {\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n      ::_M_rehash((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)&this->signatures_,__n,&local_60);\n    }\n    this->resized_signatures_ = true;\n  }\n  pcVar2 = (name->_M_dataplus)._M_p;\n  candidate.is_comdat_ = false;\n  candidate.is_group_name_ = false;\n  candidate.object_ = (Relobj *)0x0;\n  candidate.shndx_ = 0;\n  candidate.u_.group_sections = (Comdat_group *)0x0;\n  candidate.u_.linkonce_size._4_4_ = 0;\n  local_48._M_dataplus._M_p = (pointer)&local_48.field_2;\n                    /* try { // try from 00278d63 to 00278d67 has its CatchHandler @ 002790b9 */\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char*>(&local_48,pcVar2,pcVar2 + name->_M_string_length,0);\n  local_30.is_comdat_ = false;\n  local_30.object_ = candidate.object_;\n  local_30.shndx_ = candidate.shndx_;\n  local_30.is_group_name_ = candidate.is_group_name_;\n  if (candidate.is_comdat_ != false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279015 to 00279019 has its CatchHandler @ 002790b2 */\n    do_gold_unreachable("../../gold/layout.h",0xf2,"Kept_section");\n  }\n  __in_chrg = &this->signatures_;\n  local_30.u_.group_sections = (Comdat_group *)0x0;\n  local_30.u_.linkonce_size._4_4_ = 0;\n                    /* try { // try from 00278da8 to 00278dac has its CatchHandler @ 002790c0 */\n  std::\n  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n  ::\n  _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>\n            ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              *)local_7c,__in_chrg,0,&local_48);\n  Kept_section::~Kept_section(&local_30,(int)__in_chrg);\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)local_48._M_dataplus._M_p != &local_48.field_2) {\n    operator_delete(local_48._M_dataplus._M_p);\n  }\n  if (kept_section != (Kept_section **)0x0) {\n    *kept_section = (Kept_section *)(local_7c._0_4_ + 0x1c);\n  }\n  if (local_7c[4] == '\0') {\n    cVar5 = '\0';\n    if (*(char *)(local_7c._0_4_ + 0x25) != '\0') {\n      if (*(__bucket_type *)(local_7c._0_4_ + 0x1c) == (__bucket_type)0x0) {\n        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        cVar5 = parameters->options_->plugins_->in_replacement_phase_;\n        if ((bool)cVar5 != false) {\n          *(Relobj **)(local_7c._0_4_ + 0x1c) = object;\n          if (*(__bucket_type *)(local_7c._0_4_ + 0x20) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx");\n          }\n          *(uint *)(local_7c._0_4_ + 0x20) = shndx;\n        }\n      }\n      goto LAB_00278e40;\n    }\n    if (is_group_name) {\n      *(undefined1 *)(local_7c._0_4_ + 0x25) = 1;\n      goto LAB_00278e40;\n    }\n  }\n  else {\n    if (*(__bucket_type *)(local_7c._0_4_ + 0x1c) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/layout.h",0x105,"set_object");\n    }\n    *(Relobj **)(local_7c._0_4_ + 0x1c) = object;\n    if (*(__bucket_type *)(local_7c._0_4_ + 0x20) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279034 to 002790b1 has its CatchHandler @ 002790b9 */\n      do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx");\n    }\n    *(uint *)(local_7c._0_4_ + 0x20) = shndx;\n    if (is_comdat) {\n      if (*(char *)(local_7c._0_4_ + 0x24) != '\0') {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/layout.h",0x11f,"set_is_comdat");\n      }\n      *(undefined1 *)(local_7c._0_4_ + 0x24) = 1;\n                    /* try { // try from 00278fb9 to 00278fbd has its CatchHandler @ 002790b9 */\n      p_Var4 = (__bucket_type)operator_new(0x18);\n      p_Var4[1]._M_nxt = (_Hash_node_base *)0x0;\n      p_Var4[2]._M_nxt = (_Hash_node_base *)0x0;\n      p_Var4[3]._M_nxt = p_Var4 + 1;\n      p_Var4[4]._M_nxt = p_Var4 + 1;\n      p_Var4[5]._M_nxt = (_Hash_node_base *)0x0;\n      *(__bucket_type *)(local_7c._0_4_ + 0x28) = p_Var4;\n    }\n    if (is_group_name) {\n      *(undefined1 *)(local_7c._0_4_ + 0x25) = 1;\n      cVar5 = is_group_name;\n      goto LAB_00278e40;\n    }\n  }\n  cVar5 = '\x01';\nLAB_00278e40:\n  Kept_section::~Kept_section(&candidate,(int)__in_chrg);\n  return (bool)cVar5;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "pointer pcVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "size_type __n;" type_identifier identifier ;) (declaration "__bucket_type p_Var4;" type_identifier identifier ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "Signatures *__in_chrg;" type_identifier (pointer_declarator "*__in_chrg" * identifier) ;) (declaration "uint local_8c;" type_identifier identifier ;) (declaration "undefined1 local_7c [28];" type_identifier (array_declarator "local_7c [28]" identifier [ number_literal ]) ;) (declaration "size_t local_60;" primitive_type identifier ;) (declaration "Kept_section candidate;" type_identifier identifier ;) (ERROR "basic_string<char,_std::char_traits<char>,_std::" (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (expression_statement "allocator<char>_> local_48;" (binary_expression "allocator<char>_> local_48" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) ;) (declaration "Kept_section local_30;" type_identifier identifier ;) (expression_statement "uVar1 = (this->signatures_)._M_h._M_element_count;" (assignment_expression "uVar1 = (this->signatures_)._M_h._M_element_count" identifier = (field_expression "(this->signatures_)._M_h._M_element_count" (field_expression "(this->signatures_)._M_h" (parenthesized_expression "(this->signatures_)" ( (field_expression "this->signatures_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if ((4 < uVar1) && (this->resized_signatures_ == false)) {\n    local_60 = (this->signatures_)._M_h._M_rehash_policy._M_next_resize;\n    uVar3 = this->number_of_input_files_ << 6;\n    local_7c._8_8_ =\n         (undefined8)\n         ((float)(uVar1 + 1) / (this->signatures_)._M_h._M_rehash_policy._M_max_load_factor);\n    local_8c = (uint)(longlong)ROUND(ROUND((double)local_7c._8_8_));\n    if (local_8c < uVar3) {\n      local_8c = uVar3;\n    }\n    __n = std::__detail::_Prime_rehash_policy::_M_next_bkt\n                    (&(this->signatures_)._M_h._M_rehash_policy,local_8c);\n    if (__n == (this->signatures_)._M_h._M_bucket_count) {\n      (this->signatures_)._M_h._M_rehash_policy._M_next_resize = local_60;\n    }\n    else {\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n      ::_M_rehash((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)&this->signatures_,__n,&local_60);\n    }\n    this->resized_signatures_ = true;\n  }" if (parenthesized_expression "((4 < uVar1) && (this->resized_signatures_ == false))" ( (binary_expression "(4 < uVar1) && (this->resized_signatures_ == false)" (parenthesized_expression "(4 < uVar1)" ( (binary_expression "4 < uVar1" number_literal < identifier) )) && (parenthesized_expression "(this->resized_signatures_ == false)" ( (binary_expression "this->resized_signatures_ == false" (field_expression "this->resized_signatures_" identifier -> field_identifier) == false) ))) )) (compound_statement "{\n    local_60 = (this->signatures_)._M_h._M_rehash_policy._M_next_resize;\n    uVar3 = this->number_of_input_files_ << 6;\n    local_7c._8_8_ =\n         (undefined8)\n         ((float)(uVar1 + 1) / (this->signatures_)._M_h._M_rehash_policy._M_max_load_factor);\n    local_8c = (uint)(longlong)ROUND(ROUND((double)local_7c._8_8_));\n    if (local_8c < uVar3) {\n      local_8c = uVar3;\n    }\n    __n = std::__detail::_Prime_rehash_policy::_M_next_bkt\n                    (&(this->signatures_)._M_h._M_rehash_policy,local_8c);\n    if (__n == (this->signatures_)._M_h._M_bucket_count) {\n      (this->signatures_)._M_h._M_rehash_policy._M_next_resize = local_60;\n    }\n    else {\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n      ::_M_rehash((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)&this->signatures_,__n,&local_60);\n    }\n    this->resized_signatures_ = true;\n  }" { (expression_statement "local_60 = (this->signatures_)._M_h._M_rehash_policy._M_next_resize;" (assignment_expression "local_60 = (this->signatures_)._M_h._M_rehash_policy._M_next_resize" identifier = (field_expression "(this->signatures_)._M_h._M_rehash_policy._M_next_resize" (field_expression "(this->signatures_)._M_h._M_rehash_policy" (field_expression "(this->signatures_)._M_h" (parenthesized_expression "(this->signatures_)" ( (field_expression "this->signatures_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "uVar3 = this->number_of_input_files_ << 6;" (assignment_expression "uVar3 = this->number_of_input_files_ << 6" identifier = (binary_expression "this->number_of_input_files_ << 6" (field_expression "this->number_of_input_files_" identifier -> field_identifier) << number_literal)) ;) (expression_statement "local_7c._8_8_ =\n         (undefined8)\n         ((float)(uVar1 + 1) / (this->signatures_)._M_h._M_rehash_policy._M_max_load_factor);" (assignment_expression "local_7c._8_8_ =\n         (undefined8)\n         ((float)(uVar1 + 1) / (this->signatures_)._M_h._M_rehash_policy._M_max_load_factor)" (field_expression "local_7c._8_8_" identifier . field_identifier) = (call_expression "(undefined8)\n         ((float)(uVar1 + 1) / (this->signatures_)._M_h._M_rehash_policy._M_max_load_factor)" (parenthesized_expression "(undefined8)" ( identifier )) (argument_list "((float)(uVar1 + 1) / (this->signatures_)._M_h._M_rehash_policy._M_max_load_factor)" ( (binary_expression "(float)(uVar1 + 1) / (this->signatures_)._M_h._M_rehash_policy._M_max_load_factor" (cast_expression "(float)(uVar1 + 1)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(uVar1 + 1)" ( (binary_expression "uVar1 + 1" identifier + number_literal) ))) / (field_expression "(this->signatures_)._M_h._M_rehash_policy._M_max_load_factor" (field_expression "(this->signatures_)._M_h._M_rehash_policy" (field_expression "(this->signatures_)._M_h" (parenthesized_expression "(this->signatures_)" ( (field_expression "this->signatures_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) )))) ;) (expression_statement "local_8c = (uint)(longlong)ROUND(ROUND((double)local_7c._8_8_));" (assignment_expression "local_8c = (uint)(longlong)ROUND(ROUND((double)local_7c._8_8_))" identifier = (cast_expression "(uint)(longlong)ROUND(ROUND((double)local_7c._8_8_))" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(longlong)ROUND(ROUND((double)local_7c._8_8_))" ( (type_descriptor "longlong" type_identifier) ) (call_expression "ROUND(ROUND((double)local_7c._8_8_))" identifier (argument_list "(ROUND((double)local_7c._8_8_))" ( (call_expression "ROUND((double)local_7c._8_8_)" identifier (argument_list "((double)local_7c._8_8_)" ( (cast_expression "(double)local_7c._8_8_" ( (type_descriptor "double" primitive_type) ) (field_expression "local_7c._8_8_" identifier . field_identifier)) ))) )))))) ;) (if_statement "if (local_8c < uVar3) {\n      local_8c = uVar3;\n    }" if (parenthesized_expression "(local_8c < uVar3)" ( (binary_expression "local_8c < uVar3" identifier < identifier) )) (compound_statement "{\n      local_8c = uVar3;\n    }" { (expression_statement "local_8c = uVar3;" (assignment_expression "local_8c = uVar3" identifier = identifier) ;) })) (ERROR "__n = std::" (assignment_expression "__n = std" identifier = identifier) : :) (labeled_statement "__detail::_Prime_rehash_policy::_M_next_bkt\n                    (&(this->signatures_)._M_h._M_rehash_policy,local_8c);" statement_identifier : (ERROR ":" :) (labeled_statement "_Prime_rehash_policy::_M_next_bkt\n                    (&(this->signatures_)._M_h._M_rehash_policy,local_8c);" statement_identifier : (ERROR ":" :) (expression_statement "_M_next_bkt\n                    (&(this->signatures_)._M_h._M_rehash_policy,local_8c);" (call_expression "_M_next_bkt\n                    (&(this->signatures_)._M_h._M_rehash_policy,local_8c)" identifier (argument_list "(&(this->signatures_)._M_h._M_rehash_policy,local_8c)" ( (pointer_expression "&(this->signatures_)._M_h._M_rehash_policy" & (field_expression "(this->signatures_)._M_h._M_rehash_policy" (field_expression "(this->signatures_)._M_h" (parenthesized_expression "(this->signatures_)" ( (field_expression "this->signatures_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) , identifier ))) ;))) (if_statement "if (__n == (this->signatures_)._M_h._M_bucket_count) {\n      (this->signatures_)._M_h._M_rehash_policy._M_next_resize = local_60;\n    }\n    else {\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n      ::_M_rehash((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)&this->signatures_,__n,&local_60);\n    }" if (parenthesized_expression "(__n == (this->signatures_)._M_h._M_bucket_count)" ( (binary_expression "__n == (this->signatures_)._M_h._M_bucket_count" identifier == (field_expression "(this->signatures_)._M_h._M_bucket_count" (field_expression "(this->signatures_)._M_h" (parenthesized_expression "(this->signatures_)" ( (field_expression "this->signatures_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) )) (compound_statement "{\n      (this->signatures_)._M_h._M_rehash_policy._M_next_resize = local_60;\n    }" { (expression_statement "(this->signatures_)._M_h._M_rehash_policy._M_next_resize = local_60;" (assignment_expression "(this->signatures_)._M_h._M_rehash_policy._M_next_resize = local_60" (field_expression "(this->signatures_)._M_h._M_rehash_policy._M_next_resize" (field_expression "(this->signatures_)._M_h._M_rehash_policy" (field_expression "(this->signatures_)._M_h" (parenthesized_expression "(this->signatures_)" ( (field_expression "this->signatures_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) }) (else_clause "else {\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n      ::_M_rehash((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)&this->signatures_,__n,&local_60);\n    }" else (compound_statement "{\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n      ::_M_rehash((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)&this->signatures_,__n,&local_60);\n    }" { (ERROR "std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::" (comma_expression "std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "Kept_section>,_std" identifier > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "Kept_section>_>,_std" (binary_expression "Kept_section>_" identifier > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std" identifier (ERROR "::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) >) , identifier) : : (binary_expression "hash<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n      ::_M_rehash((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)&this->signatures_,__n,&local_60);" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n      ::_M_rehash((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)&this->signatures_,__n,&local_60);" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n      ::_M_rehash((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)&this->signatures_,__n,&local_60);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_false,_true>_>\n      ::_M_rehash((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)&this->signatures_,__n,&local_60);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_false,_true>_>\n      ::_M_rehash((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)&this->signatures_,__n,&local_60);" (comma_expression "_Hashtable_traits<true,_false,_true>_>\n      ::_M_rehash((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)&this->signatures_,__n,&local_60)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n      ::_M_rehash((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)&this->signatures_,__n,&local_60)" identifier , (binary_expression "_true>_>\n      ::_M_rehash((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)&this->signatures_,__n,&local_60)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "_M_rehash((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)&this->signatures_,__n,&local_60)" identifier (argument_list "((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)&this->signatures_,__n,&local_60)" ( (binary_expression "(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)&this->signatures_" (parenthesized_expression "(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)" ( (ERROR "_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::__cxx11::basic_string<char,_std" (binary_expression "_Hashtable<std::__cxx11::basic_string<char" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "Kept_section>,_std" identifier > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "Kept_section>_>,_std" (binary_expression "Kept_section>_" identifier > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "hash<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,_false,_true>_>\n                   *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n                   *" identifier , (binary_expression "_true>_>\n                   *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) & (field_expression "this->signatures_" identifier -> field_identifier)) , identifier , (pointer_expression "&local_60" & identifier) )))))) ;))))) }))) (expression_statement "this->resized_signatures_ = true;" (assignment_expression "this->resized_signatures_ = true" (field_expression "this->resized_signatures_" identifier -> field_identifier) = true) ;) })) (expression_statement "pcVar2 = (name->_M_dataplus)._M_p;" (assignment_expression "pcVar2 = (name->_M_dataplus)._M_p" identifier = (field_expression "(name->_M_dataplus)._M_p" (parenthesized_expression "(name->_M_dataplus)" ( (field_expression "name->_M_dataplus" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "candidate.is_comdat_ = false;" (assignment_expression "candidate.is_comdat_ = false" (field_expression "candidate.is_comdat_" identifier . field_identifier) = false) ;) (expression_statement "candidate.is_group_name_ = false;" (assignment_expression "candidate.is_group_name_ = false" (field_expression "candidate.is_group_name_" identifier . field_identifier) = false) ;) (expression_statement "candidate.object_ = (Relobj *)0x0;" (assignment_expression "candidate.object_ = (Relobj *)0x0" (field_expression "candidate.object_" identifier . field_identifier) = (cast_expression "(Relobj *)0x0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "candidate.shndx_ = 0;" (assignment_expression "candidate.shndx_ = 0" (field_expression "candidate.shndx_" identifier . field_identifier) = number_literal) ;) (expression_statement "candidate.u_.group_sections = (Comdat_group *)0x0;" (assignment_expression "candidate.u_.group_sections = (Comdat_group *)0x0" (field_expression "candidate.u_.group_sections" (field_expression "candidate.u_" identifier . field_identifier) . field_identifier) = (cast_expression "(Comdat_group *)0x0" ( (type_descriptor "Comdat_group *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "candidate.u_.linkonce_size._4_4_ = 0;" (assignment_expression "candidate.u_.linkonce_size._4_4_ = 0" (field_expression "candidate.u_.linkonce_size._4_4_" (field_expression "candidate.u_.linkonce_size" (field_expression "candidate.u_" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "local_48._M_dataplus._M_p = (pointer)&local_48.field_2;" (assignment_expression "local_48._M_dataplus._M_p = (pointer)&local_48.field_2" (field_expression "local_48._M_dataplus._M_p" (field_expression "local_48._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "(pointer)&local_48.field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "local_48.field_2" identifier . field_identifier))) ;) comment (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char*>(&local_48,pcVar2,pcVar2 + name->_M_string_length,0);" statement_identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>:" : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > :) : (expression_statement "_M_construct<char*>(&local_48,pcVar2,pcVar2 + name->_M_string_length,0);" (binary_expression "_M_construct<char*>(&local_48,pcVar2,pcVar2 + name->_M_string_length,0)" (binary_expression "_M_construct<char" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&local_48,pcVar2,pcVar2 + name->_M_string_length,0)" ( (comma_expression "&local_48,pcVar2,pcVar2 + name->_M_string_length,0" (pointer_expression "&local_48" & identifier) , (comma_expression "pcVar2,pcVar2 + name->_M_string_length,0" identifier , (comma_expression "pcVar2 + name->_M_string_length,0" (binary_expression "pcVar2 + name->_M_string_length" identifier + (field_expression "name->_M_string_length" identifier -> field_identifier)) , number_literal))) ))) ;)) (expression_statement "local_30.is_comdat_ = false;" (assignment_expression "local_30.is_comdat_ = false" (field_expression "local_30.is_comdat_" identifier . field_identifier) = false) ;) (expression_statement "local_30.object_ = candidate.object_;" (assignment_expression "local_30.object_ = candidate.object_" (field_expression "local_30.object_" identifier . field_identifier) = (field_expression "candidate.object_" identifier . field_identifier)) ;) (expression_statement "local_30.shndx_ = candidate.shndx_;" (assignment_expression "local_30.shndx_ = candidate.shndx_" (field_expression "local_30.shndx_" identifier . field_identifier) = (field_expression "candidate.shndx_" identifier . field_identifier)) ;) (expression_statement "local_30.is_group_name_ = candidate.is_group_name_;" (assignment_expression "local_30.is_group_name_ = candidate.is_group_name_" (field_expression "local_30.is_group_name_" identifier . field_identifier) = (field_expression "candidate.is_group_name_" identifier . field_identifier)) ;) (if_statement "if (candidate.is_comdat_ != false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279015 to 00279019 has its CatchHandler @ 002790b2 */\n    do_gold_unreachable("../../gold/layout.h",0xf2,"Kept_section");\n  }" if (parenthesized_expression "(candidate.is_comdat_ != false)" ( (binary_expression "candidate.is_comdat_ != false" (field_expression "candidate.is_comdat_" identifier . field_identifier) != false) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279015 to 00279019 has its CatchHandler @ 002790b2 */\n    do_gold_unreachable("../../gold/layout.h",0xf2,"Kept_section");\n  }" { comment comment (expression_statement "do_gold_unreachable("../../gold/layout.h",0xf2,"Kept_section");" (call_expression "do_gold_unreachable("../../gold/layout.h",0xf2,"Kept_section")" identifier (argument_list "("../../gold/layout.h",0xf2,"Kept_section")" ( (string_literal ""../../gold/layout.h"" " string_content ") , number_literal , (string_literal ""Kept_section"" " string_content ") ))) ;) })) (expression_statement "__in_chrg = &this->signatures_;" (assignment_expression "__in_chrg = &this->signatures_" identifier = (pointer_expression "&this->signatures_" & (field_expression "this->signatures_" identifier -> field_identifier))) ;) (expression_statement "local_30.u_.group_sections = (Comdat_group *)0x0;" (assignment_expression "local_30.u_.group_sections = (Comdat_group *)0x0" (field_expression "local_30.u_.group_sections" (field_expression "local_30.u_" identifier . field_identifier) . field_identifier) = (cast_expression "(Comdat_group *)0x0" ( (type_descriptor "Comdat_group *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_30.u_.linkonce_size._4_4_ = 0;" (assignment_expression "local_30.u_.linkonce_size._4_4_ = 0" (field_expression "local_30.u_.linkonce_size._4_4_" (field_expression "local_30.u_.linkonce_size" (field_expression "local_30.u_" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) comment (ERROR "std::\n  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n  ::\n  _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>\n            ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::" (comma_expression "std::\n  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::\n  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "Kept_section>,_std" identifier > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "Kept_section>_>,_std" (binary_expression "Kept_section>_" identifier > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std" identifier (ERROR "::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) >) , identifier) : : (binary_expression "hash<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n  ::\n  _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>\n            ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>,_std" identifier (ERROR "::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n  ::\n  _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>\n            ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : (comma_expression "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n  ::\n  _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>\n            ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold" identifier (ERROR "::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n  ::\n  _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>\n            ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : (comma_expression "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n  ::\n  _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>\n            ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n  ::\n  _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section>_>\n            ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : (comma_expression "__detail::_Hashtable_traits<true,_false,_true>_>\n  ::\n  _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold" identifier (ERROR "::_Hashtable_traits<true,_false,_true>_>\n  ::\n  _M_emplace<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (comma_expression "_Hashtable_traits<true,_false,_true>_>\n  ::\n  _M_emplace<std" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n  ::\n  _M_emplace<std" identifier , (binary_expression "_true>_>\n  ::\n  _M_emplace<std" (binary_expression "_true>_>\n  ::\n  _M_emplace" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) identifier) < identifier))) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : : (binary_expression "Kept_section>_" identifier > identifier) > ( ( (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : : identifier >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "Kept_section>_>,_std" (binary_expression "Kept_section>_" identifier > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std" identifier (ERROR "::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) >) , identifier) : : (binary_expression "hash<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              *)local_7c,__in_chrg,0,&local_48);" 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              *)local_7c,__in_chrg,0,&local_48);" 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              *)local_7c,__in_chrg,0,&local_48);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_false,_true>_>\n              *)local_7c,__in_chrg,0,&local_48);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_false,_true>_>\n              *)local_7c,__in_chrg,0,&local_48);" (comma_expression "_Hashtable_traits<true,_false,_true>_>\n              *)local_7c,__in_chrg,0,&local_48" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n              *)local_7c,__in_chrg,0,&local_48" identifier , (comma_expression "_true>_>\n              *)local_7c,__in_chrg,0,&local_48" (binary_expression "_true>_>\n              *)local_7c" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*)local_7c" * (ERROR ")" )) identifier)) , (comma_expression "__in_chrg,0,&local_48" identifier , (comma_expression "0,&local_48" number_literal , (pointer_expression "&local_48" & identifier)))))) (ERROR ")" )) ;))))) (labeled_statement "Kept_section::~Kept_section(&local_30,(int)__in_chrg);" statement_identifier : (ERROR ":" :) (expression_statement "~Kept_section(&local_30,(int)__in_chrg);" (unary_expression "~Kept_section(&local_30,(int)__in_chrg)" ~ (call_expression "Kept_section(&local_30,(int)__in_chrg)" identifier (argument_list "(&local_30,(int)__in_chrg)" ( (pointer_expression "&local_30" & identifier) , (cast_expression "(int)__in_chrg" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;)) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)local_48._M_dataplus._M_p != &local_48.field_2) {\n    operator_delete(local_48._M_dataplus._M_p);\n  }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)local_48._M_dataplus._M_p != &local_48.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)local_48._M_dataplus._M_p != &local_48.field_2)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n       *)local_48._M_dataplus._M_p != &local_48.field_2" (binary_expression "allocator<char>_>_9\n       *)local_48._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n       *)local_48._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "local_48._M_dataplus._M_p" (field_expression "local_48._M_dataplus" identifier . field_identifier) . field_identifier))) != (pointer_expression "&local_48.field_2" & (field_expression "local_48.field_2" identifier . field_identifier))) )) )) (compound_statement "{\n    operator_delete(local_48._M_dataplus._M_p);\n  }" { (expression_statement "operator_delete(local_48._M_dataplus._M_p);" (call_expression "operator_delete(local_48._M_dataplus._M_p)" identifier (argument_list "(local_48._M_dataplus._M_p)" ( (field_expression "local_48._M_dataplus._M_p" (field_expression "local_48._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) (if_statement "if (kept_section != (Kept_section **)0x0) {\n    *kept_section = (Kept_section *)(local_7c._0_4_ + 0x1c);\n  }" if (parenthesized_expression "(kept_section != (Kept_section **)0x0)" ( (binary_expression "kept_section != (Kept_section **)0x0" identifier != (cast_expression "(Kept_section **)0x0" ( (type_descriptor "Kept_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    *kept_section = (Kept_section *)(local_7c._0_4_ + 0x1c);\n  }" { (expression_statement "*kept_section = (Kept_section *)(local_7c._0_4_ + 0x1c);" (assignment_expression "*kept_section = (Kept_section *)(local_7c._0_4_ + 0x1c)" (pointer_expression "*kept_section" * identifier) = (cast_expression "(Kept_section *)(local_7c._0_4_ + 0x1c)" ( (type_descriptor "Kept_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c._0_4_ + 0x1c)" ( (binary_expression "local_7c._0_4_ + 0x1c" (field_expression "local_7c._0_4_" identifier . field_identifier) + number_literal) )))) ;) })) (if_statement "if (local_7c[4] == '\0') {\n    cVar5 = '\0';\n    if (*(char *)(local_7c._0_4_ + 0x25) != '\0') {\n      if (*(__bucket_type *)(local_7c._0_4_ + 0x1c) == (__bucket_type)0x0) {\n        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        cVar5 = parameters->options_->plugins_->in_replacement_phase_;\n        if ((bool)cVar5 != false) {\n          *(Relobj **)(local_7c._0_4_ + 0x1c) = object;\n          if (*(__bucket_type *)(local_7c._0_4_ + 0x20) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx");\n          }\n          *(uint *)(local_7c._0_4_ + 0x20) = shndx;\n        }\n      }\n      goto LAB_00278e40;\n    }\n    if (is_group_name) {\n      *(undefined1 *)(local_7c._0_4_ + 0x25) = 1;\n      goto LAB_00278e40;\n    }\n  }\n  else {\n    if (*(__bucket_type *)(local_7c._0_4_ + 0x1c) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/layout.h",0x105,"set_object");\n    }\n    *(Relobj **)(local_7c._0_4_ + 0x1c) = object;\n    if (*(__bucket_type *)(local_7c._0_4_ + 0x20) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279034 to 002790b1 has its CatchHandler @ 002790b9 */\n      do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx");\n    }\n    *(uint *)(local_7c._0_4_ + 0x20) = shndx;\n    if (is_comdat) {\n      if (*(char *)(local_7c._0_4_ + 0x24) != '\0') {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/layout.h",0x11f,"set_is_comdat");\n      }\n      *(undefined1 *)(local_7c._0_4_ + 0x24) = 1;\n                    /* try { // try from 00278fb9 to 00278fbd has its CatchHandler @ 002790b9 */\n      p_Var4 = (__bucket_type)operator_new(0x18);\n      p_Var4[1]._M_nxt = (_Hash_node_base *)0x0;\n      p_Var4[2]._M_nxt = (_Hash_node_base *)0x0;\n      p_Var4[3]._M_nxt = p_Var4 + 1;\n      p_Var4[4]._M_nxt = p_Var4 + 1;\n      p_Var4[5]._M_nxt = (_Hash_node_base *)0x0;\n      *(__bucket_type *)(local_7c._0_4_ + 0x28) = p_Var4;\n    }\n    if (is_group_name) {\n      *(undefined1 *)(local_7c._0_4_ + 0x25) = 1;\n      cVar5 = is_group_name;\n      goto LAB_00278e40;\n    }\n  }" if (parenthesized_expression "(local_7c[4] == '\0')" ( (binary_expression "local_7c[4] == '\0'" (subscript_expression "local_7c[4]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    cVar5 = '\0';\n    if (*(char *)(local_7c._0_4_ + 0x25) != '\0') {\n      if (*(__bucket_type *)(local_7c._0_4_ + 0x1c) == (__bucket_type)0x0) {\n        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        cVar5 = parameters->options_->plugins_->in_replacement_phase_;\n        if ((bool)cVar5 != false) {\n          *(Relobj **)(local_7c._0_4_ + 0x1c) = object;\n          if (*(__bucket_type *)(local_7c._0_4_ + 0x20) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx");\n          }\n          *(uint *)(local_7c._0_4_ + 0x20) = shndx;\n        }\n      }\n      goto LAB_00278e40;\n    }\n    if (is_group_name) {\n      *(undefined1 *)(local_7c._0_4_ + 0x25) = 1;\n      goto LAB_00278e40;\n    }\n  }" { (expression_statement "cVar5 = '\0';" (assignment_expression "cVar5 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (*(char *)(local_7c._0_4_ + 0x25) != '\0') {\n      if (*(__bucket_type *)(local_7c._0_4_ + 0x1c) == (__bucket_type)0x0) {\n        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        cVar5 = parameters->options_->plugins_->in_replacement_phase_;\n        if ((bool)cVar5 != false) {\n          *(Relobj **)(local_7c._0_4_ + 0x1c) = object;\n          if (*(__bucket_type *)(local_7c._0_4_ + 0x20) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx");\n          }\n          *(uint *)(local_7c._0_4_ + 0x20) = shndx;\n        }\n      }\n      goto LAB_00278e40;\n    }" if (parenthesized_expression "(*(char *)(local_7c._0_4_ + 0x25) != '\0')" ( (binary_expression "*(char *)(local_7c._0_4_ + 0x25) != '\0'" (pointer_expression "*(char *)(local_7c._0_4_ + 0x25)" * (cast_expression "(char *)(local_7c._0_4_ + 0x25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c._0_4_ + 0x25)" ( (binary_expression "local_7c._0_4_ + 0x25" (field_expression "local_7c._0_4_" identifier . field_identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (*(__bucket_type *)(local_7c._0_4_ + 0x1c) == (__bucket_type)0x0) {\n        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        cVar5 = parameters->options_->plugins_->in_replacement_phase_;\n        if ((bool)cVar5 != false) {\n          *(Relobj **)(local_7c._0_4_ + 0x1c) = object;\n          if (*(__bucket_type *)(local_7c._0_4_ + 0x20) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx");\n          }\n          *(uint *)(local_7c._0_4_ + 0x20) = shndx;\n        }\n      }\n      goto LAB_00278e40;\n    }" { (if_statement "if (*(__bucket_type *)(local_7c._0_4_ + 0x1c) == (__bucket_type)0x0) {\n        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        cVar5 = parameters->options_->plugins_->in_replacement_phase_;\n        if ((bool)cVar5 != false) {\n          *(Relobj **)(local_7c._0_4_ + 0x1c) = object;\n          if (*(__bucket_type *)(local_7c._0_4_ + 0x20) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx");\n          }\n          *(uint *)(local_7c._0_4_ + 0x20) = shndx;\n        }\n      }" if (parenthesized_expression "(*(__bucket_type *)(local_7c._0_4_ + 0x1c) == (__bucket_type)0x0)" ( (binary_expression "*(__bucket_type *)(local_7c._0_4_ + 0x1c) == (__bucket_type)0x0" (pointer_expression "*(__bucket_type *)(local_7c._0_4_ + 0x1c)" * (cast_expression "(__bucket_type *)(local_7c._0_4_ + 0x1c)" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c._0_4_ + 0x1c)" ( (binary_expression "local_7c._0_4_ + 0x1c" (field_expression "local_7c._0_4_" identifier . field_identifier) + number_literal) )))) == (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) )) (compound_statement "{\n        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }\n        cVar5 = parameters->options_->plugins_->in_replacement_phase_;\n        if ((bool)cVar5 != false) {\n          *(Relobj **)(local_7c._0_4_ + 0x1c) = object;\n          if (*(__bucket_type *)(local_7c._0_4_ + 0x20) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx");\n          }\n          *(uint *)(local_7c._0_4_ + 0x20) = shndx;\n        }\n      }" { (if_statement "if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }" if (parenthesized_expression "(parameters->options_ == (General_options *)0x0)" ( (binary_expression "parameters->options_ == (General_options *)0x0" (field_expression "parameters->options_" identifier -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n        }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "cVar5 = parameters->options_->plugins_->in_replacement_phase_;" (assignment_expression "cVar5 = parameters->options_->plugins_->in_replacement_phase_" identifier = (field_expression "parameters->options_->plugins_->in_replacement_phase_" (field_expression "parameters->options_->plugins_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) -> field_identifier)) ;) (if_statement "if ((bool)cVar5 != false) {\n          *(Relobj **)(local_7c._0_4_ + 0x1c) = object;\n          if (*(__bucket_type *)(local_7c._0_4_ + 0x20) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx");\n          }\n          *(uint *)(local_7c._0_4_ + 0x20) = shndx;\n        }" if (parenthesized_expression "((bool)cVar5 != false)" ( (binary_expression "(bool)cVar5 != false" (cast_expression "(bool)cVar5" ( (type_descriptor "bool" primitive_type) ) identifier) != false) )) (compound_statement "{\n          *(Relobj **)(local_7c._0_4_ + 0x1c) = object;\n          if (*(__bucket_type *)(local_7c._0_4_ + 0x20) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx");\n          }\n          *(uint *)(local_7c._0_4_ + 0x20) = shndx;\n        }" { (expression_statement "*(Relobj **)(local_7c._0_4_ + 0x1c) = object;" (assignment_expression "*(Relobj **)(local_7c._0_4_ + 0x1c) = object" (pointer_expression "*(Relobj **)(local_7c._0_4_ + 0x1c)" * (cast_expression "(Relobj **)(local_7c._0_4_ + 0x1c)" ( (type_descriptor "Relobj **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_7c._0_4_ + 0x1c)" ( (binary_expression "local_7c._0_4_ + 0x1c" (field_expression "local_7c._0_4_" identifier . field_identifier) + number_literal) )))) = identifier) ;) (if_statement "if (*(__bucket_type *)(local_7c._0_4_ + 0x20) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx");\n          }" if (parenthesized_expression "(*(__bucket_type *)(local_7c._0_4_ + 0x20) != (__bucket_type)0x0)" ( (binary_expression "*(__bucket_type *)(local_7c._0_4_ + 0x20) != (__bucket_type)0x0" (pointer_expression "*(__bucket_type *)(local_7c._0_4_ + 0x20)" * (cast_expression "(__bucket_type *)(local_7c._0_4_ + 0x20)" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c._0_4_ + 0x20)" ( (binary_expression "local_7c._0_4_ + 0x20" (field_expression "local_7c._0_4_" identifier . field_identifier) + number_literal) )))) != (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx");\n          }" { comment (expression_statement "do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx");" (call_expression "do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx")" identifier (argument_list "("../../gold/layout.h",0x112,"set_shndx")" ( (string_literal ""../../gold/layout.h"" " string_content ") , number_literal , (string_literal ""set_shndx"" " string_content ") ))) ;) })) (expression_statement "*(uint *)(local_7c._0_4_ + 0x20) = shndx;" (assignment_expression "*(uint *)(local_7c._0_4_ + 0x20) = shndx" (pointer_expression "*(uint *)(local_7c._0_4_ + 0x20)" * (cast_expression "(uint *)(local_7c._0_4_ + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c._0_4_ + 0x20)" ( (binary_expression "local_7c._0_4_ + 0x20" (field_expression "local_7c._0_4_" identifier . field_identifier) + number_literal) )))) = identifier) ;) })) })) (goto_statement "goto LAB_00278e40;" goto statement_identifier ;) })) (if_statement "if (is_group_name) {\n      *(undefined1 *)(local_7c._0_4_ + 0x25) = 1;\n      goto LAB_00278e40;\n    }" if (parenthesized_expression "(is_group_name)" ( identifier )) (compound_statement "{\n      *(undefined1 *)(local_7c._0_4_ + 0x25) = 1;\n      goto LAB_00278e40;\n    }" { (expression_statement "*(undefined1 *)(local_7c._0_4_ + 0x25) = 1;" (assignment_expression "*(undefined1 *)(local_7c._0_4_ + 0x25) = 1" (pointer_expression "*(undefined1 *)(local_7c._0_4_ + 0x25)" * (cast_expression "(undefined1 *)(local_7c._0_4_ + 0x25)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c._0_4_ + 0x25)" ( (binary_expression "local_7c._0_4_ + 0x25" (field_expression "local_7c._0_4_" identifier . field_identifier) + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00278e40;" goto statement_identifier ;) })) }) (else_clause "else {\n    if (*(__bucket_type *)(local_7c._0_4_ + 0x1c) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/layout.h",0x105,"set_object");\n    }\n    *(Relobj **)(local_7c._0_4_ + 0x1c) = object;\n    if (*(__bucket_type *)(local_7c._0_4_ + 0x20) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279034 to 002790b1 has its CatchHandler @ 002790b9 */\n      do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx");\n    }\n    *(uint *)(local_7c._0_4_ + 0x20) = shndx;\n    if (is_comdat) {\n      if (*(char *)(local_7c._0_4_ + 0x24) != '\0') {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/layout.h",0x11f,"set_is_comdat");\n      }\n      *(undefined1 *)(local_7c._0_4_ + 0x24) = 1;\n                    /* try { // try from 00278fb9 to 00278fbd has its CatchHandler @ 002790b9 */\n      p_Var4 = (__bucket_type)operator_new(0x18);\n      p_Var4[1]._M_nxt = (_Hash_node_base *)0x0;\n      p_Var4[2]._M_nxt = (_Hash_node_base *)0x0;\n      p_Var4[3]._M_nxt = p_Var4 + 1;\n      p_Var4[4]._M_nxt = p_Var4 + 1;\n      p_Var4[5]._M_nxt = (_Hash_node_base *)0x0;\n      *(__bucket_type *)(local_7c._0_4_ + 0x28) = p_Var4;\n    }\n    if (is_group_name) {\n      *(undefined1 *)(local_7c._0_4_ + 0x25) = 1;\n      cVar5 = is_group_name;\n      goto LAB_00278e40;\n    }\n  }" else (compound_statement "{\n    if (*(__bucket_type *)(local_7c._0_4_ + 0x1c) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/layout.h",0x105,"set_object");\n    }\n    *(Relobj **)(local_7c._0_4_ + 0x1c) = object;\n    if (*(__bucket_type *)(local_7c._0_4_ + 0x20) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279034 to 002790b1 has its CatchHandler @ 002790b9 */\n      do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx");\n    }\n    *(uint *)(local_7c._0_4_ + 0x20) = shndx;\n    if (is_comdat) {\n      if (*(char *)(local_7c._0_4_ + 0x24) != '\0') {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/layout.h",0x11f,"set_is_comdat");\n      }\n      *(undefined1 *)(local_7c._0_4_ + 0x24) = 1;\n                    /* try { // try from 00278fb9 to 00278fbd has its CatchHandler @ 002790b9 */\n      p_Var4 = (__bucket_type)operator_new(0x18);\n      p_Var4[1]._M_nxt = (_Hash_node_base *)0x0;\n      p_Var4[2]._M_nxt = (_Hash_node_base *)0x0;\n      p_Var4[3]._M_nxt = p_Var4 + 1;\n      p_Var4[4]._M_nxt = p_Var4 + 1;\n      p_Var4[5]._M_nxt = (_Hash_node_base *)0x0;\n      *(__bucket_type *)(local_7c._0_4_ + 0x28) = p_Var4;\n    }\n    if (is_group_name) {\n      *(undefined1 *)(local_7c._0_4_ + 0x25) = 1;\n      cVar5 = is_group_name;\n      goto LAB_00278e40;\n    }\n  }" { (if_statement "if (*(__bucket_type *)(local_7c._0_4_ + 0x1c) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/layout.h",0x105,"set_object");\n    }" if (parenthesized_expression "(*(__bucket_type *)(local_7c._0_4_ + 0x1c) != (__bucket_type)0x0)" ( (binary_expression "*(__bucket_type *)(local_7c._0_4_ + 0x1c) != (__bucket_type)0x0" (pointer_expression "*(__bucket_type *)(local_7c._0_4_ + 0x1c)" * (cast_expression "(__bucket_type *)(local_7c._0_4_ + 0x1c)" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c._0_4_ + 0x1c)" ( (binary_expression "local_7c._0_4_ + 0x1c" (field_expression "local_7c._0_4_" identifier . field_identifier) + number_literal) )))) != (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/layout.h",0x105,"set_object");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/layout.h",0x105,"set_object");" (call_expression "do_gold_unreachable("../../gold/layout.h",0x105,"set_object")" identifier (argument_list "("../../gold/layout.h",0x105,"set_object")" ( (string_literal ""../../gold/layout.h"" " string_content ") , number_literal , (string_literal ""set_object"" " string_content ") ))) ;) })) (expression_statement "*(Relobj **)(local_7c._0_4_ + 0x1c) = object;" (assignment_expression "*(Relobj **)(local_7c._0_4_ + 0x1c) = object" (pointer_expression "*(Relobj **)(local_7c._0_4_ + 0x1c)" * (cast_expression "(Relobj **)(local_7c._0_4_ + 0x1c)" ( (type_descriptor "Relobj **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_7c._0_4_ + 0x1c)" ( (binary_expression "local_7c._0_4_ + 0x1c" (field_expression "local_7c._0_4_" identifier . field_identifier) + number_literal) )))) = identifier) ;) (if_statement "if (*(__bucket_type *)(local_7c._0_4_ + 0x20) != (__bucket_type)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279034 to 002790b1 has its CatchHandler @ 002790b9 */\n      do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx");\n    }" if (parenthesized_expression "(*(__bucket_type *)(local_7c._0_4_ + 0x20) != (__bucket_type)0x0)" ( (binary_expression "*(__bucket_type *)(local_7c._0_4_ + 0x20) != (__bucket_type)0x0" (pointer_expression "*(__bucket_type *)(local_7c._0_4_ + 0x20)" * (cast_expression "(__bucket_type *)(local_7c._0_4_ + 0x20)" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c._0_4_ + 0x20)" ( (binary_expression "local_7c._0_4_ + 0x20" (field_expression "local_7c._0_4_" identifier . field_identifier) + number_literal) )))) != (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00279034 to 002790b1 has its CatchHandler @ 002790b9 */\n      do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx");\n    }" { comment comment (expression_statement "do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx");" (call_expression "do_gold_unreachable("../../gold/layout.h",0x112,"set_shndx")" identifier (argument_list "("../../gold/layout.h",0x112,"set_shndx")" ( (string_literal ""../../gold/layout.h"" " string_content ") , number_literal , (string_literal ""set_shndx"" " string_content ") ))) ;) })) (expression_statement "*(uint *)(local_7c._0_4_ + 0x20) = shndx;" (assignment_expression "*(uint *)(local_7c._0_4_ + 0x20) = shndx" (pointer_expression "*(uint *)(local_7c._0_4_ + 0x20)" * (cast_expression "(uint *)(local_7c._0_4_ + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c._0_4_ + 0x20)" ( (binary_expression "local_7c._0_4_ + 0x20" (field_expression "local_7c._0_4_" identifier . field_identifier) + number_literal) )))) = identifier) ;) (if_statement "if (is_comdat) {\n      if (*(char *)(local_7c._0_4_ + 0x24) != '\0') {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/layout.h",0x11f,"set_is_comdat");\n      }\n      *(undefined1 *)(local_7c._0_4_ + 0x24) = 1;\n                    /* try { // try from 00278fb9 to 00278fbd has its CatchHandler @ 002790b9 */\n      p_Var4 = (__bucket_type)operator_new(0x18);\n      p_Var4[1]._M_nxt = (_Hash_node_base *)0x0;\n      p_Var4[2]._M_nxt = (_Hash_node_base *)0x0;\n      p_Var4[3]._M_nxt = p_Var4 + 1;\n      p_Var4[4]._M_nxt = p_Var4 + 1;\n      p_Var4[5]._M_nxt = (_Hash_node_base *)0x0;\n      *(__bucket_type *)(local_7c._0_4_ + 0x28) = p_Var4;\n    }" if (parenthesized_expression "(is_comdat)" ( identifier )) (compound_statement "{\n      if (*(char *)(local_7c._0_4_ + 0x24) != '\0') {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/layout.h",0x11f,"set_is_comdat");\n      }\n      *(undefined1 *)(local_7c._0_4_ + 0x24) = 1;\n                    /* try { // try from 00278fb9 to 00278fbd has its CatchHandler @ 002790b9 */\n      p_Var4 = (__bucket_type)operator_new(0x18);\n      p_Var4[1]._M_nxt = (_Hash_node_base *)0x0;\n      p_Var4[2]._M_nxt = (_Hash_node_base *)0x0;\n      p_Var4[3]._M_nxt = p_Var4 + 1;\n      p_Var4[4]._M_nxt = p_Var4 + 1;\n      p_Var4[5]._M_nxt = (_Hash_node_base *)0x0;\n      *(__bucket_type *)(local_7c._0_4_ + 0x28) = p_Var4;\n    }" { (if_statement "if (*(char *)(local_7c._0_4_ + 0x24) != '\0') {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/layout.h",0x11f,"set_is_comdat");\n      }" if (parenthesized_expression "(*(char *)(local_7c._0_4_ + 0x24) != '\0')" ( (binary_expression "*(char *)(local_7c._0_4_ + 0x24) != '\0'" (pointer_expression "*(char *)(local_7c._0_4_ + 0x24)" * (cast_expression "(char *)(local_7c._0_4_ + 0x24)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c._0_4_ + 0x24)" ( (binary_expression "local_7c._0_4_ + 0x24" (field_expression "local_7c._0_4_" identifier . field_identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/layout.h",0x11f,"set_is_comdat");\n      }" { comment (expression_statement "do_gold_unreachable("../../gold/layout.h",0x11f,"set_is_comdat");" (call_expression "do_gold_unreachable("../../gold/layout.h",0x11f,"set_is_comdat")" identifier (argument_list "("../../gold/layout.h",0x11f,"set_is_comdat")" ( (string_literal ""../../gold/layout.h"" " string_content ") , number_literal , (string_literal ""set_is_comdat"" " string_content ") ))) ;) })) (expression_statement "*(undefined1 *)(local_7c._0_4_ + 0x24) = 1;" (assignment_expression "*(undefined1 *)(local_7c._0_4_ + 0x24) = 1" (pointer_expression "*(undefined1 *)(local_7c._0_4_ + 0x24)" * (cast_expression "(undefined1 *)(local_7c._0_4_ + 0x24)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c._0_4_ + 0x24)" ( (binary_expression "local_7c._0_4_ + 0x24" (field_expression "local_7c._0_4_" identifier . field_identifier) + number_literal) )))) = number_literal) ;) comment (expression_statement "p_Var4 = (__bucket_type)operator_new(0x18);" (assignment_expression "p_Var4 = (__bucket_type)operator_new(0x18)" identifier = (cast_expression "(__bucket_type)operator_new(0x18)" ( (type_descriptor "__bucket_type" type_identifier) ) (call_expression "operator_new(0x18)" identifier (argument_list "(0x18)" ( number_literal ))))) ;) (expression_statement "p_Var4[1]._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "p_Var4[1]._M_nxt = (_Hash_node_base *)0x0" (field_expression "p_Var4[1]._M_nxt" (subscript_expression "p_Var4[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "p_Var4[2]._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "p_Var4[2]._M_nxt = (_Hash_node_base *)0x0" (field_expression "p_Var4[2]._M_nxt" (subscript_expression "p_Var4[2]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "p_Var4[3]._M_nxt = p_Var4 + 1;" (assignment_expression "p_Var4[3]._M_nxt = p_Var4 + 1" (field_expression "p_Var4[3]._M_nxt" (subscript_expression "p_Var4[3]" identifier [ number_literal ]) . field_identifier) = (binary_expression "p_Var4 + 1" identifier + number_literal)) ;) (expression_statement "p_Var4[4]._M_nxt = p_Var4 + 1;" (assignment_expression "p_Var4[4]._M_nxt = p_Var4 + 1" (field_expression "p_Var4[4]._M_nxt" (subscript_expression "p_Var4[4]" identifier [ number_literal ]) . field_identifier) = (binary_expression "p_Var4 + 1" identifier + number_literal)) ;) (expression_statement "p_Var4[5]._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "p_Var4[5]._M_nxt = (_Hash_node_base *)0x0" (field_expression "p_Var4[5]._M_nxt" (subscript_expression "p_Var4[5]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(__bucket_type *)(local_7c._0_4_ + 0x28) = p_Var4;" (assignment_expression "*(__bucket_type *)(local_7c._0_4_ + 0x28) = p_Var4" (pointer_expression "*(__bucket_type *)(local_7c._0_4_ + 0x28)" * (cast_expression "(__bucket_type *)(local_7c._0_4_ + 0x28)" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c._0_4_ + 0x28)" ( (binary_expression "local_7c._0_4_ + 0x28" (field_expression "local_7c._0_4_" identifier . field_identifier) + number_literal) )))) = identifier) ;) })) (if_statement "if (is_group_name) {\n      *(undefined1 *)(local_7c._0_4_ + 0x25) = 1;\n      cVar5 = is_group_name;\n      goto LAB_00278e40;\n    }" if (parenthesized_expression "(is_group_name)" ( identifier )) (compound_statement "{\n      *(undefined1 *)(local_7c._0_4_ + 0x25) = 1;\n      cVar5 = is_group_name;\n      goto LAB_00278e40;\n    }" { (expression_statement "*(undefined1 *)(local_7c._0_4_ + 0x25) = 1;" (assignment_expression "*(undefined1 *)(local_7c._0_4_ + 0x25) = 1" (pointer_expression "*(undefined1 *)(local_7c._0_4_ + 0x25)" * (cast_expression "(undefined1 *)(local_7c._0_4_ + 0x25)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c._0_4_ + 0x25)" ( (binary_expression "local_7c._0_4_ + 0x25" (field_expression "local_7c._0_4_" identifier . field_identifier) + number_literal) )))) = number_literal) ;) (expression_statement "cVar5 = is_group_name;" (assignment_expression "cVar5 = is_group_name" identifier = identifier) ;) (goto_statement "goto LAB_00278e40;" goto statement_identifier ;) })) }))) (expression_statement "cVar5 = '\x01';" (assignment_expression "cVar5 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (labeled_statement "LAB_00278e40:\n  Kept_section::~Kept_section(&candidate,(int)__in_chrg);" statement_identifier : (labeled_statement "Kept_section::~Kept_section(&candidate,(int)__in_chrg);" statement_identifier : (ERROR ":" :) (expression_statement "~Kept_section(&candidate,(int)__in_chrg);" (unary_expression "~Kept_section(&candidate,(int)__in_chrg)" ~ (call_expression "Kept_section(&candidate,(int)__in_chrg)" identifier (argument_list "(&candidate,(int)__in_chrg)" ( (pointer_expression "&candidate" & identifier) , (cast_expression "(int)__in_chrg" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;))) (return_statement "return (bool)cVar5;" return (cast_expression "(bool)cVar5" ( (type_descriptor "bool" primitive_type) ) identifier) ;) })))
(translation_unit "uint FUN_00278ce0(int *param_1,int *param_2,undefined4 param_3,undefined4 param_4,char param_5,\n                 byte param_6,int *param_7)\n\n{\n  byte bVar1;\n  int iVar2;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  undefined4 uVar3;\n  undefined4 extraout_EDX;\n  uint uVar4;\n  uint local_8c;\n  int local_7c;\n  uint local_78;\n  double local_74;\n  int local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined2 local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined1 *local_48 [2];\n  undefined1 local_40 [16];\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined1 local_28;\n  undefined1 local_27;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  if ((4 < (uint)param_1[0x3e]) && (*(char *)((int)param_1 + 0x1cb) == '\0')) {\n    local_60 = param_1[0x40];\n    local_74 = (double)((float)(param_1[0x3e] + 1) / (float)param_1[0x3f]);\n    local_8c = (uint)(longlong)ROUND(ROUND(local_74));\n    if (local_8c < (uint)(*param_1 << 6)) {\n      local_8c = *param_1 << 6;\n    }\n    iVar2 = FUN_003f3600(param_1 + 0x3f,local_8c);\n    if (iVar2 == param_1[0x3c]) {\n      param_1[0x40] = local_60;\n    }\n    else {\n      FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);\n    }\n    *(undefined1 *)((int)param_1 + 0x1cb) = 1;\n  }\n  local_54 = 0;\n  local_5c = 0;\n  local_58 = 0;\n  local_50 = 0;\n  local_4c = 0;\n  local_48[0] = local_40;\n                    \n  FUN_0014fca0(local_48,*param_2,param_2[1] + *param_2,0);\n  local_28 = 0;\n  local_30 = local_5c;\n  local_2c = local_58;\n  local_27 = local_54._1_1_;\n  if ((char)local_54 != '\0') {\n                    \n                    \n    FUN_002446e0("../../gold/layout.h",0xf2,"Kept_section",extraout_EDX);\n  }\n  local_24 = 0;\n  local_20 = 0;\n                    \n  FUN_00282e40(&local_7c,param_1 + 0x3b,0,local_48);\n  FUN_0005fc50(&local_30);\n  uVar3 = extraout_ECX;\n  if (local_48[0] != local_40) {\n    FUN_003ae080(local_48[0]);\n    uVar3 = extraout_ECX_00;\n  }\n  if (param_7 != (int *)0x0) {\n    *param_7 = local_7c + 0x1c;\n  }\n  if ((char)local_78 == '\0') {\n    uVar4 = local_78;\n    if (*(char *)(local_7c + 0x25) != '\0') {\n      if (*(int *)(local_7c + 0x1c) == 0) {\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    \n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }\n      goto LAB_00278e40;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      goto LAB_00278e40;\n    }\n  }\n  else {\n    if (*(int *)(local_7c + 0x1c) != 0) {\n                    \n      FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));\n    }\n    *(undefined4 *)(local_7c + 0x1c) = param_3;\n    if (*(int *)(local_7c + 0x20) != 0) {\n                    \n                    \n      FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));\n    }\n    *(undefined4 *)(local_7c + 0x20) = param_4;\n    if (param_5 != '\0') {\n      if (*(char *)(local_7c + 0x24) != '\0') {\n                    \n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }\n      *(undefined1 *)(local_7c + 0x24) = 1;\n                    \n      iVar2 = FUN_003ac4d0(0x18);\n      *(undefined4 *)(iVar2 + 4) = 0;\n      *(undefined4 *)(iVar2 + 8) = 0;\n      *(int *)(iVar2 + 0xc) = iVar2 + 4;\n      *(int *)(iVar2 + 0x10) = iVar2 + 4;\n      *(undefined4 *)(iVar2 + 0x14) = 0;\n      *(int *)(local_7c + 0x28) = iVar2;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      uVar4 = (uint)param_6;\n      goto LAB_00278e40;\n    }\n  }\n  uVar4 = 1;\nLAB_00278e40:\n  FUN_0005fc50(&local_5c);\n  return uVar4;\n}\n\n" (function_definition "uint FUN_00278ce0(int *param_1,int *param_2,undefined4 param_3,undefined4 param_4,char param_5,\n                 byte param_6,int *param_7)\n\n{\n  byte bVar1;\n  int iVar2;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  undefined4 uVar3;\n  undefined4 extraout_EDX;\n  uint uVar4;\n  uint local_8c;\n  int local_7c;\n  uint local_78;\n  double local_74;\n  int local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined2 local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined1 *local_48 [2];\n  undefined1 local_40 [16];\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined1 local_28;\n  undefined1 local_27;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  if ((4 < (uint)param_1[0x3e]) && (*(char *)((int)param_1 + 0x1cb) == '\0')) {\n    local_60 = param_1[0x40];\n    local_74 = (double)((float)(param_1[0x3e] + 1) / (float)param_1[0x3f]);\n    local_8c = (uint)(longlong)ROUND(ROUND(local_74));\n    if (local_8c < (uint)(*param_1 << 6)) {\n      local_8c = *param_1 << 6;\n    }\n    iVar2 = FUN_003f3600(param_1 + 0x3f,local_8c);\n    if (iVar2 == param_1[0x3c]) {\n      param_1[0x40] = local_60;\n    }\n    else {\n      FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);\n    }\n    *(undefined1 *)((int)param_1 + 0x1cb) = 1;\n  }\n  local_54 = 0;\n  local_5c = 0;\n  local_58 = 0;\n  local_50 = 0;\n  local_4c = 0;\n  local_48[0] = local_40;\n                    \n  FUN_0014fca0(local_48,*param_2,param_2[1] + *param_2,0);\n  local_28 = 0;\n  local_30 = local_5c;\n  local_2c = local_58;\n  local_27 = local_54._1_1_;\n  if ((char)local_54 != '\0') {\n                    \n                    \n    FUN_002446e0("../../gold/layout.h",0xf2,"Kept_section",extraout_EDX);\n  }\n  local_24 = 0;\n  local_20 = 0;\n                    \n  FUN_00282e40(&local_7c,param_1 + 0x3b,0,local_48);\n  FUN_0005fc50(&local_30);\n  uVar3 = extraout_ECX;\n  if (local_48[0] != local_40) {\n    FUN_003ae080(local_48[0]);\n    uVar3 = extraout_ECX_00;\n  }\n  if (param_7 != (int *)0x0) {\n    *param_7 = local_7c + 0x1c;\n  }\n  if ((char)local_78 == '\0') {\n    uVar4 = local_78;\n    if (*(char *)(local_7c + 0x25) != '\0') {\n      if (*(int *)(local_7c + 0x1c) == 0) {\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    \n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }\n      goto LAB_00278e40;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      goto LAB_00278e40;\n    }\n  }\n  else {\n    if (*(int *)(local_7c + 0x1c) != 0) {\n                    \n      FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));\n    }\n    *(undefined4 *)(local_7c + 0x1c) = param_3;\n    if (*(int *)(local_7c + 0x20) != 0) {\n                    \n                    \n      FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));\n    }\n    *(undefined4 *)(local_7c + 0x20) = param_4;\n    if (param_5 != '\0') {\n      if (*(char *)(local_7c + 0x24) != '\0') {\n                    \n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }\n      *(undefined1 *)(local_7c + 0x24) = 1;\n                    \n      iVar2 = FUN_003ac4d0(0x18);\n      *(undefined4 *)(iVar2 + 4) = 0;\n      *(undefined4 *)(iVar2 + 8) = 0;\n      *(int *)(iVar2 + 0xc) = iVar2 + 4;\n      *(int *)(iVar2 + 0x10) = iVar2 + 4;\n      *(undefined4 *)(iVar2 + 0x14) = 0;\n      *(int *)(local_7c + 0x28) = iVar2;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      uVar4 = (uint)param_6;\n      goto LAB_00278e40;\n    }\n  }\n  uVar4 = 1;\nLAB_00278e40:\n  FUN_0005fc50(&local_5c);\n  return uVar4;\n}" type_identifier (function_declarator "FUN_00278ce0(int *param_1,int *param_2,undefined4 param_3,undefined4 param_4,char param_5,\n                 byte param_6,int *param_7)" identifier (parameter_list "(int *param_1,int *param_2,undefined4 param_3,undefined4 param_4,char param_5,\n                 byte param_6,int *param_7)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "char param_5" primitive_type identifier) , (parameter_declaration "byte param_6" type_identifier identifier) , (parameter_declaration "int *param_7" primitive_type (pointer_declarator "*param_7" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  undefined4 uVar3;\n  undefined4 extraout_EDX;\n  uint uVar4;\n  uint local_8c;\n  int local_7c;\n  uint local_78;\n  double local_74;\n  int local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined2 local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined1 *local_48 [2];\n  undefined1 local_40 [16];\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined1 local_28;\n  undefined1 local_27;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  if ((4 < (uint)param_1[0x3e]) && (*(char *)((int)param_1 + 0x1cb) == '\0')) {\n    local_60 = param_1[0x40];\n    local_74 = (double)((float)(param_1[0x3e] + 1) / (float)param_1[0x3f]);\n    local_8c = (uint)(longlong)ROUND(ROUND(local_74));\n    if (local_8c < (uint)(*param_1 << 6)) {\n      local_8c = *param_1 << 6;\n    }\n    iVar2 = FUN_003f3600(param_1 + 0x3f,local_8c);\n    if (iVar2 == param_1[0x3c]) {\n      param_1[0x40] = local_60;\n    }\n    else {\n      FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);\n    }\n    *(undefined1 *)((int)param_1 + 0x1cb) = 1;\n  }\n  local_54 = 0;\n  local_5c = 0;\n  local_58 = 0;\n  local_50 = 0;\n  local_4c = 0;\n  local_48[0] = local_40;\n                    \n  FUN_0014fca0(local_48,*param_2,param_2[1] + *param_2,0);\n  local_28 = 0;\n  local_30 = local_5c;\n  local_2c = local_58;\n  local_27 = local_54._1_1_;\n  if ((char)local_54 != '\0') {\n                    \n                    \n    FUN_002446e0("../../gold/layout.h",0xf2,"Kept_section",extraout_EDX);\n  }\n  local_24 = 0;\n  local_20 = 0;\n                    \n  FUN_00282e40(&local_7c,param_1 + 0x3b,0,local_48);\n  FUN_0005fc50(&local_30);\n  uVar3 = extraout_ECX;\n  if (local_48[0] != local_40) {\n    FUN_003ae080(local_48[0]);\n    uVar3 = extraout_ECX_00;\n  }\n  if (param_7 != (int *)0x0) {\n    *param_7 = local_7c + 0x1c;\n  }\n  if ((char)local_78 == '\0') {\n    uVar4 = local_78;\n    if (*(char *)(local_7c + 0x25) != '\0') {\n      if (*(int *)(local_7c + 0x1c) == 0) {\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    \n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }\n      goto LAB_00278e40;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      goto LAB_00278e40;\n    }\n  }\n  else {\n    if (*(int *)(local_7c + 0x1c) != 0) {\n                    \n      FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));\n    }\n    *(undefined4 *)(local_7c + 0x1c) = param_3;\n    if (*(int *)(local_7c + 0x20) != 0) {\n                    \n                    \n      FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));\n    }\n    *(undefined4 *)(local_7c + 0x20) = param_4;\n    if (param_5 != '\0') {\n      if (*(char *)(local_7c + 0x24) != '\0') {\n                    \n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }\n      *(undefined1 *)(local_7c + 0x24) = 1;\n                    \n      iVar2 = FUN_003ac4d0(0x18);\n      *(undefined4 *)(iVar2 + 4) = 0;\n      *(undefined4 *)(iVar2 + 8) = 0;\n      *(int *)(iVar2 + 0xc) = iVar2 + 4;\n      *(int *)(iVar2 + 0x10) = iVar2 + 4;\n      *(undefined4 *)(iVar2 + 0x14) = 0;\n      *(int *)(local_7c + 0x28) = iVar2;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      uVar4 = (uint)param_6;\n      goto LAB_00278e40;\n    }\n  }\n  uVar4 = 1;\nLAB_00278e40:\n  FUN_0005fc50(&local_5c);\n  return uVar4;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_00;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 extraout_EDX;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint local_8c;" type_identifier identifier ;) (declaration "int local_7c;" primitive_type identifier ;) (declaration "uint local_78;" type_identifier identifier ;) (declaration "double local_74;" primitive_type identifier ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "undefined4 local_5c;" type_identifier identifier ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "undefined2 local_54;" type_identifier identifier ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined1 *local_48 [2];" type_identifier (pointer_declarator "*local_48 [2]" * (array_declarator "local_48 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_40 [16];" type_identifier (array_declarator "local_40 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "undefined1 local_28;" type_identifier identifier ;) (declaration "undefined1 local_27;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (if_statement "if ((4 < (uint)param_1[0x3e]) && (*(char *)((int)param_1 + 0x1cb) == '\0')) {\n    local_60 = param_1[0x40];\n    local_74 = (double)((float)(param_1[0x3e] + 1) / (float)param_1[0x3f]);\n    local_8c = (uint)(longlong)ROUND(ROUND(local_74));\n    if (local_8c < (uint)(*param_1 << 6)) {\n      local_8c = *param_1 << 6;\n    }\n    iVar2 = FUN_003f3600(param_1 + 0x3f,local_8c);\n    if (iVar2 == param_1[0x3c]) {\n      param_1[0x40] = local_60;\n    }\n    else {\n      FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);\n    }\n    *(undefined1 *)((int)param_1 + 0x1cb) = 1;\n  }" if (parenthesized_expression "((4 < (uint)param_1[0x3e]) && (*(char *)((int)param_1 + 0x1cb) == '\0'))" ( (binary_expression "(4 < (uint)param_1[0x3e]) && (*(char *)((int)param_1 + 0x1cb) == '\0')" (parenthesized_expression "(4 < (uint)param_1[0x3e])" ( (binary_expression "4 < (uint)param_1[0x3e]" number_literal < (cast_expression "(uint)param_1[0x3e]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x3e]" identifier [ number_literal ]))) )) && (parenthesized_expression "(*(char *)((int)param_1 + 0x1cb) == '\0')" ( (binary_expression "*(char *)((int)param_1 + 0x1cb) == '\0'" (pointer_expression "*(char *)((int)param_1 + 0x1cb)" * (cast_expression "(char *)((int)param_1 + 0x1cb)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x1cb)" ( (binary_expression "(int)param_1 + 0x1cb" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    local_60 = param_1[0x40];\n    local_74 = (double)((float)(param_1[0x3e] + 1) / (float)param_1[0x3f]);\n    local_8c = (uint)(longlong)ROUND(ROUND(local_74));\n    if (local_8c < (uint)(*param_1 << 6)) {\n      local_8c = *param_1 << 6;\n    }\n    iVar2 = FUN_003f3600(param_1 + 0x3f,local_8c);\n    if (iVar2 == param_1[0x3c]) {\n      param_1[0x40] = local_60;\n    }\n    else {\n      FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);\n    }\n    *(undefined1 *)((int)param_1 + 0x1cb) = 1;\n  }" { (expression_statement "local_60 = param_1[0x40];" (assignment_expression "local_60 = param_1[0x40]" identifier = (subscript_expression "param_1[0x40]" identifier [ number_literal ])) ;) (expression_statement "local_74 = (double)((float)(param_1[0x3e] + 1) / (float)param_1[0x3f]);" (assignment_expression "local_74 = (double)((float)(param_1[0x3e] + 1) / (float)param_1[0x3f])" identifier = (cast_expression "(double)((float)(param_1[0x3e] + 1) / (float)param_1[0x3f])" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)(param_1[0x3e] + 1) / (float)param_1[0x3f])" ( (binary_expression "(float)(param_1[0x3e] + 1) / (float)param_1[0x3f]" (cast_expression "(float)(param_1[0x3e] + 1)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(param_1[0x3e] + 1)" ( (binary_expression "param_1[0x3e] + 1" (subscript_expression "param_1[0x3e]" identifier [ number_literal ]) + number_literal) ))) / (cast_expression "(float)param_1[0x3f]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "param_1[0x3f]" identifier [ number_literal ]))) )))) ;) (expression_statement "local_8c = (uint)(longlong)ROUND(ROUND(local_74));" (assignment_expression "local_8c = (uint)(longlong)ROUND(ROUND(local_74))" identifier = (cast_expression "(uint)(longlong)ROUND(ROUND(local_74))" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(longlong)ROUND(ROUND(local_74))" ( (type_descriptor "longlong" type_identifier) ) (call_expression "ROUND(ROUND(local_74))" identifier (argument_list "(ROUND(local_74))" ( (call_expression "ROUND(local_74)" identifier (argument_list "(local_74)" ( identifier ))) )))))) ;) (if_statement "if (local_8c < (uint)(*param_1 << 6)) {\n      local_8c = *param_1 << 6;\n    }" if (parenthesized_expression "(local_8c < (uint)(*param_1 << 6))" ( (binary_expression "local_8c < (uint)(*param_1 << 6)" identifier < (call_expression "(uint)(*param_1 << 6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*param_1 << 6)" ( (binary_expression "*param_1 << 6" (pointer_expression "*param_1" * identifier) << number_literal) )))) )) (compound_statement "{\n      local_8c = *param_1 << 6;\n    }" { (expression_statement "local_8c = *param_1 << 6;" (assignment_expression "local_8c = *param_1 << 6" identifier = (binary_expression "*param_1 << 6" (pointer_expression "*param_1" * identifier) << number_literal)) ;) })) (expression_statement "iVar2 = FUN_003f3600(param_1 + 0x3f,local_8c);" (assignment_expression "iVar2 = FUN_003f3600(param_1 + 0x3f,local_8c)" identifier = (call_expression "FUN_003f3600(param_1 + 0x3f,local_8c)" identifier (argument_list "(param_1 + 0x3f,local_8c)" ( (binary_expression "param_1 + 0x3f" identifier + number_literal) , identifier )))) ;) (if_statement "if (iVar2 == param_1[0x3c]) {\n      param_1[0x40] = local_60;\n    }\n    else {\n      FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);\n    }" if (parenthesized_expression "(iVar2 == param_1[0x3c])" ( (binary_expression "iVar2 == param_1[0x3c]" identifier == (subscript_expression "param_1[0x3c]" identifier [ number_literal ])) )) (compound_statement "{\n      param_1[0x40] = local_60;\n    }" { (expression_statement "param_1[0x40] = local_60;" (assignment_expression "param_1[0x40] = local_60" (subscript_expression "param_1[0x40]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n      FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);\n    }" else (compound_statement "{\n      FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);\n    }" { (expression_statement "FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);" (call_expression "FUN_00282d20(param_1 + 0x3b,iVar2,&local_60)" identifier (argument_list "(param_1 + 0x3b,iVar2,&local_60)" ( (binary_expression "param_1 + 0x3b" identifier + number_literal) , identifier , (pointer_expression "&local_60" & identifier) ))) ;) }))) (expression_statement "*(undefined1 *)((int)param_1 + 0x1cb) = 1;" (assignment_expression "*(undefined1 *)((int)param_1 + 0x1cb) = 1" (pointer_expression "*(undefined1 *)((int)param_1 + 0x1cb)" * (cast_expression "(undefined1 *)((int)param_1 + 0x1cb)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x1cb)" ( (binary_expression "(int)param_1 + 0x1cb" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) })) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "local_48[0] = local_40;" (assignment_expression "local_48[0] = local_40" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0014fca0(local_48,*param_2,param_2[1] + *param_2,0);" (call_expression "FUN_0014fca0(local_48,*param_2,param_2[1] + *param_2,0)" identifier (argument_list "(local_48,*param_2,param_2[1] + *param_2,0)" ( identifier , (pointer_expression "*param_2" * identifier) , (binary_expression "param_2[1] + *param_2" (subscript_expression "param_2[1]" identifier [ number_literal ]) + (pointer_expression "*param_2" * identifier)) , number_literal ))) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_30 = local_5c;" (assignment_expression "local_30 = local_5c" identifier = identifier) ;) (expression_statement "local_2c = local_58;" (assignment_expression "local_2c = local_58" identifier = identifier) ;) (expression_statement "local_27 = local_54._1_1_;" (assignment_expression "local_27 = local_54._1_1_" identifier = (field_expression "local_54._1_1_" identifier . field_identifier)) ;) (if_statement "if ((char)local_54 != '\0') {\n                    \n                    \n    FUN_002446e0("../../gold/layout.h",0xf2,"Kept_section",extraout_EDX);\n  }" if (parenthesized_expression "((char)local_54 != '\0')" ( (binary_expression "(char)local_54 != '\0'" (cast_expression "(char)local_54" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    \n                    \n    FUN_002446e0("../../gold/layout.h",0xf2,"Kept_section",extraout_EDX);\n  }" { (expression_statement "FUN_002446e0("../../gold/layout.h",0xf2,"Kept_section",extraout_EDX);" (call_expression "FUN_002446e0("../../gold/layout.h",0xf2,"Kept_section",extraout_EDX)" identifier (argument_list "("../../gold/layout.h",0xf2,"Kept_section",extraout_EDX)" ( (string_literal ""../../gold/layout.h"" " string_content ") , number_literal , (string_literal ""Kept_section"" " string_content ") , identifier ))) ;) })) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" identifier = number_literal) ;) (expression_statement "FUN_00282e40(&local_7c,param_1 + 0x3b,0,local_48);" (call_expression "FUN_00282e40(&local_7c,param_1 + 0x3b,0,local_48)" identifier (argument_list "(&local_7c,param_1 + 0x3b,0,local_48)" ( (pointer_expression "&local_7c" & identifier) , (binary_expression "param_1 + 0x3b" identifier + number_literal) , number_literal , identifier ))) ;) (expression_statement "FUN_0005fc50(&local_30);" (call_expression "FUN_0005fc50(&local_30)" identifier (argument_list "(&local_30)" ( (pointer_expression "&local_30" & identifier) ))) ;) (expression_statement "uVar3 = extraout_ECX;" (assignment_expression "uVar3 = extraout_ECX" identifier = identifier) ;) (if_statement "if (local_48[0] != local_40) {\n    FUN_003ae080(local_48[0]);\n    uVar3 = extraout_ECX_00;\n  }" if (parenthesized_expression "(local_48[0] != local_40)" ( (binary_expression "local_48[0] != local_40" (subscript_expression "local_48[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n    FUN_003ae080(local_48[0]);\n    uVar3 = extraout_ECX_00;\n  }" { (expression_statement "FUN_003ae080(local_48[0]);" (call_expression "FUN_003ae080(local_48[0])" identifier (argument_list "(local_48[0])" ( (subscript_expression "local_48[0]" identifier [ number_literal ]) ))) ;) (expression_statement "uVar3 = extraout_ECX_00;" (assignment_expression "uVar3 = extraout_ECX_00" identifier = identifier) ;) })) (if_statement "if (param_7 != (int *)0x0) {\n    *param_7 = local_7c + 0x1c;\n  }" if (parenthesized_expression "(param_7 != (int *)0x0)" ( (binary_expression "param_7 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *param_7 = local_7c + 0x1c;\n  }" { (expression_statement "*param_7 = local_7c + 0x1c;" (assignment_expression "*param_7 = local_7c + 0x1c" (pointer_expression "*param_7" * identifier) = (binary_expression "local_7c + 0x1c" identifier + number_literal)) ;) })) (if_statement "if ((char)local_78 == '\0') {\n    uVar4 = local_78;\n    if (*(char *)(local_7c + 0x25) != '\0') {\n      if (*(int *)(local_7c + 0x1c) == 0) {\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    \n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }\n      goto LAB_00278e40;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      goto LAB_00278e40;\n    }\n  }\n  else {\n    if (*(int *)(local_7c + 0x1c) != 0) {\n                    \n      FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));\n    }\n    *(undefined4 *)(local_7c + 0x1c) = param_3;\n    if (*(int *)(local_7c + 0x20) != 0) {\n                    \n                    \n      FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));\n    }\n    *(undefined4 *)(local_7c + 0x20) = param_4;\n    if (param_5 != '\0') {\n      if (*(char *)(local_7c + 0x24) != '\0') {\n                    \n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }\n      *(undefined1 *)(local_7c + 0x24) = 1;\n                    \n      iVar2 = FUN_003ac4d0(0x18);\n      *(undefined4 *)(iVar2 + 4) = 0;\n      *(undefined4 *)(iVar2 + 8) = 0;\n      *(int *)(iVar2 + 0xc) = iVar2 + 4;\n      *(int *)(iVar2 + 0x10) = iVar2 + 4;\n      *(undefined4 *)(iVar2 + 0x14) = 0;\n      *(int *)(local_7c + 0x28) = iVar2;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      uVar4 = (uint)param_6;\n      goto LAB_00278e40;\n    }\n  }" if (parenthesized_expression "((char)local_78 == '\0')" ( (binary_expression "(char)local_78 == '\0'" (cast_expression "(char)local_78" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar4 = local_78;\n    if (*(char *)(local_7c + 0x25) != '\0') {\n      if (*(int *)(local_7c + 0x1c) == 0) {\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    \n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }\n      goto LAB_00278e40;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      goto LAB_00278e40;\n    }\n  }" { (expression_statement "uVar4 = local_78;" (assignment_expression "uVar4 = local_78" identifier = identifier) ;) (if_statement "if (*(char *)(local_7c + 0x25) != '\0') {\n      if (*(int *)(local_7c + 0x1c) == 0) {\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    \n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }\n      goto LAB_00278e40;\n    }" if (parenthesized_expression "(*(char *)(local_7c + 0x25) != '\0')" ( (binary_expression "*(char *)(local_7c + 0x25) != '\0'" (pointer_expression "*(char *)(local_7c + 0x25)" * (cast_expression "(char *)(local_7c + 0x25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x25)" ( (binary_expression "local_7c + 0x25" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (*(int *)(local_7c + 0x1c) == 0) {\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    \n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }\n      goto LAB_00278e40;\n    }" { (if_statement "if (*(int *)(local_7c + 0x1c) == 0) {\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    \n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }" if (parenthesized_expression "(*(int *)(local_7c + 0x1c) == 0)" ( (binary_expression "*(int *)(local_7c + 0x1c) == 0" (pointer_expression "*(int *)(local_7c + 0x1c)" * (cast_expression "(int *)(local_7c + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x1c)" ( (binary_expression "local_7c + 0x1c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    \n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }" { (if_statement "if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }" if (parenthesized_expression "(*(int *)(DAT_005ea7c8 + 8) == 0)" ( (binary_expression "*(int *)(DAT_005ea7c8 + 8) == 0" (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" * (cast_expression "(int *)(DAT_005ea7c8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_005ea7c8 + 8)" ( (binary_expression "DAT_005ea7c8 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }" { (expression_statement "FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);" (call_expression "FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3)" identifier (argument_list "("../../gold/parameters.h",0x5c,"options",uVar3)" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") , identifier ))) ;) })) (expression_statement "bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);" (assignment_expression "bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61)" identifier = (pointer_expression "*(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61)" * (cast_expression "(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61)" ( (binary_expression "*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61" (pointer_expression "*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c)" * (cast_expression "(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_005ea7c8 + 8) + 0x593c)" ( (binary_expression "*(int *)(DAT_005ea7c8 + 8) + 0x593c" (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" * (cast_expression "(int *)(DAT_005ea7c8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_005ea7c8 + 8)" ( (binary_expression "DAT_005ea7c8 + 8" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar4 = (uint)bVar1;" (assignment_expression "uVar4 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    \n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }" if (parenthesized_expression "(bVar1 != 0)" ( (binary_expression "bVar1 != 0" identifier != number_literal) )) (compound_statement "{\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    \n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }" { (expression_statement "*(undefined4 *)(local_7c + 0x1c) = param_3;" (assignment_expression "*(undefined4 *)(local_7c + 0x1c) = param_3" (pointer_expression "*(undefined4 *)(local_7c + 0x1c)" * (cast_expression "(undefined4 *)(local_7c + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x1c)" ( (binary_expression "local_7c + 0x1c" identifier + number_literal) )))) = identifier) ;) (if_statement "if (*(int *)(local_7c + 0x20) != 0) {\n                    \n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }" if (parenthesized_expression "(*(int *)(local_7c + 0x20) != 0)" ( (binary_expression "*(int *)(local_7c + 0x20) != 0" (pointer_expression "*(int *)(local_7c + 0x20)" * (cast_expression "(int *)(local_7c + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x20)" ( (binary_expression "local_7c + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }" { (expression_statement "FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);" (call_expression "FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3)" identifier (argument_list "("../../gold/layout.h",0x112,"set_shndx",param_3)" ( (string_literal ""../../gold/layout.h"" " string_content ") , number_literal , (string_literal ""set_shndx"" " string_content ") , identifier ))) ;) })) (expression_statement "*(undefined4 *)(local_7c + 0x20) = param_4;" (assignment_expression "*(undefined4 *)(local_7c + 0x20) = param_4" (pointer_expression "*(undefined4 *)(local_7c + 0x20)" * (cast_expression "(undefined4 *)(local_7c + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x20)" ( (binary_expression "local_7c + 0x20" identifier + number_literal) )))) = identifier) ;) })) })) (goto_statement "goto LAB_00278e40;" goto statement_identifier ;) })) (if_statement "if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      goto LAB_00278e40;\n    }" if (parenthesized_expression "(param_6 != 0)" ( (binary_expression "param_6 != 0" identifier != number_literal) )) (compound_statement "{\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      goto LAB_00278e40;\n    }" { (expression_statement "*(undefined1 *)(local_7c + 0x25) = 1;" (assignment_expression "*(undefined1 *)(local_7c + 0x25) = 1" (pointer_expression "*(undefined1 *)(local_7c + 0x25)" * (cast_expression "(undefined1 *)(local_7c + 0x25)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x25)" ( (binary_expression "local_7c + 0x25" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00278e40;" goto statement_identifier ;) })) }) (else_clause "else {\n    if (*(int *)(local_7c + 0x1c) != 0) {\n                    \n      FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));\n    }\n    *(undefined4 *)(local_7c + 0x1c) = param_3;\n    if (*(int *)(local_7c + 0x20) != 0) {\n                    \n                    \n      FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));\n    }\n    *(undefined4 *)(local_7c + 0x20) = param_4;\n    if (param_5 != '\0') {\n      if (*(char *)(local_7c + 0x24) != '\0') {\n                    \n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }\n      *(undefined1 *)(local_7c + 0x24) = 1;\n                    \n      iVar2 = FUN_003ac4d0(0x18);\n      *(undefined4 *)(iVar2 + 4) = 0;\n      *(undefined4 *)(iVar2 + 8) = 0;\n      *(int *)(iVar2 + 0xc) = iVar2 + 4;\n      *(int *)(iVar2 + 0x10) = iVar2 + 4;\n      *(undefined4 *)(iVar2 + 0x14) = 0;\n      *(int *)(local_7c + 0x28) = iVar2;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      uVar4 = (uint)param_6;\n      goto LAB_00278e40;\n    }\n  }" else (compound_statement "{\n    if (*(int *)(local_7c + 0x1c) != 0) {\n                    \n      FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));\n    }\n    *(undefined4 *)(local_7c + 0x1c) = param_3;\n    if (*(int *)(local_7c + 0x20) != 0) {\n                    \n                    \n      FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));\n    }\n    *(undefined4 *)(local_7c + 0x20) = param_4;\n    if (param_5 != '\0') {\n      if (*(char *)(local_7c + 0x24) != '\0') {\n                    \n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }\n      *(undefined1 *)(local_7c + 0x24) = 1;\n                    \n      iVar2 = FUN_003ac4d0(0x18);\n      *(undefined4 *)(iVar2 + 4) = 0;\n      *(undefined4 *)(iVar2 + 8) = 0;\n      *(int *)(iVar2 + 0xc) = iVar2 + 4;\n      *(int *)(iVar2 + 0x10) = iVar2 + 4;\n      *(undefined4 *)(iVar2 + 0x14) = 0;\n      *(int *)(local_7c + 0x28) = iVar2;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      uVar4 = (uint)param_6;\n      goto LAB_00278e40;\n    }\n  }" { (if_statement "if (*(int *)(local_7c + 0x1c) != 0) {\n                    \n      FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));\n    }" if (parenthesized_expression "(*(int *)(local_7c + 0x1c) != 0)" ( (binary_expression "*(int *)(local_7c + 0x1c) != 0" (pointer_expression "*(int *)(local_7c + 0x1c)" * (cast_expression "(int *)(local_7c + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x1c)" ( (binary_expression "local_7c + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n      FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));\n    }" { (expression_statement "FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));" (call_expression "FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c))" identifier (argument_list "("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c))" ( (string_literal ""../../gold/layout.h"" " string_content ") , number_literal , (string_literal ""set_object"" " string_content ") , (pointer_expression "*(int *)(local_7c + 0x1c)" * (cast_expression "(int *)(local_7c + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x1c)" ( (binary_expression "local_7c + 0x1c" identifier + number_literal) )))) ))) ;) })) (expression_statement "*(undefined4 *)(local_7c + 0x1c) = param_3;" (assignment_expression "*(undefined4 *)(local_7c + 0x1c) = param_3" (pointer_expression "*(undefined4 *)(local_7c + 0x1c)" * (cast_expression "(undefined4 *)(local_7c + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x1c)" ( (binary_expression "local_7c + 0x1c" identifier + number_literal) )))) = identifier) ;) (if_statement "if (*(int *)(local_7c + 0x20) != 0) {\n                    \n                    \n      FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));\n    }" if (parenthesized_expression "(*(int *)(local_7c + 0x20) != 0)" ( (binary_expression "*(int *)(local_7c + 0x20) != 0" (pointer_expression "*(int *)(local_7c + 0x20)" * (cast_expression "(int *)(local_7c + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x20)" ( (binary_expression "local_7c + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n                    \n      FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));\n    }" { (expression_statement "FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));" (call_expression "FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20))" identifier (argument_list "("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20))" ( (string_literal ""../../gold/layout.h"" " string_content ") , number_literal , (string_literal ""set_shndx"" " string_content ") , (pointer_expression "*(int *)(local_7c + 0x20)" * (cast_expression "(int *)(local_7c + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x20)" ( (binary_expression "local_7c + 0x20" identifier + number_literal) )))) ))) ;) })) (expression_statement "*(undefined4 *)(local_7c + 0x20) = param_4;" (assignment_expression "*(undefined4 *)(local_7c + 0x20) = param_4" (pointer_expression "*(undefined4 *)(local_7c + 0x20)" * (cast_expression "(undefined4 *)(local_7c + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x20)" ( (binary_expression "local_7c + 0x20" identifier + number_literal) )))) = identifier) ;) (if_statement "if (param_5 != '\0') {\n      if (*(char *)(local_7c + 0x24) != '\0') {\n                    \n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }\n      *(undefined1 *)(local_7c + 0x24) = 1;\n                    \n      iVar2 = FUN_003ac4d0(0x18);\n      *(undefined4 *)(iVar2 + 4) = 0;\n      *(undefined4 *)(iVar2 + 8) = 0;\n      *(int *)(iVar2 + 0xc) = iVar2 + 4;\n      *(int *)(iVar2 + 0x10) = iVar2 + 4;\n      *(undefined4 *)(iVar2 + 0x14) = 0;\n      *(int *)(local_7c + 0x28) = iVar2;\n    }" if (parenthesized_expression "(param_5 != '\0')" ( (binary_expression "param_5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (*(char *)(local_7c + 0x24) != '\0') {\n                    \n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }\n      *(undefined1 *)(local_7c + 0x24) = 1;\n                    \n      iVar2 = FUN_003ac4d0(0x18);\n      *(undefined4 *)(iVar2 + 4) = 0;\n      *(undefined4 *)(iVar2 + 8) = 0;\n      *(int *)(iVar2 + 0xc) = iVar2 + 4;\n      *(int *)(iVar2 + 0x10) = iVar2 + 4;\n      *(undefined4 *)(iVar2 + 0x14) = 0;\n      *(int *)(local_7c + 0x28) = iVar2;\n    }" { (if_statement "if (*(char *)(local_7c + 0x24) != '\0') {\n                    \n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }" if (parenthesized_expression "(*(char *)(local_7c + 0x24) != '\0')" ( (binary_expression "*(char *)(local_7c + 0x24) != '\0'" (pointer_expression "*(char *)(local_7c + 0x24)" * (cast_expression "(char *)(local_7c + 0x24)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x24)" ( (binary_expression "local_7c + 0x24" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    \n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }" { (expression_statement "FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);" (call_expression "FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4)" identifier (argument_list "("../../gold/layout.h",0x11f,"set_is_comdat",param_4)" ( (string_literal ""../../gold/layout.h"" " string_content ") , number_literal , (string_literal ""set_is_comdat"" " string_content ") , identifier ))) ;) })) (expression_statement "*(undefined1 *)(local_7c + 0x24) = 1;" (assignment_expression "*(undefined1 *)(local_7c + 0x24) = 1" (pointer_expression "*(undefined1 *)(local_7c + 0x24)" * (cast_expression "(undefined1 *)(local_7c + 0x24)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x24)" ( (binary_expression "local_7c + 0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar2 = FUN_003ac4d0(0x18);" (assignment_expression "iVar2 = FUN_003ac4d0(0x18)" identifier = (call_expression "FUN_003ac4d0(0x18)" identifier (argument_list "(0x18)" ( number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar2 + 4) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 4) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 4)" * (cast_expression "(undefined4 *)(iVar2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar2 + 8) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 8) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 8)" * (cast_expression "(undefined4 *)(iVar2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(iVar2 + 0xc) = iVar2 + 4;" (assignment_expression "*(int *)(iVar2 + 0xc) = iVar2 + 4" (pointer_expression "*(int *)(iVar2 + 0xc)" * (cast_expression "(int *)(iVar2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) )))) = (binary_expression "iVar2 + 4" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar2 + 0x10) = iVar2 + 4;" (assignment_expression "*(int *)(iVar2 + 0x10) = iVar2 + 4" (pointer_expression "*(int *)(iVar2 + 0x10)" * (cast_expression "(int *)(iVar2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))) = (binary_expression "iVar2 + 4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(iVar2 + 0x14) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 0x14) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 0x14)" * (cast_expression "(undefined4 *)(iVar2 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(local_7c + 0x28) = iVar2;" (assignment_expression "*(int *)(local_7c + 0x28) = iVar2" (pointer_expression "*(int *)(local_7c + 0x28)" * (cast_expression "(int *)(local_7c + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x28)" ( (binary_expression "local_7c + 0x28" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      uVar4 = (uint)param_6;\n      goto LAB_00278e40;\n    }" if (parenthesized_expression "(param_6 != 0)" ( (binary_expression "param_6 != 0" identifier != number_literal) )) (compound_statement "{\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      uVar4 = (uint)param_6;\n      goto LAB_00278e40;\n    }" { (expression_statement "*(undefined1 *)(local_7c + 0x25) = 1;" (assignment_expression "*(undefined1 *)(local_7c + 0x25) = 1" (pointer_expression "*(undefined1 *)(local_7c + 0x25)" * (cast_expression "(undefined1 *)(local_7c + 0x25)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + 0x25)" ( (binary_expression "local_7c + 0x25" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar4 = (uint)param_6;" (assignment_expression "uVar4 = (uint)param_6" identifier = (cast_expression "(uint)param_6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_00278e40;" goto statement_identifier ;) })) }))) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00278e40:\n  FUN_0005fc50(&local_5c);" statement_identifier : (expression_statement "FUN_0005fc50(&local_5c);" (call_expression "FUN_0005fc50(&local_5c)" identifier (argument_list "(&local_5c)" ( (pointer_expression "&local_5c" & identifier) ))) ;)) (return_statement "return uVar4;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))) / (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (call_expression IDENT (argument_list ( IDENT ))) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * IDENT) << LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) << LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) ))) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * IDENT) , (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * IDENT)) , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (binary_expression IDENT + LIT) , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;)) (return_statement return IDENT ;) })))
(function_definition "uint FUN_00278ce0(int *param_1,int *param_2,undefined4 param_3,undefined4 param_4,char param_5,\n                 byte param_6,int *param_7)\n\n{\n  byte bVar1;\n  int iVar2;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  undefined4 uVar3;\n  undefined4 extraout_EDX;\n  uint uVar4;\n  uint local_8c;\n  int local_7c;\n  uint local_78;\n  double local_74;\n  int local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined2 local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined1 *local_48 [2];\n  undefined1 local_40 [16];\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined1 local_28;\n  undefined1 local_27;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  if ((4 < (uint)param_1[0x3e]) && (*(char *)((int)param_1 + 0x1cb) == '\0')) {\n    local_60 = param_1[0x40];\n    local_74 = (double)((float)(param_1[0x3e] + 1) / (float)param_1[0x3f]);\n    local_8c = (uint)(longlong)ROUND(ROUND(local_74));\n    if (local_8c < (uint)(*param_1 << 6)) {\n      local_8c = *param_1 << 6;\n    }\n    iVar2 = FUN_003f3600(param_1 + 0x3f,local_8c);\n    if (iVar2 == param_1[0x3c]) {\n      param_1[0x40] = local_60;\n    }\n    else {\n      FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);\n    }\n    *(undefined1 *)((int)param_1 + 0x1cb) = 1;\n  }\n  local_54 = 0;\n  local_5c = 0;\n  local_58 = 0;\n  local_50 = 0;\n  local_4c = 0;\n  local_48[0] = local_40;\n                    \n  FUN_0014fca0(local_48,*param_2,param_2[1] + *param_2,0);\n  local_28 = 0;\n  local_30 = local_5c;\n  local_2c = local_58;\n  local_27 = local_54._1_1_;\n  if ((char)local_54 != '\0') {\n                    \n                    \n    FUN_002446e0("../../gold/layout.h",0xf2,"Kept_section",extraout_EDX);\n  }\n  local_24 = 0;\n  local_20 = 0;\n                    \n  FUN_00282e40(&local_7c,param_1 + 0x3b,0,local_48);\n  FUN_0005fc50(&local_30);\n  uVar3 = extraout_ECX;\n  if (local_48[0] != local_40) {\n    FUN_003ae080(local_48[0]);\n    uVar3 = extraout_ECX_00;\n  }\n  if (param_7 != (int *)0x0) {\n    *param_7 = local_7c + 0x1c;\n  }\n  if ((char)local_78 == '\0') {\n    uVar4 = local_78;\n    if (*(char *)(local_7c + 0x25) != '\0') {\n      if (*(int *)(local_7c + 0x1c) == 0) {\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    \n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }\n      goto LAB_00278e40;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      goto LAB_00278e40;\n    }\n  }\n  else {\n    if (*(int *)(local_7c + 0x1c) != 0) {\n                    \n      FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));\n    }\n    *(undefined4 *)(local_7c + 0x1c) = param_3;\n    if (*(int *)(local_7c + 0x20) != 0) {\n                    \n                    \n      FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));\n    }\n    *(undefined4 *)(local_7c + 0x20) = param_4;\n    if (param_5 != '\0') {\n      if (*(char *)(local_7c + 0x24) != '\0') {\n                    \n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }\n      *(undefined1 *)(local_7c + 0x24) = 1;\n                    \n      iVar2 = FUN_003ac4d0(0x18);\n      *(undefined4 *)(iVar2 + 4) = 0;\n      *(undefined4 *)(iVar2 + 8) = 0;\n      *(int *)(iVar2 + 0xc) = iVar2 + 4;\n      *(int *)(iVar2 + 0x10) = iVar2 + 4;\n      *(undefined4 *)(iVar2 + 0x14) = 0;\n      *(int *)(local_7c + 0x28) = iVar2;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      uVar4 = (uint)param_6;\n      goto LAB_00278e40;\n    }\n  }\n  uVar4 = 1;\nLAB_00278e40:\n  FUN_0005fc50(&local_5c);\n  return uVar4;\n}" (type_identifier "uint") (function_declarator "FUN_00278ce0(int *param_1,int *param_2,undefined4 param_3,undefined4 param_4,char param_5,\n                 byte param_6,int *param_7)" (identifier "FUN_00278ce0") (parameter_list "(int *param_1,int *param_2,undefined4 param_3,undefined4 param_4,char param_5,\n                 byte param_6,int *param_7)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "char param_5" (primitive_type "char") (identifier "param_5")) (, ",") (parameter_declaration "byte param_6" (type_identifier "byte") (identifier "param_6")) (, ",") (parameter_declaration "int *param_7" (primitive_type "int") (pointer_declarator "*param_7" (* "*") (identifier "param_7"))) () ")"))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  undefined4 uVar3;\n  undefined4 extraout_EDX;\n  uint uVar4;\n  uint local_8c;\n  int local_7c;\n  uint local_78;\n  double local_74;\n  int local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined2 local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined1 *local_48 [2];\n  undefined1 local_40 [16];\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined1 local_28;\n  undefined1 local_27;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  if ((4 < (uint)param_1[0x3e]) && (*(char *)((int)param_1 + 0x1cb) == '\0')) {\n    local_60 = param_1[0x40];\n    local_74 = (double)((float)(param_1[0x3e] + 1) / (float)param_1[0x3f]);\n    local_8c = (uint)(longlong)ROUND(ROUND(local_74));\n    if (local_8c < (uint)(*param_1 << 6)) {\n      local_8c = *param_1 << 6;\n    }\n    iVar2 = FUN_003f3600(param_1 + 0x3f,local_8c);\n    if (iVar2 == param_1[0x3c]) {\n      param_1[0x40] = local_60;\n    }\n    else {\n      FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);\n    }\n    *(undefined1 *)((int)param_1 + 0x1cb) = 1;\n  }\n  local_54 = 0;\n  local_5c = 0;\n  local_58 = 0;\n  local_50 = 0;\n  local_4c = 0;\n  local_48[0] = local_40;\n                    \n  FUN_0014fca0(local_48,*param_2,param_2[1] + *param_2,0);\n  local_28 = 0;\n  local_30 = local_5c;\n  local_2c = local_58;\n  local_27 = local_54._1_1_;\n  if ((char)local_54 != '\0') {\n                    \n                    \n    FUN_002446e0("../../gold/layout.h",0xf2,"Kept_section",extraout_EDX);\n  }\n  local_24 = 0;\n  local_20 = 0;\n                    \n  FUN_00282e40(&local_7c,param_1 + 0x3b,0,local_48);\n  FUN_0005fc50(&local_30);\n  uVar3 = extraout_ECX;\n  if (local_48[0] != local_40) {\n    FUN_003ae080(local_48[0]);\n    uVar3 = extraout_ECX_00;\n  }\n  if (param_7 != (int *)0x0) {\n    *param_7 = local_7c + 0x1c;\n  }\n  if ((char)local_78 == '\0') {\n    uVar4 = local_78;\n    if (*(char *)(local_7c + 0x25) != '\0') {\n      if (*(int *)(local_7c + 0x1c) == 0) {\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    \n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }\n      goto LAB_00278e40;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      goto LAB_00278e40;\n    }\n  }\n  else {\n    if (*(int *)(local_7c + 0x1c) != 0) {\n                    \n      FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));\n    }\n    *(undefined4 *)(local_7c + 0x1c) = param_3;\n    if (*(int *)(local_7c + 0x20) != 0) {\n                    \n                    \n      FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));\n    }\n    *(undefined4 *)(local_7c + 0x20) = param_4;\n    if (param_5 != '\0') {\n      if (*(char *)(local_7c + 0x24) != '\0') {\n                    \n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }\n      *(undefined1 *)(local_7c + 0x24) = 1;\n                    \n      iVar2 = FUN_003ac4d0(0x18);\n      *(undefined4 *)(iVar2 + 4) = 0;\n      *(undefined4 *)(iVar2 + 8) = 0;\n      *(int *)(iVar2 + 0xc) = iVar2 + 4;\n      *(int *)(iVar2 + 0x10) = iVar2 + 4;\n      *(undefined4 *)(iVar2 + 0x14) = 0;\n      *(int *)(local_7c + 0x28) = iVar2;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      uVar4 = (uint)param_6;\n      goto LAB_00278e40;\n    }\n  }\n  uVar4 = 1;\nLAB_00278e40:\n  FUN_0005fc50(&local_5c);\n  return uVar4;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 extraout_ECX;" (type_identifier "undefined4") (identifier "extraout_ECX") (; ";")) (declaration "undefined4 extraout_ECX_00;" (type_identifier "undefined4") (identifier "extraout_ECX_00") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "undefined4 extraout_EDX;" (type_identifier "undefined4") (identifier "extraout_EDX") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "uint local_8c;" (type_identifier "uint") (identifier "local_8c") (; ";")) (declaration "int local_7c;" (primitive_type "int") (identifier "local_7c") (; ";")) (declaration "uint local_78;" (type_identifier "uint") (identifier "local_78") (; ";")) (declaration "double local_74;" (primitive_type "double") (identifier "local_74") (; ";")) (declaration "int local_60;" (primitive_type "int") (identifier "local_60") (; ";")) (declaration "undefined4 local_5c;" (type_identifier "undefined4") (identifier "local_5c") (; ";")) (declaration "undefined4 local_58;" (type_identifier "undefined4") (identifier "local_58") (; ";")) (declaration "undefined2 local_54;" (type_identifier "undefined2") (identifier "local_54") (; ";")) (declaration "undefined4 local_50;" (type_identifier "undefined4") (identifier "local_50") (; ";")) (declaration "undefined4 local_4c;" (type_identifier "undefined4") (identifier "local_4c") (; ";")) (declaration "undefined1 *local_48 [2];" (type_identifier "undefined1") (pointer_declarator "*local_48 [2]" (* "*") (array_declarator "local_48 [2]" (identifier "local_48") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "undefined1 local_40 [16];" (type_identifier "undefined1") (array_declarator "local_40 [16]" (identifier "local_40") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (declaration "undefined4 local_2c;" (type_identifier "undefined4") (identifier "local_2c") (; ";")) (declaration "undefined1 local_28;" (type_identifier "undefined1") (identifier "local_28") (; ";")) (declaration "undefined1 local_27;" (type_identifier "undefined1") (identifier "local_27") (; ";")) (declaration "undefined4 local_24;" (type_identifier "undefined4") (identifier "local_24") (; ";")) (declaration "undefined4 local_20;" (type_identifier "undefined4") (identifier "local_20") (; ";")) (if_statement "if ((4 < (uint)param_1[0x3e]) && (*(char *)((int)param_1 + 0x1cb) == '\0')) {\n    local_60 = param_1[0x40];\n    local_74 = (double)((float)(param_1[0x3e] + 1) / (float)param_1[0x3f]);\n    local_8c = (uint)(longlong)ROUND(ROUND(local_74));\n    if (local_8c < (uint)(*param_1 << 6)) {\n      local_8c = *param_1 << 6;\n    }\n    iVar2 = FUN_003f3600(param_1 + 0x3f,local_8c);\n    if (iVar2 == param_1[0x3c]) {\n      param_1[0x40] = local_60;\n    }\n    else {\n      FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);\n    }\n    *(undefined1 *)((int)param_1 + 0x1cb) = 1;\n  }" (if "if") (parenthesized_expression "((4 < (uint)param_1[0x3e]) && (*(char *)((int)param_1 + 0x1cb) == '\0'))" (( "(") (binary_expression "(4 < (uint)param_1[0x3e]) && (*(char *)((int)param_1 + 0x1cb) == '\0')" (parenthesized_expression "(4 < (uint)param_1[0x3e])" (( "(") (binary_expression "4 < (uint)param_1[0x3e]" (number_literal "4") (< "<") (cast_expression "(uint)param_1[0x3e]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x3e]" (identifier "param_1") ([ "[") (number_literal "0x3e") (] "]")))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)((int)param_1 + 0x1cb) == '\0')" (( "(") (binary_expression "*(char *)((int)param_1 + 0x1cb) == '\0'" (pointer_expression "*(char *)((int)param_1 + 0x1cb)" (* "*") (cast_expression "(char *)((int)param_1 + 0x1cb)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x1cb)" (( "(") (binary_expression "(int)param_1 + 0x1cb" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x1cb")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n    local_60 = param_1[0x40];\n    local_74 = (double)((float)(param_1[0x3e] + 1) / (float)param_1[0x3f]);\n    local_8c = (uint)(longlong)ROUND(ROUND(local_74));\n    if (local_8c < (uint)(*param_1 << 6)) {\n      local_8c = *param_1 << 6;\n    }\n    iVar2 = FUN_003f3600(param_1 + 0x3f,local_8c);\n    if (iVar2 == param_1[0x3c]) {\n      param_1[0x40] = local_60;\n    }\n    else {\n      FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);\n    }\n    *(undefined1 *)((int)param_1 + 0x1cb) = 1;\n  }" ({ "{") (expression_statement "local_60 = param_1[0x40];" (assignment_expression "local_60 = param_1[0x40]" (identifier "local_60") (= "=") (subscript_expression "param_1[0x40]" (identifier "param_1") ([ "[") (number_literal "0x40") (] "]"))) (; ";")) (expression_statement "local_74 = (double)((float)(param_1[0x3e] + 1) / (float)param_1[0x3f]);" (assignment_expression "local_74 = (double)((float)(param_1[0x3e] + 1) / (float)param_1[0x3f])" (identifier "local_74") (= "=") (cast_expression "(double)((float)(param_1[0x3e] + 1) / (float)param_1[0x3f])" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((float)(param_1[0x3e] + 1) / (float)param_1[0x3f])" (( "(") (binary_expression "(float)(param_1[0x3e] + 1) / (float)param_1[0x3f]" (cast_expression "(float)(param_1[0x3e] + 1)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "(param_1[0x3e] + 1)" (( "(") (binary_expression "param_1[0x3e] + 1" (subscript_expression "param_1[0x3e]" (identifier "param_1") ([ "[") (number_literal "0x3e") (] "]")) (+ "+") (number_literal "1")) () ")"))) (/ "/") (cast_expression "(float)param_1[0x3f]" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (subscript_expression "param_1[0x3f]" (identifier "param_1") ([ "[") (number_literal "0x3f") (] "]")))) () ")")))) (; ";")) (expression_statement "local_8c = (uint)(longlong)ROUND(ROUND(local_74));" (assignment_expression "local_8c = (uint)(longlong)ROUND(ROUND(local_74))" (identifier "local_8c") (= "=") (cast_expression "(uint)(longlong)ROUND(ROUND(local_74))" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(longlong)ROUND(ROUND(local_74))" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (call_expression "ROUND(ROUND(local_74))" (identifier "ROUND") (argument_list "(ROUND(local_74))" (( "(") (call_expression "ROUND(local_74)" (identifier "ROUND") (argument_list "(local_74)" (( "(") (identifier "local_74") () ")"))) () ")")))))) (; ";")) (if_statement "if (local_8c < (uint)(*param_1 << 6)) {\n      local_8c = *param_1 << 6;\n    }" (if "if") (parenthesized_expression "(local_8c < (uint)(*param_1 << 6))" (( "(") (binary_expression "local_8c < (uint)(*param_1 << 6)" (identifier "local_8c") (< "<") (call_expression "(uint)(*param_1 << 6)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*param_1 << 6)" (( "(") (binary_expression "*param_1 << 6" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (<< "<<") (number_literal "6")) () ")")))) () ")")) (compound_statement "{\n      local_8c = *param_1 << 6;\n    }" ({ "{") (expression_statement "local_8c = *param_1 << 6;" (assignment_expression "local_8c = *param_1 << 6" (identifier "local_8c") (= "=") (binary_expression "*param_1 << 6" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (<< "<<") (number_literal "6"))) (; ";")) (} "}"))) (expression_statement "iVar2 = FUN_003f3600(param_1 + 0x3f,local_8c);" (assignment_expression "iVar2 = FUN_003f3600(param_1 + 0x3f,local_8c)" (identifier "iVar2") (= "=") (call_expression "FUN_003f3600(param_1 + 0x3f,local_8c)" (identifier "FUN_003f3600") (argument_list "(param_1 + 0x3f,local_8c)" (( "(") (binary_expression "param_1 + 0x3f" (identifier "param_1") (+ "+") (number_literal "0x3f")) (, ",") (identifier "local_8c") () ")")))) (; ";")) (if_statement "if (iVar2 == param_1[0x3c]) {\n      param_1[0x40] = local_60;\n    }\n    else {\n      FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);\n    }" (if "if") (parenthesized_expression "(iVar2 == param_1[0x3c])" (( "(") (binary_expression "iVar2 == param_1[0x3c]" (identifier "iVar2") (== "==") (subscript_expression "param_1[0x3c]" (identifier "param_1") ([ "[") (number_literal "0x3c") (] "]"))) () ")")) (compound_statement "{\n      param_1[0x40] = local_60;\n    }" ({ "{") (expression_statement "param_1[0x40] = local_60;" (assignment_expression "param_1[0x40] = local_60" (subscript_expression "param_1[0x40]" (identifier "param_1") ([ "[") (number_literal "0x40") (] "]")) (= "=") (identifier "local_60")) (; ";")) (} "}")) (else_clause "else {\n      FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);\n    }" (else "else") (compound_statement "{\n      FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);\n    }" ({ "{") (expression_statement "FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);" (call_expression "FUN_00282d20(param_1 + 0x3b,iVar2,&local_60)" (identifier "FUN_00282d20") (argument_list "(param_1 + 0x3b,iVar2,&local_60)" (( "(") (binary_expression "param_1 + 0x3b" (identifier "param_1") (+ "+") (number_literal "0x3b")) (, ",") (identifier "iVar2") (, ",") (pointer_expression "&local_60" (& "&") (identifier "local_60")) () ")"))) (; ";")) (} "}")))) (expression_statement "*(undefined1 *)((int)param_1 + 0x1cb) = 1;" (assignment_expression "*(undefined1 *)((int)param_1 + 0x1cb) = 1" (pointer_expression "*(undefined1 *)((int)param_1 + 0x1cb)" (* "*") (cast_expression "(undefined1 *)((int)param_1 + 0x1cb)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x1cb)" (( "(") (binary_expression "(int)param_1 + 0x1cb" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x1cb")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" (identifier "local_54") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" (identifier "local_5c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" (identifier "local_58") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" (identifier "local_4c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_48[0] = local_40;" (assignment_expression "local_48[0] = local_40" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "local_40")) (; ";")) (expression_statement "FUN_0014fca0(local_48,*param_2,param_2[1] + *param_2,0);" (call_expression "FUN_0014fca0(local_48,*param_2,param_2[1] + *param_2,0)" (identifier "FUN_0014fca0") (argument_list "(local_48,*param_2,param_2[1] + *param_2,0)" (( "(") (identifier "local_48") (, ",") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (binary_expression "param_2[1] + *param_2" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (+ "+") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = local_5c;" (assignment_expression "local_30 = local_5c" (identifier "local_30") (= "=") (identifier "local_5c")) (; ";")) (expression_statement "local_2c = local_58;" (assignment_expression "local_2c = local_58" (identifier "local_2c") (= "=") (identifier "local_58")) (; ";")) (expression_statement "local_27 = local_54._1_1_;" (assignment_expression "local_27 = local_54._1_1_" (identifier "local_27") (= "=") (field_expression "local_54._1_1_" (identifier "local_54") (. ".") (field_identifier "_1_1_"))) (; ";")) (if_statement "if ((char)local_54 != '\0') {\n                    \n                    \n    FUN_002446e0("../../gold/layout.h",0xf2,"Kept_section",extraout_EDX);\n  }" (if "if") (parenthesized_expression "((char)local_54 != '\0')" (( "(") (binary_expression "(char)local_54 != '\0'" (cast_expression "(char)local_54" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_54")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    \n                    \n    FUN_002446e0("../../gold/layout.h",0xf2,"Kept_section",extraout_EDX);\n  }" ({ "{") (expression_statement "FUN_002446e0("../../gold/layout.h",0xf2,"Kept_section",extraout_EDX);" (call_expression "FUN_002446e0("../../gold/layout.h",0xf2,"Kept_section",extraout_EDX)" (identifier "FUN_002446e0") (argument_list "("../../gold/layout.h",0xf2,"Kept_section",extraout_EDX)" (( "(") (string_literal ""../../gold/layout.h"" (" """) (string_content "../../gold/layout.h") (" """)) (, ",") (number_literal "0xf2") (, ",") (string_literal ""Kept_section"" (" """) (string_content "Kept_section") (" """)) (, ",") (identifier "extraout_EDX") () ")"))) (; ";")) (} "}"))) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" (identifier "local_24") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" (identifier "local_20") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00282e40(&local_7c,param_1 + 0x3b,0,local_48);" (call_expression "FUN_00282e40(&local_7c,param_1 + 0x3b,0,local_48)" (identifier "FUN_00282e40") (argument_list "(&local_7c,param_1 + 0x3b,0,local_48)" (( "(") (pointer_expression "&local_7c" (& "&") (identifier "local_7c")) (, ",") (binary_expression "param_1 + 0x3b" (identifier "param_1") (+ "+") (number_literal "0x3b")) (, ",") (number_literal "0") (, ",") (identifier "local_48") () ")"))) (; ";")) (expression_statement "FUN_0005fc50(&local_30);" (call_expression "FUN_0005fc50(&local_30)" (identifier "FUN_0005fc50") (argument_list "(&local_30)" (( "(") (pointer_expression "&local_30" (& "&") (identifier "local_30")) () ")"))) (; ";")) (expression_statement "uVar3 = extraout_ECX;" (assignment_expression "uVar3 = extraout_ECX" (identifier "uVar3") (= "=") (identifier "extraout_ECX")) (; ";")) (if_statement "if (local_48[0] != local_40) {\n    FUN_003ae080(local_48[0]);\n    uVar3 = extraout_ECX_00;\n  }" (if "if") (parenthesized_expression "(local_48[0] != local_40)" (( "(") (binary_expression "local_48[0] != local_40" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "local_40")) () ")")) (compound_statement "{\n    FUN_003ae080(local_48[0]);\n    uVar3 = extraout_ECX_00;\n  }" ({ "{") (expression_statement "FUN_003ae080(local_48[0]);" (call_expression "FUN_003ae080(local_48[0])" (identifier "FUN_003ae080") (argument_list "(local_48[0])" (( "(") (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) () ")"))) (; ";")) (expression_statement "uVar3 = extraout_ECX_00;" (assignment_expression "uVar3 = extraout_ECX_00" (identifier "uVar3") (= "=") (identifier "extraout_ECX_00")) (; ";")) (} "}"))) (if_statement "if (param_7 != (int *)0x0) {\n    *param_7 = local_7c + 0x1c;\n  }" (if "if") (parenthesized_expression "(param_7 != (int *)0x0)" (( "(") (binary_expression "param_7 != (int *)0x0" (identifier "param_7") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    *param_7 = local_7c + 0x1c;\n  }" ({ "{") (expression_statement "*param_7 = local_7c + 0x1c;" (assignment_expression "*param_7 = local_7c + 0x1c" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (binary_expression "local_7c + 0x1c" (identifier "local_7c") (+ "+") (number_literal "0x1c"))) (; ";")) (} "}"))) (if_statement "if ((char)local_78 == '\0') {\n    uVar4 = local_78;\n    if (*(char *)(local_7c + 0x25) != '\0') {\n      if (*(int *)(local_7c + 0x1c) == 0) {\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    \n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }\n      goto LAB_00278e40;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      goto LAB_00278e40;\n    }\n  }\n  else {\n    if (*(int *)(local_7c + 0x1c) != 0) {\n                    \n      FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));\n    }\n    *(undefined4 *)(local_7c + 0x1c) = param_3;\n    if (*(int *)(local_7c + 0x20) != 0) {\n                    \n                    \n      FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));\n    }\n    *(undefined4 *)(local_7c + 0x20) = param_4;\n    if (param_5 != '\0') {\n      if (*(char *)(local_7c + 0x24) != '\0') {\n                    \n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }\n      *(undefined1 *)(local_7c + 0x24) = 1;\n                    \n      iVar2 = FUN_003ac4d0(0x18);\n      *(undefined4 *)(iVar2 + 4) = 0;\n      *(undefined4 *)(iVar2 + 8) = 0;\n      *(int *)(iVar2 + 0xc) = iVar2 + 4;\n      *(int *)(iVar2 + 0x10) = iVar2 + 4;\n      *(undefined4 *)(iVar2 + 0x14) = 0;\n      *(int *)(local_7c + 0x28) = iVar2;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      uVar4 = (uint)param_6;\n      goto LAB_00278e40;\n    }\n  }" (if "if") (parenthesized_expression "((char)local_78 == '\0')" (( "(") (binary_expression "(char)local_78 == '\0'" (cast_expression "(char)local_78" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_78")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    uVar4 = local_78;\n    if (*(char *)(local_7c + 0x25) != '\0') {\n      if (*(int *)(local_7c + 0x1c) == 0) {\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    \n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }\n      goto LAB_00278e40;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      goto LAB_00278e40;\n    }\n  }" ({ "{") (expression_statement "uVar4 = local_78;" (assignment_expression "uVar4 = local_78" (identifier "uVar4") (= "=") (identifier "local_78")) (; ";")) (if_statement "if (*(char *)(local_7c + 0x25) != '\0') {\n      if (*(int *)(local_7c + 0x1c) == 0) {\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    \n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }\n      goto LAB_00278e40;\n    }" (if "if") (parenthesized_expression "(*(char *)(local_7c + 0x25) != '\0')" (( "(") (binary_expression "*(char *)(local_7c + 0x25) != '\0'" (pointer_expression "*(char *)(local_7c + 0x25)" (* "*") (cast_expression "(char *)(local_7c + 0x25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_7c + 0x25)" (( "(") (binary_expression "local_7c + 0x25" (identifier "local_7c") (+ "+") (number_literal "0x25")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      if (*(int *)(local_7c + 0x1c) == 0) {\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    \n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }\n      goto LAB_00278e40;\n    }" ({ "{") (if_statement "if (*(int *)(local_7c + 0x1c) == 0) {\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    \n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }" (if "if") (parenthesized_expression "(*(int *)(local_7c + 0x1c) == 0)" (( "(") (binary_expression "*(int *)(local_7c + 0x1c) == 0" (pointer_expression "*(int *)(local_7c + 0x1c)" (* "*") (cast_expression "(int *)(local_7c + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_7c + 0x1c)" (( "(") (binary_expression "local_7c + 0x1c" (identifier "local_7c") (+ "+") (number_literal "0x1c")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }\n        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);\n        uVar4 = (uint)bVar1;\n        if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    \n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }\n      }" ({ "{") (if_statement "if (*(int *)(DAT_005ea7c8 + 8) == 0) {\n                    \n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }" (if "if") (parenthesized_expression "(*(int *)(DAT_005ea7c8 + 8) == 0)" (( "(") (binary_expression "*(int *)(DAT_005ea7c8 + 8) == 0" (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" (* "*") (cast_expression "(int *)(DAT_005ea7c8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_005ea7c8 + 8)" (( "(") (binary_expression "DAT_005ea7c8 + 8" (identifier "DAT_005ea7c8") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);\n        }" ({ "{") (expression_statement "FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);" (call_expression "FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3)" (identifier "FUN_002446e0") (argument_list "("../../gold/parameters.h",0x5c,"options",uVar3)" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) (, ",") (identifier "uVar3") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);" (assignment_expression "bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61)" (* "*") (cast_expression "(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61)" (( "(") (binary_expression "*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61" (pointer_expression "*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c)" (* "*") (cast_expression "(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_005ea7c8 + 8) + 0x593c)" (( "(") (binary_expression "*(int *)(DAT_005ea7c8 + 8) + 0x593c" (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" (* "*") (cast_expression "(int *)(DAT_005ea7c8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_005ea7c8 + 8)" (( "(") (binary_expression "DAT_005ea7c8 + 8" (identifier "DAT_005ea7c8") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x593c")) () ")")))) (+ "+") (number_literal "0x61")) () ")"))))) (; ";")) (expression_statement "uVar4 = (uint)bVar1;" (assignment_expression "uVar4 = (uint)bVar1" (identifier "uVar4") (= "=") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1"))) (; ";")) (if_statement "if (bVar1 != 0) {\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    \n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }" (if "if") (parenthesized_expression "(bVar1 != 0)" (( "(") (binary_expression "bVar1 != 0" (identifier "bVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          *(undefined4 *)(local_7c + 0x1c) = param_3;\n          if (*(int *)(local_7c + 0x20) != 0) {\n                    \n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }\n          *(undefined4 *)(local_7c + 0x20) = param_4;\n        }" ({ "{") (expression_statement "*(undefined4 *)(local_7c + 0x1c) = param_3;" (assignment_expression "*(undefined4 *)(local_7c + 0x1c) = param_3" (pointer_expression "*(undefined4 *)(local_7c + 0x1c)" (* "*") (cast_expression "(undefined4 *)(local_7c + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_7c + 0x1c)" (( "(") (binary_expression "local_7c + 0x1c" (identifier "local_7c") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "param_3")) (; ";")) (if_statement "if (*(int *)(local_7c + 0x20) != 0) {\n                    \n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }" (if "if") (parenthesized_expression "(*(int *)(local_7c + 0x20) != 0)" (( "(") (binary_expression "*(int *)(local_7c + 0x20) != 0" (pointer_expression "*(int *)(local_7c + 0x20)" (* "*") (cast_expression "(int *)(local_7c + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_7c + 0x20)" (( "(") (binary_expression "local_7c + 0x20" (identifier "local_7c") (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);\n          }" ({ "{") (expression_statement "FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);" (call_expression "FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3)" (identifier "FUN_002446e0") (argument_list "("../../gold/layout.h",0x112,"set_shndx",param_3)" (( "(") (string_literal ""../../gold/layout.h"" (" """) (string_content "../../gold/layout.h") (" """)) (, ",") (number_literal "0x112") (, ",") (string_literal ""set_shndx"" (" """) (string_content "set_shndx") (" """)) (, ",") (identifier "param_3") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(local_7c + 0x20) = param_4;" (assignment_expression "*(undefined4 *)(local_7c + 0x20) = param_4" (pointer_expression "*(undefined4 *)(local_7c + 0x20)" (* "*") (cast_expression "(undefined4 *)(local_7c + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_7c + 0x20)" (( "(") (binary_expression "local_7c + 0x20" (identifier "local_7c") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_00278e40;" (goto "goto") (statement_identifier "LAB_00278e40") (; ";")) (} "}"))) (if_statement "if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      goto LAB_00278e40;\n    }" (if "if") (parenthesized_expression "(param_6 != 0)" (( "(") (binary_expression "param_6 != 0" (identifier "param_6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      goto LAB_00278e40;\n    }" ({ "{") (expression_statement "*(undefined1 *)(local_7c + 0x25) = 1;" (assignment_expression "*(undefined1 *)(local_7c + 0x25) = 1" (pointer_expression "*(undefined1 *)(local_7c + 0x25)" (* "*") (cast_expression "(undefined1 *)(local_7c + 0x25)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_7c + 0x25)" (( "(") (binary_expression "local_7c + 0x25" (identifier "local_7c") (+ "+") (number_literal "0x25")) () ")")))) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00278e40;" (goto "goto") (statement_identifier "LAB_00278e40") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    if (*(int *)(local_7c + 0x1c) != 0) {\n                    \n      FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));\n    }\n    *(undefined4 *)(local_7c + 0x1c) = param_3;\n    if (*(int *)(local_7c + 0x20) != 0) {\n                    \n                    \n      FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));\n    }\n    *(undefined4 *)(local_7c + 0x20) = param_4;\n    if (param_5 != '\0') {\n      if (*(char *)(local_7c + 0x24) != '\0') {\n                    \n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }\n      *(undefined1 *)(local_7c + 0x24) = 1;\n                    \n      iVar2 = FUN_003ac4d0(0x18);\n      *(undefined4 *)(iVar2 + 4) = 0;\n      *(undefined4 *)(iVar2 + 8) = 0;\n      *(int *)(iVar2 + 0xc) = iVar2 + 4;\n      *(int *)(iVar2 + 0x10) = iVar2 + 4;\n      *(undefined4 *)(iVar2 + 0x14) = 0;\n      *(int *)(local_7c + 0x28) = iVar2;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      uVar4 = (uint)param_6;\n      goto LAB_00278e40;\n    }\n  }" (else "else") (compound_statement "{\n    if (*(int *)(local_7c + 0x1c) != 0) {\n                    \n      FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));\n    }\n    *(undefined4 *)(local_7c + 0x1c) = param_3;\n    if (*(int *)(local_7c + 0x20) != 0) {\n                    \n                    \n      FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));\n    }\n    *(undefined4 *)(local_7c + 0x20) = param_4;\n    if (param_5 != '\0') {\n      if (*(char *)(local_7c + 0x24) != '\0') {\n                    \n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }\n      *(undefined1 *)(local_7c + 0x24) = 1;\n                    \n      iVar2 = FUN_003ac4d0(0x18);\n      *(undefined4 *)(iVar2 + 4) = 0;\n      *(undefined4 *)(iVar2 + 8) = 0;\n      *(int *)(iVar2 + 0xc) = iVar2 + 4;\n      *(int *)(iVar2 + 0x10) = iVar2 + 4;\n      *(undefined4 *)(iVar2 + 0x14) = 0;\n      *(int *)(local_7c + 0x28) = iVar2;\n    }\n    if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      uVar4 = (uint)param_6;\n      goto LAB_00278e40;\n    }\n  }" ({ "{") (if_statement "if (*(int *)(local_7c + 0x1c) != 0) {\n                    \n      FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));\n    }" (if "if") (parenthesized_expression "(*(int *)(local_7c + 0x1c) != 0)" (( "(") (binary_expression "*(int *)(local_7c + 0x1c) != 0" (pointer_expression "*(int *)(local_7c + 0x1c)" (* "*") (cast_expression "(int *)(local_7c + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_7c + 0x1c)" (( "(") (binary_expression "local_7c + 0x1c" (identifier "local_7c") (+ "+") (number_literal "0x1c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n      FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));\n    }" ({ "{") (expression_statement "FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));" (call_expression "FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c))" (identifier "FUN_002446e0") (argument_list "("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c))" (( "(") (string_literal ""../../gold/layout.h"" (" """) (string_content "../../gold/layout.h") (" """)) (, ",") (number_literal "0x105") (, ",") (string_literal ""set_object"" (" """) (string_content "set_object") (" """)) (, ",") (pointer_expression "*(int *)(local_7c + 0x1c)" (* "*") (cast_expression "(int *)(local_7c + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_7c + 0x1c)" (( "(") (binary_expression "local_7c + 0x1c" (identifier "local_7c") (+ "+") (number_literal "0x1c")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(local_7c + 0x1c) = param_3;" (assignment_expression "*(undefined4 *)(local_7c + 0x1c) = param_3" (pointer_expression "*(undefined4 *)(local_7c + 0x1c)" (* "*") (cast_expression "(undefined4 *)(local_7c + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_7c + 0x1c)" (( "(") (binary_expression "local_7c + 0x1c" (identifier "local_7c") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "param_3")) (; ";")) (if_statement "if (*(int *)(local_7c + 0x20) != 0) {\n                    \n                    \n      FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));\n    }" (if "if") (parenthesized_expression "(*(int *)(local_7c + 0x20) != 0)" (( "(") (binary_expression "*(int *)(local_7c + 0x20) != 0" (pointer_expression "*(int *)(local_7c + 0x20)" (* "*") (cast_expression "(int *)(local_7c + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_7c + 0x20)" (( "(") (binary_expression "local_7c + 0x20" (identifier "local_7c") (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                    \n      FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));\n    }" ({ "{") (expression_statement "FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));" (call_expression "FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20))" (identifier "FUN_002446e0") (argument_list "("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20))" (( "(") (string_literal ""../../gold/layout.h"" (" """) (string_content "../../gold/layout.h") (" """)) (, ",") (number_literal "0x112") (, ",") (string_literal ""set_shndx"" (" """) (string_content "set_shndx") (" """)) (, ",") (pointer_expression "*(int *)(local_7c + 0x20)" (* "*") (cast_expression "(int *)(local_7c + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_7c + 0x20)" (( "(") (binary_expression "local_7c + 0x20" (identifier "local_7c") (+ "+") (number_literal "0x20")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(local_7c + 0x20) = param_4;" (assignment_expression "*(undefined4 *)(local_7c + 0x20) = param_4" (pointer_expression "*(undefined4 *)(local_7c + 0x20)" (* "*") (cast_expression "(undefined4 *)(local_7c + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_7c + 0x20)" (( "(") (binary_expression "local_7c + 0x20" (identifier "local_7c") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (if_statement "if (param_5 != '\0') {\n      if (*(char *)(local_7c + 0x24) != '\0') {\n                    \n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }\n      *(undefined1 *)(local_7c + 0x24) = 1;\n                    \n      iVar2 = FUN_003ac4d0(0x18);\n      *(undefined4 *)(iVar2 + 4) = 0;\n      *(undefined4 *)(iVar2 + 8) = 0;\n      *(int *)(iVar2 + 0xc) = iVar2 + 4;\n      *(int *)(iVar2 + 0x10) = iVar2 + 4;\n      *(undefined4 *)(iVar2 + 0x14) = 0;\n      *(int *)(local_7c + 0x28) = iVar2;\n    }" (if "if") (parenthesized_expression "(param_5 != '\0')" (( "(") (binary_expression "param_5 != '\0'" (identifier "param_5") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      if (*(char *)(local_7c + 0x24) != '\0') {\n                    \n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }\n      *(undefined1 *)(local_7c + 0x24) = 1;\n                    \n      iVar2 = FUN_003ac4d0(0x18);\n      *(undefined4 *)(iVar2 + 4) = 0;\n      *(undefined4 *)(iVar2 + 8) = 0;\n      *(int *)(iVar2 + 0xc) = iVar2 + 4;\n      *(int *)(iVar2 + 0x10) = iVar2 + 4;\n      *(undefined4 *)(iVar2 + 0x14) = 0;\n      *(int *)(local_7c + 0x28) = iVar2;\n    }" ({ "{") (if_statement "if (*(char *)(local_7c + 0x24) != '\0') {\n                    \n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }" (if "if") (parenthesized_expression "(*(char *)(local_7c + 0x24) != '\0')" (( "(") (binary_expression "*(char *)(local_7c + 0x24) != '\0'" (pointer_expression "*(char *)(local_7c + 0x24)" (* "*") (cast_expression "(char *)(local_7c + 0x24)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_7c + 0x24)" (( "(") (binary_expression "local_7c + 0x24" (identifier "local_7c") (+ "+") (number_literal "0x24")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    \n        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);\n      }" ({ "{") (expression_statement "FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);" (call_expression "FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4)" (identifier "FUN_002446e0") (argument_list "("../../gold/layout.h",0x11f,"set_is_comdat",param_4)" (( "(") (string_literal ""../../gold/layout.h"" (" """) (string_content "../../gold/layout.h") (" """)) (, ",") (number_literal "0x11f") (, ",") (string_literal ""set_is_comdat"" (" """) (string_content "set_is_comdat") (" """)) (, ",") (identifier "param_4") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(local_7c + 0x24) = 1;" (assignment_expression "*(undefined1 *)(local_7c + 0x24) = 1" (pointer_expression "*(undefined1 *)(local_7c + 0x24)" (* "*") (cast_expression "(undefined1 *)(local_7c + 0x24)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_7c + 0x24)" (( "(") (binary_expression "local_7c + 0x24" (identifier "local_7c") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar2 = FUN_003ac4d0(0x18);" (assignment_expression "iVar2 = FUN_003ac4d0(0x18)" (identifier "iVar2") (= "=") (call_expression "FUN_003ac4d0(0x18)" (identifier "FUN_003ac4d0") (argument_list "(0x18)" (( "(") (number_literal "0x18") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar2 + 4) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 4) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 4)" (( "(") (binary_expression "iVar2 + 4" (identifier "iVar2") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(iVar2 + 8) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 8) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 8)" (( "(") (binary_expression "iVar2 + 8" (identifier "iVar2") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(iVar2 + 0xc) = iVar2 + 4;" (assignment_expression "*(int *)(iVar2 + 0xc) = iVar2 + 4" (pointer_expression "*(int *)(iVar2 + 0xc)" (* "*") (cast_expression "(int *)(iVar2 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xc)" (( "(") (binary_expression "iVar2 + 0xc" (identifier "iVar2") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "iVar2 + 4" (identifier "iVar2") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*(int *)(iVar2 + 0x10) = iVar2 + 4;" (assignment_expression "*(int *)(iVar2 + 0x10) = iVar2 + 4" (pointer_expression "*(int *)(iVar2 + 0x10)" (* "*") (cast_expression "(int *)(iVar2 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x10)" (( "(") (binary_expression "iVar2 + 0x10" (identifier "iVar2") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "iVar2 + 4" (identifier "iVar2") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*(undefined4 *)(iVar2 + 0x14) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 0x14) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 0x14)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x14)" (( "(") (binary_expression "iVar2 + 0x14" (identifier "iVar2") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(local_7c + 0x28) = iVar2;" (assignment_expression "*(int *)(local_7c + 0x28) = iVar2" (pointer_expression "*(int *)(local_7c + 0x28)" (* "*") (cast_expression "(int *)(local_7c + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_7c + 0x28)" (( "(") (binary_expression "local_7c + 0x28" (identifier "local_7c") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (identifier "iVar2")) (; ";")) (} "}"))) (if_statement "if (param_6 != 0) {\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      uVar4 = (uint)param_6;\n      goto LAB_00278e40;\n    }" (if "if") (parenthesized_expression "(param_6 != 0)" (( "(") (binary_expression "param_6 != 0" (identifier "param_6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined1 *)(local_7c + 0x25) = 1;\n      uVar4 = (uint)param_6;\n      goto LAB_00278e40;\n    }" ({ "{") (expression_statement "*(undefined1 *)(local_7c + 0x25) = 1;" (assignment_expression "*(undefined1 *)(local_7c + 0x25) = 1" (pointer_expression "*(undefined1 *)(local_7c + 0x25)" (* "*") (cast_expression "(undefined1 *)(local_7c + 0x25)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_7c + 0x25)" (( "(") (binary_expression "local_7c + 0x25" (identifier "local_7c") (+ "+") (number_literal "0x25")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar4 = (uint)param_6;" (assignment_expression "uVar4 = (uint)param_6" (identifier "uVar4") (= "=") (cast_expression "(uint)param_6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_6"))) (; ";")) (goto_statement "goto LAB_00278e40;" (goto "goto") (statement_identifier "LAB_00278e40") (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" (identifier "uVar4") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_00278e40:\n  FUN_0005fc50(&local_5c);" (statement_identifier "LAB_00278e40") (: ":") (expression_statement "FUN_0005fc50(&local_5c);" (call_expression "FUN_0005fc50(&local_5c)" (identifier "FUN_0005fc50") (argument_list "(&local_5c)" (( "(") (pointer_expression "&local_5c" (& "&") (identifier "local_5c")) () ")"))) (; ";"))) (return_statement "return uVar4;" (return "return") (identifier "uVar4") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: bool find_or_add_kept_section(Layout * this, string * name, Relobj *
   object, uint shndx, bool is_comdat, bool is_group_name, Kept_section * * kept_section) */

bool __thiscall
gold::type_1::function_1
          (type_1 *this,type_2 *name,type_3 *object,type_4 shndx,bool is_comdat,bool is_group_name,
          type_5 **var_19)

{
  type_4 var_5;
  type_6 var_15;
  type_4 var_8;
  type_7 var_10;
  type_8 var_21;
  char cVar5;
  type_9 *__in_chrg;
  type_4 var_7;
  type_10 local_7c [28];
  size_t local_60;
  type_5 candidate;
  basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3> var_4;
  type_5 local_30;
  
  var_5 = (this->signatures_)._M_h._M_element_count;
  if ((4 < var_5) && (this->resized_signatures_ == false)) {
    local_60 = (this->signatures_)._M_h._M_rehash_policy._M_next_resize;
    var_8 = this->number_of_input_files_ << 6;
    local_7c._8_8_ =
         (undefined8)
         ((float)(var_5 + 1) / (this->signatures_)._M_h._M_rehash_policy._M_max_load_factor);
    var_7 = (type_4)(type_11)var_6(var_6((double)local_7c._8_8_));
    if (var_7 < var_8) {
      var_7 = var_8;
    }
    var_10 = std::__detail::_Prime_rehash_policy::var_9
                    (&(this->signatures_)._M_h._M_rehash_policy,var_7);
    if (var_10 == (this->signatures_)._M_h._M_bucket_count) {
      (this->signatures_)._M_h._M_rehash_policy._M_next_resize = local_60;
    }
    else {
      std::
      _Hashtable<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::pair<const_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_gold::type_5>,_std::var_1<std::pair<const_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_gold::type_5>var_3>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::hash<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_11<true,_false,var_12>var_3>
      ::var_13((_Hashtable<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::pair<const_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_gold::type_5>,_std::var_1<std::pair<const_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_gold::type_5>var_3>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::hash<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_11<true,_false,var_12>var_3>
                   *)&this->signatures_,var_10,&local_60);
    }
    this->resized_signatures_ = true;
  }
  var_15 = (name->_M_dataplus)._M_p;
  candidate.is_comdat_ = false;
  candidate.is_group_name_ = false;
  candidate.object_ = (type_3 *)0x0;
  candidate.shndx_ = 0;
  candidate.u_.group_sections = (type_12 *)0x0;
  candidate.u_.linkonce_size._4_4_ = 0;
  var_4._M_dataplus._M_p = (type_6)&var_4.field_2;
                    /* try { // try from 00278d63 to 00278d67 has its CatchHandler @ 002790b9 */
  std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
  var_14<var_2*>(&var_4,var_15,var_15 + name->_M_string_length,0);
  local_30.is_comdat_ = false;
  local_30.object_ = candidate.object_;
  local_30.shndx_ = candidate.shndx_;
  local_30.is_group_name_ = candidate.is_group_name_;
  if (candidate.is_comdat_ != false) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00279015 to 00279019 has its CatchHandler @ 002790b2 */
    var_16("../../gold/layout.h",0xf2,"Kept_section");
  }
  __in_chrg = &this->signatures_;
  local_30.u_.group_sections = (type_12 *)0x0;
  local_30.u_.linkonce_size._4_4_ = 0;
                    /* try { // try from 00278da8 to 00278dac has its CatchHandler @ 002790c0 */
  std::
  _Hashtable<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::pair<const_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_gold::type_5>,_std::var_1<std::pair<const_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_gold::type_5>var_3>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::hash<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_11<true,_false,var_12>var_3>
  ::
  _M_emplace<std::pair<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_gold::type_5>var_3>
            ((_Hashtable<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::pair<const_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_gold::type_5>,_std::var_1<std::pair<const_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_gold::type_5>var_3>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::hash<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_11<true,_false,var_12>var_3>
              *)local_7c,__in_chrg,0,&var_4);
  Kept_section::~type_5(&local_30,(int)__in_chrg);
  if ((anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_17
       *)var_4._M_dataplus._M_p != &var_4.field_2) {
    var_18(var_4._M_dataplus._M_p);
  }
  if (var_19 != (type_5 **)0x0) {
    *var_19 = (type_5 *)(local_7c._0_4_ + 0x1c);
  }
  if (local_7c[4] == '\0') {
    cVar5 = '\0';
    if (*(char *)(local_7c._0_4_ + 0x25) != '\0') {
      if (*(type_8 *)(local_7c._0_4_ + 0x1c) == (type_8)0x0) {
        if (parameters->options_ == (type_13 *)0x0) {
                    /* WARNING: Subroutine does not return */
          var_16("../../gold/parameters.h",0x5c,"options");
        }
        cVar5 = parameters->options_->plugins_->in_replacement_phase_;
        if ((bool)cVar5 != false) {
          *(type_3 **)(local_7c._0_4_ + 0x1c) = object;
          if (*(type_8 *)(local_7c._0_4_ + 0x20) != (type_8)0x0) {
                    /* WARNING: Subroutine does not return */
            var_16("../../gold/layout.h",0x112,"set_shndx");
          }
          *(type_4 *)(local_7c._0_4_ + 0x20) = shndx;
        }
      }
      goto LAB_00278e40;
    }
    if (is_group_name) {
      *(type_10 *)(local_7c._0_4_ + 0x25) = 1;
      goto LAB_00278e40;
    }
  }
  else {
    if (*(type_8 *)(local_7c._0_4_ + 0x1c) != (type_8)0x0) {
                    /* WARNING: Subroutine does not return */
      var_16("../../gold/layout.h",0x105,"set_object");
    }
    *(type_3 **)(local_7c._0_4_ + 0x1c) = object;
    if (*(type_8 *)(local_7c._0_4_ + 0x20) != (type_8)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00279034 to 002790b1 has its CatchHandler @ 002790b9 */
      var_16("../../gold/layout.h",0x112,"set_shndx");
    }
    *(type_4 *)(local_7c._0_4_ + 0x20) = shndx;
    if (is_comdat) {
      if (*(char *)(local_7c._0_4_ + 0x24) != '\0') {
                    /* WARNING: Subroutine does not return */
        var_16("../../gold/layout.h",0x11f,"set_is_comdat");
      }
      *(type_10 *)(local_7c._0_4_ + 0x24) = 1;
                    /* try { // try from 00278fb9 to 00278fbd has its CatchHandler @ 002790b9 */
      var_21 = (type_8)var_20(0x18);
      var_21[1]._M_nxt = (type_14 *)0x0;
      var_21[2]._M_nxt = (type_14 *)0x0;
      var_21[3]._M_nxt = var_21 + 1;
      var_21[4]._M_nxt = var_21 + 1;
      var_21[5]._M_nxt = (type_14 *)0x0;
      *(type_8 *)(local_7c._0_4_ + 0x28) = var_21;
    }
    if (is_group_name) {
      *(type_10 *)(local_7c._0_4_ + 0x25) = 1;
      cVar5 = is_group_name;
      goto LAB_00278e40;
    }
  }
  cVar5 = '\x01';
LAB_00278e40:
  Kept_section::~type_5(&candidate,(int)__in_chrg);
  return (bool)cVar5;
}


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

/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

uint MASKED(int *param_1,int *param_2,undefined4 param_3,undefined4 param_4,char param_5,
                 byte param_6,int *param_7)

{
  byte bVar1;
  int iVar2;
  undefined4 extraout_ECX;
  undefined4 extraout_ECX_00;
  undefined4 uVar3;
  undefined4 extraout_EDX;
  uint uVar4;
  uint local_8c;
  int local_7c;
  uint local_78;
  double local_74;
  int local_60;
  undefined4 local_5c;
  undefined4 local_58;
  undefined2 local_54;
  undefined4 local_50;
  undefined4 local_4c;
  undefined1 *local_48 [2];
  undefined1 local_40 [16];
  undefined4 local_30;
  undefined4 local_2c;
  undefined1 local_28;
  undefined1 local_27;
  undefined4 local_24;
  undefined4 local_20;
  
  if ((4 < (uint)param_1[0x3e]) && (*(char *)((int)param_1 + 0x1cb) == '\0')) {
    local_60 = param_1[0x40];
    local_74 = (double)((float)(param_1[0x3e] + 1) / (float)param_1[0x3f]);
    local_8c = (uint)(longlong)ROUND(ROUND(local_74));
    if (local_8c < (uint)(*param_1 << 6)) {
      local_8c = *param_1 << 6;
    }
    iVar2 = FUN_003f3600(param_1 + 0x3f,local_8c);
    if (iVar2 == param_1[0x3c]) {
      param_1[0x40] = local_60;
    }
    else {
      FUN_00282d20(param_1 + 0x3b,iVar2,&local_60);
    }
    *(undefined1 *)((int)param_1 + 0x1cb) = 1;
  }
  local_54 = 0;
  local_5c = 0;
  local_58 = 0;
  local_50 = 0;
  local_4c = 0;
  local_48[0] = local_40;
                    /* try { // try from 00278d63 to 00278d67 has its CatchHandler @ 002790b9 */
  FUN_0014fca0(local_48,*param_2,param_2[1] + *param_2,0);
  local_28 = 0;
  local_30 = local_5c;
  local_2c = local_58;
  local_27 = local_54._1_1_;
  if ((char)local_54 != '\0') {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00279015 to 00279019 has its CatchHandler @ 002790b2 */
    FUN_002446e0("../../gold/layout.h",0xf2,"Kept_section",extraout_EDX);
  }
  local_24 = 0;
  local_20 = 0;
                    /* try { // try from 00278da8 to 00278dac has its CatchHandler @ 002790c0 */
  FUN_00282e40(&local_7c,param_1 + 0x3b,0,local_48);
  FUN_0005fc50(&local_30);
  uVar3 = extraout_ECX;
  if (local_48[0] != local_40) {
    FUN_003ae080(local_48[0]);
    uVar3 = extraout_ECX_00;
  }
  if (param_7 != (int *)0x0) {
    *param_7 = local_7c + 0x1c;
  }
  if ((char)local_78 == '\0') {
    uVar4 = local_78;
    if (*(char *)(local_7c + 0x25) != '\0') {
      if (*(int *)(local_7c + 0x1c) == 0) {
        if (*(int *)(DAT_005ea7c8 + 8) == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_002446e0("../../gold/parameters.h",0x5c,"options",uVar3);
        }
        bVar1 = *(byte *)(*(int *)(*(int *)(DAT_005ea7c8 + 8) + 0x593c) + 0x61);
        uVar4 = (uint)bVar1;
        if (bVar1 != 0) {
          *(undefined4 *)(local_7c + 0x1c) = param_3;
          if (*(int *)(local_7c + 0x20) != 0) {
                    /* WARNING: Subroutine does not return */
            FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",param_3);
          }
          *(undefined4 *)(local_7c + 0x20) = param_4;
        }
      }
      goto LAB_00278e40;
    }
    if (param_6 != 0) {
      *(undefined1 *)(local_7c + 0x25) = 1;
      goto LAB_00278e40;
    }
  }
  else {
    if (*(int *)(local_7c + 0x1c) != 0) {
                    /* WARNING: Subroutine does not return */
      FUN_002446e0("../../gold/layout.h",0x105,"set_object",*(int *)(local_7c + 0x1c));
    }
    *(undefined4 *)(local_7c + 0x1c) = param_3;
    if (*(int *)(local_7c + 0x20) != 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00279034 to 002790b1 has its CatchHandler @ 002790b9 */
      FUN_002446e0("../../gold/layout.h",0x112,"set_shndx",*(int *)(local_7c + 0x20));
    }
    *(undefined4 *)(local_7c + 0x20) = param_4;
    if (param_5 != '\0') {
      if (*(char *)(local_7c + 0x24) != '\0') {
                    /* WARNING: Subroutine does not return */
        FUN_002446e0("../../gold/layout.h",0x11f,"set_is_comdat",param_4);
      }
      *(undefined1 *)(local_7c + 0x24) = 1;
                    /* try { // try from 00278fb9 to 00278fbd has its CatchHandler @ 002790b9 */
      iVar2 = FUN_003ac4d0(0x18);
      *(undefined4 *)(iVar2 + 4) = 0;
      *(undefined4 *)(iVar2 + 8) = 0;
      *(int *)(iVar2 + 0xc) = iVar2 + 4;
      *(int *)(iVar2 + 0x10) = iVar2 + 4;
      *(undefined4 *)(iVar2 + 0x14) = 0;
      *(int *)(local_7c + 0x28) = iVar2;
    }
    if (param_6 != 0) {
      *(undefined1 *)(local_7c + 0x25) = 1;
      uVar4 = (uint)param_6;
      goto LAB_00278e40;
    }
  }
  uVar4 = 1;
LAB_00278e40:
  FUN_0005fc50(&local_5c);
  return uVar4;
}

