
/* WARNING: Function: __x86.get_pc_thunk.si replaced with injection: get_pc_thunk_si */
/* DWARF original prototype: void scan_debug_info(Gdb_index * this, bool is_type_unit, Relobj *
   object, uchar * symbols, off_t symbols_size, uint shndx, uint reloc_shndx, uint reloc_type) */

void __thiscall
gold::Gdb_index::scan_debug_info
          (Gdb_index *this,bool is_type_unit,Relobj *object,uchar *symbols,off_t symbols_size,
          uint shndx,uint reloc_shndx,uint reloc_type)

{
  __bucket_type *pp_Var1;
  _Hash_node_base *p_Var2;
  __node_base _Var3;
  int iVar4;
  Abbrev_code **ppAVar5;
  int in_stack_fffffad8;
  Gdb_index_info_reader dwinfo;
  
  dwinfo.super_Dwarf_info_reader.abbrev_shndx_ = 0;
  dwinfo.super_Dwarf_info_reader.string_shndx_ = 0;
  dwinfo.super_Dwarf_info_reader.is_type_unit_ = is_type_unit;
  dwinfo.super_Dwarf_info_reader.symtab_ = symbols;
  dwinfo.super_Dwarf_info_reader.object_ = object;
  dwinfo.super_Dwarf_info_reader.buffer_ = (uchar *)0x0;
  dwinfo.super_Dwarf_info_reader.shndx_ = shndx;
  dwinfo.super_Dwarf_info_reader.buffer_end_ = (uchar *)0x0;
  dwinfo.super_Dwarf_info_reader.reloc_shndx_ = reloc_shndx;
  dwinfo.super_Dwarf_info_reader.cu_offset_._0_4_ = 0;
  dwinfo.super_Dwarf_info_reader.reloc_type_ = reloc_type;
  pp_Var1 = &dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_single_bucket;
  dwinfo.super_Dwarf_info_reader.cu_offset_._4_4_ = 0;
  dwinfo.super_Dwarf_info_reader.cu_length_._0_4_ = 0;
  ppAVar5 = dwinfo.super_Dwarf_info_reader.abbrev_table_.low_abbrev_codes_;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets = pp_Var1;
  for (iVar4 = 0x100; iVar4 != 0; iVar4 = iVar4 + -1) {
    *ppAVar5 = (Abbrev_code *)0x0;
    ppAVar5 = ppAVar5 + 1;
  }
  dwinfo.declarations_._M_h._M_buckets = &dwinfo.declarations_._M_h._M_single_bucket;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_rehash_policy.
  _M_max_load_factor = 1.0;
  dwinfo.super_Dwarf_info_reader.cu_length_._4_4_ = 0;
  dwinfo.super_Dwarf_info_reader.offset_size_ = 0;
  dwinfo.super_Dwarf_info_reader.address_size_ = 0;
  dwinfo.super_Dwarf_info_reader.cu_version_ = 0;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_shndx_ = 0;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_offset_._0_4_ = 0;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_offset_._4_4_ = 0;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_ = (uchar *)0x0;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_end_ = (uchar *)0x0;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.owns_buffer_ = false;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_pos_ = (uchar *)0x0;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_element_count = 0;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_rehash_policy.
  _M_next_resize = 0;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_single_bucket =
       (__bucket_type)0x0;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_bucket_count = 1;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin._M_nxt =
       (_Hash_node_base *)0x0;
  dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_shndx_ = 0;
  dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_ = (uchar *)0x0;
  dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_end_ = (uchar *)0x0;
  dwinfo.super_Dwarf_info_reader.ranges_table_.owns_ranges_buffer_ = false;
  dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_ = (Elf_reloc_mapper *)0x0;
  dwinfo.super_Dwarf_info_reader.ranges_table_.reloc_type_ = 0;
  dwinfo.super_Dwarf_info_reader.ranges_table_.output_section_offset_._0_4_ = 0;
  dwinfo.super_Dwarf_info_reader.ranges_table_.output_section_offset_._4_4_ = 0;
  dwinfo.super_Dwarf_info_reader.reloc_mapper_ = (Elf_reloc_mapper *)0x0;
  dwinfo.super_Dwarf_info_reader.string_buffer_ = (char *)0x0;
  dwinfo.super_Dwarf_info_reader.string_buffer_end_ = (char *)0x0;
  dwinfo.super_Dwarf_info_reader.owns_string_buffer_ = false;
  dwinfo.super_Dwarf_info_reader.string_output_section_offset_._0_4_ = 0;
  dwinfo.super_Dwarf_info_reader.string_output_section_offset_._4_4_ = 0;
  dwinfo.gdb_index_ = this;
  dwinfo.cu_index_ = 0;
  dwinfo.cu_language_ = 0;
  dwinfo.declarations_._M_h._M_bucket_count = 1;
  dwinfo.declarations_._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;
  dwinfo.declarations_._M_h._M_element_count = 0;
  dwinfo.declarations_._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  dwinfo.declarations_._M_h._M_rehash_policy._M_next_resize = 0;
  dwinfo.declarations_._M_h._M_single_bucket = (__bucket_type)0x0;
  dwinfo.super_Dwarf_info_reader._vptr_Dwarf_info_reader =
       (_func_int_varargs **)&PTR__Gdb_index_info_reader_0039d950;
  dwinfo.super_Dwarf_info_reader.ranges_table_.dwinfo_ = &dwinfo.super_Dwarf_info_reader;
  if (this->pubnames_object_ != object) {
    dwinfo.super_Dwarf_info_reader.symtab_size_ = symbols_size;
                    /* try { // try from 000783eb to 00078402 has its CatchHandler @ 0007853b */
    map_pubnames_and_types_to_dies(this,&dwinfo,object,symbols,symbols_size);
    in_stack_fffffad8 = symbols_size._4_4_;
    symbols_size = dwinfo.super_Dwarf_info_reader.symtab_size_;
  }
  dwinfo.super_Dwarf_info_reader.symtab_size_ = symbols_size;
  Dwarf_info_reader::parse(&dwinfo.super_Dwarf_info_reader);
  dwinfo.super_Dwarf_info_reader._vptr_Dwarf_info_reader =
       (_func_int_varargs **)&PTR__Gdb_index_info_reader_0039d950;
  Gdb_index_info_reader::clear_declarations(&dwinfo);
  std::
  _Hashtable<long_long_int,_std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>,_std::allocator<std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
  ::~_Hashtable((_Hashtable<long_long_int,_std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>,_std::allocator<std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
                 *)&dwinfo.declarations_,in_stack_fffffad8);
  dwinfo.super_Dwarf_info_reader._vptr_Dwarf_info_reader =
       (_func_int_varargs **)&PTR__Dwarf_info_reader_003a0828;
  if (dwinfo.super_Dwarf_info_reader.reloc_mapper_ != (Elf_reloc_mapper *)0x0) {
    (*(dwinfo.super_Dwarf_info_reader.reloc_mapper_)->_vptr_Elf_reloc_mapper[1])
              (dwinfo.super_Dwarf_info_reader.reloc_mapper_);
  }
  if ((dwinfo.super_Dwarf_info_reader.owns_string_buffer_ != false) &&
     (dwinfo.super_Dwarf_info_reader.string_buffer_ != (char *)0x0)) {
    operator_delete__(dwinfo.super_Dwarf_info_reader.string_buffer_);
  }
  if ((dwinfo.super_Dwarf_info_reader.ranges_table_.owns_ranges_buffer_ != false) &&
     (dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_ != (uchar *)0x0)) {
    operator_delete__(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_);
  }
  if (dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_ != (Elf_reloc_mapper *)0x0)
  {
    (*(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_)->_vptr_Elf_reloc_mapper[1]
    )(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_);
  }
  if ((dwinfo.super_Dwarf_info_reader.abbrev_table_.owns_buffer_ != false) &&
     (dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_ != (uchar *)0x0)) {
    operator_delete__(dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_);
  }
  Dwarf_abbrev_table::clear_abbrev_codes(&dwinfo.super_Dwarf_info_reader.abbrev_table_);
  _Var3 = dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin;
  while (_Var3._M_nxt != (_Hash_node_base *)0x0) {
    p_Var2 = (_Var3._M_nxt)->_M_nxt;
    operator_delete(_Var3._M_nxt);
    _Var3._M_nxt = p_Var2;
  }
  memset(dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets,0,
         dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_bucket_count << 2);
  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_element_count = 0;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin._M_nxt =
       (_Hash_node_base *)0x0;
  if (dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets != pp_Var1) {
    operator_delete(dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets)
    ;
  }
  return;
}



/* WARNING: Function: __i686.get_pc_thunk.si replaced with injection: get_pc_thunk_si */

void FUN_00078190(int param_1,undefined1 param_2,int param_3,undefined4 param_4,undefined4 param_5,
                 undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9)

{
  undefined4 *puVar1;
  int iVar2;
  undefined4 *puVar3;
  undefined **local_508;
  undefined1 local_504;
  int local_500;
  undefined4 local_4fc;
  undefined4 local_4f8;
  undefined4 local_4f4;
  undefined4 local_4f0;
  undefined4 local_4ec;
  undefined4 local_4e8;
  undefined4 local_4e4;
  undefined4 local_4e0;
  undefined4 local_4dc;
  undefined4 local_4d8;
  undefined4 local_4d4;
  undefined4 local_4d0;
  undefined4 local_4cc;
  undefined4 local_4c8;
  undefined4 local_4c4;
  undefined4 local_4c0;
  undefined4 local_4bc;
  undefined4 local_4b8;
  undefined4 local_4b4;
  undefined4 local_4b0;
  int local_4ac;
  undefined4 local_4a8;
  char local_4a4;
  undefined4 local_4a0;
  undefined4 local_49c [256];
  undefined4 *local_9c;
  int local_98;
  undefined4 *local_94;
  undefined4 local_90;
  undefined4 local_8c;
  undefined4 local_88;
  undefined4 local_84;
  undefined ***local_80;
  undefined4 local_7c;
  int local_78;
  undefined4 local_74;
  char local_70;
  int *local_6c;
  undefined4 local_68;
  undefined4 local_64;
  undefined4 local_60;
  int *local_5c;
  int local_58;
  undefined4 local_54;
  char local_50;
  undefined4 local_4c;
  undefined4 local_48;
  int local_44;
  undefined4 local_40;
  undefined4 local_3c;
  undefined4 *local_38;
  undefined4 local_34;
  undefined4 local_30;
  undefined4 local_2c;
  undefined4 local_28;
  undefined4 local_24;
  undefined4 local_20 [4];
  
  local_4e4 = 0;
  local_4e0 = 0;
  local_504 = param_2;
  local_4fc = param_4;
  local_500 = param_3;
  local_4f4 = param_6;
  local_4f8 = param_5;
  local_4dc = 0;
  local_4f0 = param_7;
  local_4d8 = 0;
  local_4ec = param_8;
  local_4d4 = 0;
  local_4e8 = param_9;
  local_4d0 = 0;
  local_4cc = 0;
  puVar3 = local_49c;
  local_9c = &local_84;
  for (iVar2 = 0x100; iVar2 != 0; iVar2 = iVar2 + -1) {
    *puVar3 = 0;
    puVar3 = puVar3 + 1;
  }
  local_38 = local_20;
  local_8c = 0x3f800000;
  local_4c8 = 0;
  local_4c4 = 0;
  local_4c0 = 0;
  local_4bc = 0;
  local_4b8 = 0;
  local_4b4 = 0;
  local_4b0 = 0;
  local_4ac = 0;
  local_4a8 = 0;
  local_4a4 = '\0';
  local_4a0 = 0;
  local_90 = 0;
  local_88 = 0;
  local_84 = 0;
  local_98 = 1;
  local_94 = (undefined4 *)0x0;
  local_7c = 0;
  local_78 = 0;
  local_74 = 0;
  local_70 = '\0';
  local_6c = (int *)0x0;
  local_68 = 0;
  local_64 = 0;
  local_60 = 0;
  local_5c = (int *)0x0;
  local_58 = 0;
  local_54 = 0;
  local_50 = '\0';
  local_4c = 0;
  local_48 = 0;
  local_44 = param_1;
  local_40 = 0;
  local_3c = 0;
  local_34 = 1;
  local_30 = 0;
  local_2c = 0;
  local_28 = 0x3f800000;
  local_24 = 0;
  local_20[0] = 0;
  local_508 = &PTR_FUN_0039d950;
  local_80 = &local_508;
  if (*(int *)(param_1 + 0x11c) != param_3) {
                    /* try { // try from 000783eb to 00078402 has its CatchHandler @ 0007853b */
    FUN_00078080(param_1,&local_508,param_3,param_4,param_5,param_6);
  }
  FUN_001bfaa0(&local_508);
  local_508 = &PTR_FUN_0039d950;
  FUN_000773b0(&local_508);
  FUN_00079aa0(&local_38);
  local_508 = &PTR_FUN_003a0828;
  if (local_5c != (int *)0x0) {
    (**(code **)(*local_5c + 4))(local_5c);
  }
  if ((local_50 != '\0') && (local_58 != 0)) {
    FUN_001fcfc0(local_58);
  }
  if ((local_70 != '\0') && (local_78 != 0)) {
    FUN_001fcfc0(local_78);
  }
  if (local_6c != (int *)0x0) {
    (**(code **)(*local_6c + 4))(local_6c);
  }
  if ((local_4a4 != '\0') && (local_4ac != 0)) {
    FUN_001fcfc0(local_4ac);
  }
  FUN_001bda50(&local_4b8);
  puVar3 = local_94;
  while (puVar3 != (undefined4 *)0x0) {
    puVar1 = (undefined4 *)*puVar3;
    FUN_001fd020(puVar3);
    puVar3 = puVar1;
  }
  memset(local_9c,0,local_98 << 2);
  local_90 = 0;
  local_94 = (undefined4 *)0x0;
  if (local_9c != &local_84) {
    FUN_001fd020(local_9c);
  }
  return;
}


PUSH EBP
FLD1
MOV EBP,ESP
PUSH EDI
PUSH ESI
LEA EDI,[EBP + 0xfffffb68]
CALL 0x00049ed6
ADD ESI,0x331e5e
PUSH EBX
SUB ESP,0x50c
MOV EAX,dword ptr [EBP + 0x18]
MOV EDX,dword ptr [EBP + 0x1c]
MOV dword ptr [EBP + 0xfffffb20],0x0
MOV ECX,dword ptr [EBP + 0x14]
MOV EBX,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + 0xfffffb24],0x0
MOV dword ptr [EBP + 0xfffffae8],EAX
MOV EAX,dword ptr [EBP + 0xc]
MOV dword ptr [EBP + 0xfffffaec],EDX
MOV EDX,dword ptr [EBP + 0xfffffaec]
MOV byte ptr [EBP + 0xfffffb00],AL
MOV EAX,dword ptr [EBP + 0x10]
MOV dword ptr [EBP + 0xfffffb08],ECX
MOV ECX,0x100
MOV dword ptr [EBP + 0xfffffb04],EAX
MOV EAX,dword ptr [EBP + 0xfffffae8]
MOV dword ptr [EBP + 0xfffffb10],EDX
LEA EDX,[EBP + 0xfffffafc]
MOV dword ptr [EBP + 0xfffffb0c],EAX
MOV EAX,dword ptr [EBP + 0x20]
MOV dword ptr [EBP + 0xfffffb28],0x0
MOV dword ptr [EBP + 0xfffffb14],EAX
MOV EAX,dword ptr [EBP + 0x24]
MOV dword ptr [EBP + 0xfffffb2c],0x0
MOV dword ptr [EBP + 0xfffffb18],EAX
MOV EAX,dword ptr [EBP + 0x28]
MOV dword ptr [EBP + 0xfffffb30],0x0
MOV dword ptr [EBP + 0xfffffb1c],EAX
LEA EAX,[EBP + -0x80]
MOV dword ptr [EBP + 0xfffffb34],0x0
MOV dword ptr [EBP + 0xfffffb38],0x0
MOV dword ptr [EBP + 0xfffffaf0],EAX
MOV dword ptr [EBP + 0xffffff68],EAX
XOR EAX,EAX
STOSD.REP ES:EDI
LEA EAX,[EBP + -0x1c]
FST dword ptr [EBP + 0xffffff78]
LEA EDI,[ESI + 0xffff3950]
MOV dword ptr [EBP + 0xfffffb3c],0x0
MOV dword ptr [EBP + 0xfffffb40],0x0
MOV dword ptr [EBP + 0xfffffb44],0x0
MOV dword ptr [EBP + 0xfffffb48],0x0
MOV dword ptr [EBP + 0xfffffb4c],0x0
MOV dword ptr [EBP + 0xfffffb50],0x0
MOV dword ptr [EBP + 0xfffffb54],0x0
MOV dword ptr [EBP + 0xfffffb58],0x0
MOV dword ptr [EBP + 0xfffffb5c],0x0
MOV byte ptr [EBP + 0xfffffb60],0x0
MOV dword ptr [EBP + 0xfffffb64],0x0
MOV dword ptr [EBP + 0xffffff74],0x0
MOV dword ptr [EBP + 0xffffff7c],0x0
MOV dword ptr [EBP + -0x80],0x0
MOV dword ptr [EBP + 0xfffffaf4],EDX
MOV dword ptr [EBP + 0xffffff6c],0x1
MOV dword ptr [EBP + 0xffffff70],0x0
MOV dword ptr [EBP + -0x7c],EDX
MOV dword ptr [EBP + -0x78],0x0
MOV dword ptr [EBP + -0x74],0x0
MOV dword ptr [EBP + -0x70],0x0
MOV byte ptr [EBP + -0x6c],0x0
MOV dword ptr [EBP + -0x68],0x0
MOV dword ptr [EBP + -0x64],0x0
MOV dword ptr [EBP + -0x60],0x0
MOV dword ptr [EBP + -0x5c],0x0
MOV dword ptr [EBP + -0x58],0x0
MOV dword ptr [EBP + -0x54],0x0
MOV dword ptr [EBP + -0x50],0x0
MOV dword ptr [EBP + -0x34],EAX
MOV EAX,dword ptr [EBP + 0x10]
MOV byte ptr [EBP + -0x4c],0x0
MOV dword ptr [EBP + -0x48],0x0
MOV dword ptr [EBP + -0x44],0x0
MOV dword ptr [EBP + 0xfffffafc],EDI
MOV dword ptr [EBP + -0x40],EBX
MOV dword ptr [EBP + -0x3c],0x0
MOV dword ptr [EBP + -0x38],0x0
MOV dword ptr [EBP + -0x30],0x1
MOV dword ptr [EBP + -0x2c],0x0
MOV dword ptr [EBP + -0x28],0x0
FSTP dword ptr [EBP + -0x24]
MOV dword ptr [EBP + -0x20],0x0
MOV dword ptr [EBP + -0x1c],0x0
CMP dword ptr [EBX + 0x11c],EAX
JZ 0x000783f3
SUB ESP,0x8
PUSH dword ptr [EBP + 0xfffffaec]
PUSH dword ptr [EBP + 0xfffffae8]
PUSH dword ptr [EBP + 0x14]
PUSH dword ptr [EBP + 0x10]
PUSH dword ptr [EBP + 0xfffffaf4]
PUSH EBX
CALL 0x00078080
ADD ESP,0x20
SUB ESP,0xc
PUSH dword ptr [EBP + 0xfffffaf4]
MOV EBX,ESI
CALL 0x001bfaa0
POP EAX
PUSH dword ptr [EBP + 0xfffffaf4]
MOV dword ptr [EBP + 0xfffffafc],EDI
CALL 0x000773b0
LEA EAX,[EBP + -0x34]
MOV dword ptr [ESP],EAX
CALL 0x00079aa0
LEA EAX,[ESI + 0xffff6820]
ADD ESP,0x10
ADD EAX,0x8
MOV dword ptr [EBP + 0xfffffafc],EAX
MOV EAX,dword ptr [EBP + -0x58]
TEST EAX,EAX
JZ 0x00078445
SUB ESP,0xc
MOV EDX,dword ptr [EAX]
PUSH EAX
CALL dword ptr [EDX + 0x4]
ADD ESP,0x10
CMP byte ptr [EBP + -0x4c],0x0
JZ 0x00078460
MOV EAX,dword ptr [EBP + -0x54]
TEST EAX,EAX
JZ 0x00078460
SUB ESP,0xc
MOV EBX,ESI
PUSH EAX
CALL 0x001fcfc0
ADD ESP,0x10
CMP byte ptr [EBP + -0x6c],0x0
JZ 0x0007847b
MOV EAX,dword ptr [EBP + -0x74]
TEST EAX,EAX
JZ 0x0007847b
SUB ESP,0xc
MOV EBX,ESI
PUSH EAX
CALL 0x001fcfc0
ADD ESP,0x10
MOV EAX,dword ptr [EBP + -0x68]
TEST EAX,EAX
JZ 0x0007848e
SUB ESP,0xc
MOV EDX,dword ptr [EAX]
PUSH EAX
CALL dword ptr [EDX + 0x4]
ADD ESP,0x10
CMP byte ptr [EBP + 0xfffffb60],0x0
JZ 0x000784af
MOV EAX,dword ptr [EBP + 0xfffffb58]
TEST EAX,EAX
JZ 0x000784af
SUB ESP,0xc
MOV EBX,ESI
PUSH EAX
CALL 0x001fcfc0
ADD ESP,0x10
SUB ESP,0xc
LEA EAX,[EBP + 0xfffffb4c]
MOV EBX,ESI
PUSH EAX
CALL 0x001bda50
MOV EAX,dword ptr [EBP + 0xffffff70]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000784e6
LEA ESI,[ESI]
SUB ESP,0xc
MOV EDI,dword ptr [EAX]
MOV EBX,ESI
PUSH EAX
CALL 0x001fd020
MOV EAX,EDI
ADD ESP,0x10
TEST EDI,EDI
JNZ 0x000784d0
MOV EAX,dword ptr [EBP + 0xffffff6c]
SUB ESP,0x4
MOV EBX,ESI
SHL EAX,0x2
PUSH EAX
PUSH 0x0
PUSH dword ptr [EBP + 0xffffff68]
CALL 0x0002a300
MOV EAX,dword ptr [EBP + 0xffffff68]
ADD ESP,0x10
MOV dword ptr [EBP + 0xffffff74],0x0
MOV dword ptr [EBP + 0xffffff70],0x0
CMP EAX,dword ptr [EBP + 0xfffffaf0]
JZ 0x00078533
SUB ESP,0xc
PUSH EAX
CALL 0x001fd020
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.si replaced with injection: get_pc_thunk_si */\n\nvoid FUN_00078190(int param_1,undefined1 param_2,int param_3,undefined4 param_4,undefined4 param_5,\n                 undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  undefined **local_508;\n  undefined1 local_504;\n  int local_500;\n  undefined4 local_4fc;\n  undefined4 local_4f8;\n  undefined4 local_4f4;\n  undefined4 local_4f0;\n  undefined4 local_4ec;\n  undefined4 local_4e8;\n  undefined4 local_4e4;\n  undefined4 local_4e0;\n  undefined4 local_4dc;\n  undefined4 local_4d8;\n  undefined4 local_4d4;\n  undefined4 local_4d0;\n  undefined4 local_4cc;\n  undefined4 local_4c8;\n  undefined4 local_4c4;\n  undefined4 local_4c0;\n  undefined4 local_4bc;\n  undefined4 local_4b8;\n  undefined4 local_4b4;\n  undefined4 local_4b0;\n  int local_4ac;\n  undefined4 local_4a8;\n  char local_4a4;\n  undefined4 local_4a0;\n  undefined4 local_49c [256];\n  undefined4 *local_9c;\n  int local_98;\n  undefined4 *local_94;\n  undefined4 local_90;\n  undefined4 local_8c;\n  undefined4 local_88;\n  undefined4 local_84;\n  undefined ***local_80;\n  undefined4 local_7c;\n  int local_78;\n  undefined4 local_74;\n  char local_70;\n  int *local_6c;\n  undefined4 local_68;\n  undefined4 local_64;\n  undefined4 local_60;\n  int *local_5c;\n  int local_58;\n  undefined4 local_54;\n  char local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  int local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20 [4];\n  \n  local_4e4 = 0;\n  local_4e0 = 0;\n  local_504 = param_2;\n  local_4fc = param_4;\n  local_500 = param_3;\n  local_4f4 = param_6;\n  local_4f8 = param_5;\n  local_4dc = 0;\n  local_4f0 = param_7;\n  local_4d8 = 0;\n  local_4ec = param_8;\n  local_4d4 = 0;\n  local_4e8 = param_9;\n  local_4d0 = 0;\n  local_4cc = 0;\n  puVar3 = local_49c;\n  local_9c = &local_84;\n  for (iVar2 = 0x100; iVar2 != 0; iVar2 = iVar2 + -1) {\n    *puVar3 = 0;\n    puVar3 = puVar3 + 1;\n  }\n  local_38 = local_20;\n  local_8c = 0x3f800000;\n  local_4c8 = 0;\n  local_4c4 = 0;\n  local_4c0 = 0;\n  local_4bc = 0;\n  local_4b8 = 0;\n  local_4b4 = 0;\n  local_4b0 = 0;\n  local_4ac = 0;\n  local_4a8 = 0;\n  local_4a4 = '\0';\n  local_4a0 = 0;\n  local_90 = 0;\n  local_88 = 0;\n  local_84 = 0;\n  local_98 = 1;\n  local_94 = (undefined4 *)0x0;\n  local_7c = 0;\n  local_78 = 0;\n  local_74 = 0;\n  local_70 = '\0';\n  local_6c = (int *)0x0;\n  local_68 = 0;\n  local_64 = 0;\n  local_60 = 0;\n  local_5c = (int *)0x0;\n  local_58 = 0;\n  local_54 = 0;\n  local_50 = '\0';\n  local_4c = 0;\n  local_48 = 0;\n  local_44 = param_1;\n  local_40 = 0;\n  local_3c = 0;\n  local_34 = 1;\n  local_30 = 0;\n  local_2c = 0;\n  local_28 = 0x3f800000;\n  local_24 = 0;\n  local_20[0] = 0;\n  local_508 = &PTR_FUN_0039d950;\n  local_80 = &local_508;\n  if (*(int *)(param_1 + 0x11c) != param_3) {\n                    /* try { // try from 000783eb to 00078402 has its CatchHandler @ 0007853b */\n    FUN_00078080(param_1,&local_508,param_3,param_4,param_5,param_6);\n  }\n  FUN_001bfaa0(&local_508);\n  local_508 = &PTR_FUN_0039d950;\n  FUN_000773b0(&local_508);\n  FUN_00079aa0(&local_38);\n  local_508 = &PTR_FUN_003a0828;\n  if (local_5c != (int *)0x0) {\n    (**(code **)(*local_5c + 4))(local_5c);\n  }\n  if ((local_50 != '\0') && (local_58 != 0)) {\n    FUN_001fcfc0(local_58);\n  }\n  if ((local_70 != '\0') && (local_78 != 0)) {\n    FUN_001fcfc0(local_78);\n  }\n  if (local_6c != (int *)0x0) {\n    (**(code **)(*local_6c + 4))(local_6c);\n  }\n  if ((local_4a4 != '\0') && (local_4ac != 0)) {\n    FUN_001fcfc0(local_4ac);\n  }\n  FUN_001bda50(&local_4b8);\n  puVar3 = local_94;\n  while (puVar3 != (undefined4 *)0x0) {\n    puVar1 = (undefined4 *)*puVar3;\n    FUN_001fd020(puVar3);\n    puVar3 = puVar1;\n  }\n  memset(local_9c,0,local_98 << 2);\n  local_90 = 0;\n  local_94 = (undefined4 *)0x0;\n  if (local_9c != &local_84) {\n    FUN_001fd020(local_9c);\n  }\n  return;\n}\n\n" comment (function_definition "void FUN_00078190(int param_1,undefined1 param_2,int param_3,undefined4 param_4,undefined4 param_5,\n                 undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  undefined **local_508;\n  undefined1 local_504;\n  int local_500;\n  undefined4 local_4fc;\n  undefined4 local_4f8;\n  undefined4 local_4f4;\n  undefined4 local_4f0;\n  undefined4 local_4ec;\n  undefined4 local_4e8;\n  undefined4 local_4e4;\n  undefined4 local_4e0;\n  undefined4 local_4dc;\n  undefined4 local_4d8;\n  undefined4 local_4d4;\n  undefined4 local_4d0;\n  undefined4 local_4cc;\n  undefined4 local_4c8;\n  undefined4 local_4c4;\n  undefined4 local_4c0;\n  undefined4 local_4bc;\n  undefined4 local_4b8;\n  undefined4 local_4b4;\n  undefined4 local_4b0;\n  int local_4ac;\n  undefined4 local_4a8;\n  char local_4a4;\n  undefined4 local_4a0;\n  undefined4 local_49c [256];\n  undefined4 *local_9c;\n  int local_98;\n  undefined4 *local_94;\n  undefined4 local_90;\n  undefined4 local_8c;\n  undefined4 local_88;\n  undefined4 local_84;\n  undefined ***local_80;\n  undefined4 local_7c;\n  int local_78;\n  undefined4 local_74;\n  char local_70;\n  int *local_6c;\n  undefined4 local_68;\n  undefined4 local_64;\n  undefined4 local_60;\n  int *local_5c;\n  int local_58;\n  undefined4 local_54;\n  char local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  int local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20 [4];\n  \n  local_4e4 = 0;\n  local_4e0 = 0;\n  local_504 = param_2;\n  local_4fc = param_4;\n  local_500 = param_3;\n  local_4f4 = param_6;\n  local_4f8 = param_5;\n  local_4dc = 0;\n  local_4f0 = param_7;\n  local_4d8 = 0;\n  local_4ec = param_8;\n  local_4d4 = 0;\n  local_4e8 = param_9;\n  local_4d0 = 0;\n  local_4cc = 0;\n  puVar3 = local_49c;\n  local_9c = &local_84;\n  for (iVar2 = 0x100; iVar2 != 0; iVar2 = iVar2 + -1) {\n    *puVar3 = 0;\n    puVar3 = puVar3 + 1;\n  }\n  local_38 = local_20;\n  local_8c = 0x3f800000;\n  local_4c8 = 0;\n  local_4c4 = 0;\n  local_4c0 = 0;\n  local_4bc = 0;\n  local_4b8 = 0;\n  local_4b4 = 0;\n  local_4b0 = 0;\n  local_4ac = 0;\n  local_4a8 = 0;\n  local_4a4 = '\0';\n  local_4a0 = 0;\n  local_90 = 0;\n  local_88 = 0;\n  local_84 = 0;\n  local_98 = 1;\n  local_94 = (undefined4 *)0x0;\n  local_7c = 0;\n  local_78 = 0;\n  local_74 = 0;\n  local_70 = '\0';\n  local_6c = (int *)0x0;\n  local_68 = 0;\n  local_64 = 0;\n  local_60 = 0;\n  local_5c = (int *)0x0;\n  local_58 = 0;\n  local_54 = 0;\n  local_50 = '\0';\n  local_4c = 0;\n  local_48 = 0;\n  local_44 = param_1;\n  local_40 = 0;\n  local_3c = 0;\n  local_34 = 1;\n  local_30 = 0;\n  local_2c = 0;\n  local_28 = 0x3f800000;\n  local_24 = 0;\n  local_20[0] = 0;\n  local_508 = &PTR_FUN_0039d950;\n  local_80 = &local_508;\n  if (*(int *)(param_1 + 0x11c) != param_3) {\n                    /* try { // try from 000783eb to 00078402 has its CatchHandler @ 0007853b */\n    FUN_00078080(param_1,&local_508,param_3,param_4,param_5,param_6);\n  }\n  FUN_001bfaa0(&local_508);\n  local_508 = &PTR_FUN_0039d950;\n  FUN_000773b0(&local_508);\n  FUN_00079aa0(&local_38);\n  local_508 = &PTR_FUN_003a0828;\n  if (local_5c != (int *)0x0) {\n    (**(code **)(*local_5c + 4))(local_5c);\n  }\n  if ((local_50 != '\0') && (local_58 != 0)) {\n    FUN_001fcfc0(local_58);\n  }\n  if ((local_70 != '\0') && (local_78 != 0)) {\n    FUN_001fcfc0(local_78);\n  }\n  if (local_6c != (int *)0x0) {\n    (**(code **)(*local_6c + 4))(local_6c);\n  }\n  if ((local_4a4 != '\0') && (local_4ac != 0)) {\n    FUN_001fcfc0(local_4ac);\n  }\n  FUN_001bda50(&local_4b8);\n  puVar3 = local_94;\n  while (puVar3 != (undefined4 *)0x0) {\n    puVar1 = (undefined4 *)*puVar3;\n    FUN_001fd020(puVar3);\n    puVar3 = puVar1;\n  }\n  memset(local_9c,0,local_98 << 2);\n  local_90 = 0;\n  local_94 = (undefined4 *)0x0;\n  if (local_9c != &local_84) {\n    FUN_001fd020(local_9c);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00078190(int param_1,undefined1 param_2,int param_3,undefined4 param_4,undefined4 param_5,\n                 undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9)" identifier (parameter_list "(int param_1,undefined1 param_2,int param_3,undefined4 param_4,undefined4 param_5,\n                 undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined1 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "undefined4 param_7" type_identifier identifier) , (parameter_declaration "undefined4 param_8" type_identifier identifier) , (parameter_declaration "undefined4 param_9" type_identifier identifier) ))) (compound_statement "{\n  undefined4 *puVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  undefined **local_508;\n  undefined1 local_504;\n  int local_500;\n  undefined4 local_4fc;\n  undefined4 local_4f8;\n  undefined4 local_4f4;\n  undefined4 local_4f0;\n  undefined4 local_4ec;\n  undefined4 local_4e8;\n  undefined4 local_4e4;\n  undefined4 local_4e0;\n  undefined4 local_4dc;\n  undefined4 local_4d8;\n  undefined4 local_4d4;\n  undefined4 local_4d0;\n  undefined4 local_4cc;\n  undefined4 local_4c8;\n  undefined4 local_4c4;\n  undefined4 local_4c0;\n  undefined4 local_4bc;\n  undefined4 local_4b8;\n  undefined4 local_4b4;\n  undefined4 local_4b0;\n  int local_4ac;\n  undefined4 local_4a8;\n  char local_4a4;\n  undefined4 local_4a0;\n  undefined4 local_49c [256];\n  undefined4 *local_9c;\n  int local_98;\n  undefined4 *local_94;\n  undefined4 local_90;\n  undefined4 local_8c;\n  undefined4 local_88;\n  undefined4 local_84;\n  undefined ***local_80;\n  undefined4 local_7c;\n  int local_78;\n  undefined4 local_74;\n  char local_70;\n  int *local_6c;\n  undefined4 local_68;\n  undefined4 local_64;\n  undefined4 local_60;\n  int *local_5c;\n  int local_58;\n  undefined4 local_54;\n  char local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  int local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20 [4];\n  \n  local_4e4 = 0;\n  local_4e0 = 0;\n  local_504 = param_2;\n  local_4fc = param_4;\n  local_500 = param_3;\n  local_4f4 = param_6;\n  local_4f8 = param_5;\n  local_4dc = 0;\n  local_4f0 = param_7;\n  local_4d8 = 0;\n  local_4ec = param_8;\n  local_4d4 = 0;\n  local_4e8 = param_9;\n  local_4d0 = 0;\n  local_4cc = 0;\n  puVar3 = local_49c;\n  local_9c = &local_84;\n  for (iVar2 = 0x100; iVar2 != 0; iVar2 = iVar2 + -1) {\n    *puVar3 = 0;\n    puVar3 = puVar3 + 1;\n  }\n  local_38 = local_20;\n  local_8c = 0x3f800000;\n  local_4c8 = 0;\n  local_4c4 = 0;\n  local_4c0 = 0;\n  local_4bc = 0;\n  local_4b8 = 0;\n  local_4b4 = 0;\n  local_4b0 = 0;\n  local_4ac = 0;\n  local_4a8 = 0;\n  local_4a4 = '\0';\n  local_4a0 = 0;\n  local_90 = 0;\n  local_88 = 0;\n  local_84 = 0;\n  local_98 = 1;\n  local_94 = (undefined4 *)0x0;\n  local_7c = 0;\n  local_78 = 0;\n  local_74 = 0;\n  local_70 = '\0';\n  local_6c = (int *)0x0;\n  local_68 = 0;\n  local_64 = 0;\n  local_60 = 0;\n  local_5c = (int *)0x0;\n  local_58 = 0;\n  local_54 = 0;\n  local_50 = '\0';\n  local_4c = 0;\n  local_48 = 0;\n  local_44 = param_1;\n  local_40 = 0;\n  local_3c = 0;\n  local_34 = 1;\n  local_30 = 0;\n  local_2c = 0;\n  local_28 = 0x3f800000;\n  local_24 = 0;\n  local_20[0] = 0;\n  local_508 = &PTR_FUN_0039d950;\n  local_80 = &local_508;\n  if (*(int *)(param_1 + 0x11c) != param_3) {\n                    /* try { // try from 000783eb to 00078402 has its CatchHandler @ 0007853b */\n    FUN_00078080(param_1,&local_508,param_3,param_4,param_5,param_6);\n  }\n  FUN_001bfaa0(&local_508);\n  local_508 = &PTR_FUN_0039d950;\n  FUN_000773b0(&local_508);\n  FUN_00079aa0(&local_38);\n  local_508 = &PTR_FUN_003a0828;\n  if (local_5c != (int *)0x0) {\n    (**(code **)(*local_5c + 4))(local_5c);\n  }\n  if ((local_50 != '\0') && (local_58 != 0)) {\n    FUN_001fcfc0(local_58);\n  }\n  if ((local_70 != '\0') && (local_78 != 0)) {\n    FUN_001fcfc0(local_78);\n  }\n  if (local_6c != (int *)0x0) {\n    (**(code **)(*local_6c + 4))(local_6c);\n  }\n  if ((local_4a4 != '\0') && (local_4ac != 0)) {\n    FUN_001fcfc0(local_4ac);\n  }\n  FUN_001bda50(&local_4b8);\n  puVar3 = local_94;\n  while (puVar3 != (undefined4 *)0x0) {\n    puVar1 = (undefined4 *)*puVar3;\n    FUN_001fd020(puVar3);\n    puVar3 = puVar1;\n  }\n  memset(local_9c,0,local_98 << 2);\n  local_90 = 0;\n  local_94 = (undefined4 *)0x0;\n  if (local_9c != &local_84) {\n    FUN_001fd020(local_9c);\n  }\n  return;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined **local_508;" type_identifier (pointer_declarator "**local_508" * (pointer_declarator "*local_508" * identifier)) ;) (declaration "undefined1 local_504;" type_identifier identifier ;) (declaration "int local_500;" primitive_type identifier ;) (declaration "undefined4 local_4fc;" type_identifier identifier ;) (declaration "undefined4 local_4f8;" type_identifier identifier ;) (declaration "undefined4 local_4f4;" type_identifier identifier ;) (declaration "undefined4 local_4f0;" type_identifier identifier ;) (declaration "undefined4 local_4ec;" type_identifier identifier ;) (declaration "undefined4 local_4e8;" type_identifier identifier ;) (declaration "undefined4 local_4e4;" type_identifier identifier ;) (declaration "undefined4 local_4e0;" type_identifier identifier ;) (declaration "undefined4 local_4dc;" type_identifier identifier ;) (declaration "undefined4 local_4d8;" type_identifier identifier ;) (declaration "undefined4 local_4d4;" type_identifier identifier ;) (declaration "undefined4 local_4d0;" type_identifier identifier ;) (declaration "undefined4 local_4cc;" type_identifier identifier ;) (declaration "undefined4 local_4c8;" type_identifier identifier ;) (declaration "undefined4 local_4c4;" type_identifier identifier ;) (declaration "undefined4 local_4c0;" type_identifier identifier ;) (declaration "undefined4 local_4bc;" type_identifier identifier ;) (declaration "undefined4 local_4b8;" type_identifier identifier ;) (declaration "undefined4 local_4b4;" type_identifier identifier ;) (declaration "undefined4 local_4b0;" type_identifier identifier ;) (declaration "int local_4ac;" primitive_type identifier ;) (declaration "undefined4 local_4a8;" type_identifier identifier ;) (declaration "char local_4a4;" primitive_type identifier ;) (declaration "undefined4 local_4a0;" type_identifier identifier ;) (declaration "undefined4 local_49c [256];" type_identifier (array_declarator "local_49c [256]" identifier [ number_literal ]) ;) (declaration "undefined4 *local_9c;" type_identifier (pointer_declarator "*local_9c" * identifier) ;) (declaration "int local_98;" primitive_type identifier ;) (declaration "undefined4 *local_94;" type_identifier (pointer_declarator "*local_94" * identifier) ;) (declaration "undefined4 local_90;" type_identifier identifier ;) (declaration "undefined4 local_8c;" type_identifier identifier ;) (declaration "undefined4 local_88;" type_identifier identifier ;) (declaration "undefined4 local_84;" type_identifier identifier ;) (declaration "undefined ***local_80;" type_identifier (pointer_declarator "***local_80" * (pointer_declarator "**local_80" * (pointer_declarator "*local_80" * identifier))) ;) (declaration "undefined4 local_7c;" type_identifier identifier ;) (declaration "int local_78;" primitive_type identifier ;) (declaration "undefined4 local_74;" type_identifier identifier ;) (declaration "char local_70;" primitive_type identifier ;) (declaration "int *local_6c;" primitive_type (pointer_declarator "*local_6c" * identifier) ;) (declaration "undefined4 local_68;" type_identifier identifier ;) (declaration "undefined4 local_64;" type_identifier identifier ;) (declaration "undefined4 local_60;" type_identifier identifier ;) (declaration "int *local_5c;" primitive_type (pointer_declarator "*local_5c" * identifier) ;) (declaration "int local_58;" primitive_type identifier ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "char local_50;" primitive_type identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined4 local_20 [4];" type_identifier (array_declarator "local_20 [4]" identifier [ number_literal ]) ;) (expression_statement "local_4e4 = 0;" (assignment_expression "local_4e4 = 0" identifier = number_literal) ;) (expression_statement "local_4e0 = 0;" (assignment_expression "local_4e0 = 0" identifier = number_literal) ;) (expression_statement "local_504 = param_2;" (assignment_expression "local_504 = param_2" identifier = identifier) ;) (expression_statement "local_4fc = param_4;" (assignment_expression "local_4fc = param_4" identifier = identifier) ;) (expression_statement "local_500 = param_3;" (assignment_expression "local_500 = param_3" identifier = identifier) ;) (expression_statement "local_4f4 = param_6;" (assignment_expression "local_4f4 = param_6" identifier = identifier) ;) (expression_statement "local_4f8 = param_5;" (assignment_expression "local_4f8 = param_5" identifier = identifier) ;) (expression_statement "local_4dc = 0;" (assignment_expression "local_4dc = 0" identifier = number_literal) ;) (expression_statement "local_4f0 = param_7;" (assignment_expression "local_4f0 = param_7" identifier = identifier) ;) (expression_statement "local_4d8 = 0;" (assignment_expression "local_4d8 = 0" identifier = number_literal) ;) (expression_statement "local_4ec = param_8;" (assignment_expression "local_4ec = param_8" identifier = identifier) ;) (expression_statement "local_4d4 = 0;" (assignment_expression "local_4d4 = 0" identifier = number_literal) ;) (expression_statement "local_4e8 = param_9;" (assignment_expression "local_4e8 = param_9" identifier = identifier) ;) (expression_statement "local_4d0 = 0;" (assignment_expression "local_4d0 = 0" identifier = number_literal) ;) (expression_statement "local_4cc = 0;" (assignment_expression "local_4cc = 0" identifier = number_literal) ;) (expression_statement "puVar3 = local_49c;" (assignment_expression "puVar3 = local_49c" identifier = identifier) ;) (expression_statement "local_9c = &local_84;" (assignment_expression "local_9c = &local_84" identifier = (pointer_expression "&local_84" & identifier)) ;) (for_statement "for (iVar2 = 0x100; iVar2 != 0; iVar2 = iVar2 + -1) {\n    *puVar3 = 0;\n    puVar3 = puVar3 + 1;\n  }" for ( (assignment_expression "iVar2 = 0x100" identifier = number_literal) ; (binary_expression "iVar2 != 0" identifier != number_literal) ; (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) ) (compound_statement "{\n    *puVar3 = 0;\n    puVar3 = puVar3 + 1;\n  }" { (expression_statement "*puVar3 = 0;" (assignment_expression "*puVar3 = 0" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (expression_statement "puVar3 = puVar3 + 1;" (assignment_expression "puVar3 = puVar3 + 1" identifier = (binary_expression "puVar3 + 1" identifier + number_literal)) ;) })) (expression_statement "local_38 = local_20;" (assignment_expression "local_38 = local_20" identifier = identifier) ;) (expression_statement "local_8c = 0x3f800000;" (assignment_expression "local_8c = 0x3f800000" identifier = number_literal) ;) (expression_statement "local_4c8 = 0;" (assignment_expression "local_4c8 = 0" identifier = number_literal) ;) (expression_statement "local_4c4 = 0;" (assignment_expression "local_4c4 = 0" identifier = number_literal) ;) (expression_statement "local_4c0 = 0;" (assignment_expression "local_4c0 = 0" identifier = number_literal) ;) (expression_statement "local_4bc = 0;" (assignment_expression "local_4bc = 0" identifier = number_literal) ;) (expression_statement "local_4b8 = 0;" (assignment_expression "local_4b8 = 0" identifier = number_literal) ;) (expression_statement "local_4b4 = 0;" (assignment_expression "local_4b4 = 0" identifier = number_literal) ;) (expression_statement "local_4b0 = 0;" (assignment_expression "local_4b0 = 0" identifier = number_literal) ;) (expression_statement "local_4ac = 0;" (assignment_expression "local_4ac = 0" identifier = number_literal) ;) (expression_statement "local_4a8 = 0;" (assignment_expression "local_4a8 = 0" identifier = number_literal) ;) (expression_statement "local_4a4 = '\0';" (assignment_expression "local_4a4 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_4a0 = 0;" (assignment_expression "local_4a0 = 0" identifier = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) (expression_statement "local_98 = 1;" (assignment_expression "local_98 = 1" identifier = number_literal) ;) (expression_statement "local_94 = (undefined4 *)0x0;" (assignment_expression "local_94 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" identifier = number_literal) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (expression_statement "local_70 = '\0';" (assignment_expression "local_70 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_6c = (int *)0x0;" (assignment_expression "local_6c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_5c = (int *)0x0;" (assignment_expression "local_5c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_50 = '\0';" (assignment_expression "local_50 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "local_44 = param_1;" (assignment_expression "local_44 = param_1" identifier = identifier) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_34 = 1;" (assignment_expression "local_34 = 1" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) (expression_statement "local_28 = 0x3f800000;" (assignment_expression "local_28 = 0x3f800000" identifier = number_literal) ;) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (expression_statement "local_20[0] = 0;" (assignment_expression "local_20[0] = 0" (subscript_expression "local_20[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_508 = &PTR_FUN_0039d950;" (assignment_expression "local_508 = &PTR_FUN_0039d950" identifier = (pointer_expression "&PTR_FUN_0039d950" & identifier)) ;) (expression_statement "local_80 = &local_508;" (assignment_expression "local_80 = &local_508" identifier = (pointer_expression "&local_508" & identifier)) ;) (if_statement "if (*(int *)(param_1 + 0x11c) != param_3) {\n                    /* try { // try from 000783eb to 00078402 has its CatchHandler @ 0007853b */\n    FUN_00078080(param_1,&local_508,param_3,param_4,param_5,param_6);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x11c) != param_3)" ( (binary_expression "*(int *)(param_1 + 0x11c) != param_3" (pointer_expression "*(int *)(param_1 + 0x11c)" * (cast_expression "(int *)(param_1 + 0x11c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x11c)" ( (binary_expression "param_1 + 0x11c" identifier + number_literal) )))) != identifier) )) (compound_statement "{\n                    /* try { // try from 000783eb to 00078402 has its CatchHandler @ 0007853b */\n    FUN_00078080(param_1,&local_508,param_3,param_4,param_5,param_6);\n  }" { comment (expression_statement "FUN_00078080(param_1,&local_508,param_3,param_4,param_5,param_6);" (call_expression "FUN_00078080(param_1,&local_508,param_3,param_4,param_5,param_6)" identifier (argument_list "(param_1,&local_508,param_3,param_4,param_5,param_6)" ( identifier , (pointer_expression "&local_508" & identifier) , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "FUN_001bfaa0(&local_508);" (call_expression "FUN_001bfaa0(&local_508)" identifier (argument_list "(&local_508)" ( (pointer_expression "&local_508" & identifier) ))) ;) (expression_statement "local_508 = &PTR_FUN_0039d950;" (assignment_expression "local_508 = &PTR_FUN_0039d950" identifier = (pointer_expression "&PTR_FUN_0039d950" & identifier)) ;) (expression_statement "FUN_000773b0(&local_508);" (call_expression "FUN_000773b0(&local_508)" identifier (argument_list "(&local_508)" ( (pointer_expression "&local_508" & identifier) ))) ;) (expression_statement "FUN_00079aa0(&local_38);" (call_expression "FUN_00079aa0(&local_38)" identifier (argument_list "(&local_38)" ( (pointer_expression "&local_38" & identifier) ))) ;) (expression_statement "local_508 = &PTR_FUN_003a0828;" (assignment_expression "local_508 = &PTR_FUN_003a0828" identifier = (pointer_expression "&PTR_FUN_003a0828" & identifier)) ;) (if_statement "if (local_5c != (int *)0x0) {\n    (**(code **)(*local_5c + 4))(local_5c);\n  }" if (parenthesized_expression "(local_5c != (int *)0x0)" ( (binary_expression "local_5c != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(*local_5c + 4))(local_5c);\n  }" { (expression_statement "(**(code **)(*local_5c + 4))(local_5c);" (call_expression "(**(code **)(*local_5c + 4))(local_5c)" (parenthesized_expression "(**(code **)(*local_5c + 4))" ( (pointer_expression "**(code **)(*local_5c + 4)" * (pointer_expression "*(code **)(*local_5c + 4)" * (cast_expression "(code **)(*local_5c + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_5c + 4)" ( (binary_expression "*local_5c + 4" (pointer_expression "*local_5c" * identifier) + number_literal) ))))) )) (argument_list "(local_5c)" ( identifier ))) ;) })) (if_statement "if ((local_50 != '\0') && (local_58 != 0)) {\n    FUN_001fcfc0(local_58);\n  }" if (parenthesized_expression "((local_50 != '\0') && (local_58 != 0))" ( (binary_expression "(local_50 != '\0') && (local_58 != 0)" (parenthesized_expression "(local_50 != '\0')" ( (binary_expression "local_50 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(local_58 != 0)" ( (binary_expression "local_58 != 0" identifier != number_literal) ))) )) (compound_statement "{\n    FUN_001fcfc0(local_58);\n  }" { (expression_statement "FUN_001fcfc0(local_58);" (call_expression "FUN_001fcfc0(local_58)" identifier (argument_list "(local_58)" ( identifier ))) ;) })) (if_statement "if ((local_70 != '\0') && (local_78 != 0)) {\n    FUN_001fcfc0(local_78);\n  }" if (parenthesized_expression "((local_70 != '\0') && (local_78 != 0))" ( (binary_expression "(local_70 != '\0') && (local_78 != 0)" (parenthesized_expression "(local_70 != '\0')" ( (binary_expression "local_70 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(local_78 != 0)" ( (binary_expression "local_78 != 0" identifier != number_literal) ))) )) (compound_statement "{\n    FUN_001fcfc0(local_78);\n  }" { (expression_statement "FUN_001fcfc0(local_78);" (call_expression "FUN_001fcfc0(local_78)" identifier (argument_list "(local_78)" ( identifier ))) ;) })) (if_statement "if (local_6c != (int *)0x0) {\n    (**(code **)(*local_6c + 4))(local_6c);\n  }" if (parenthesized_expression "(local_6c != (int *)0x0)" ( (binary_expression "local_6c != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(*local_6c + 4))(local_6c);\n  }" { (expression_statement "(**(code **)(*local_6c + 4))(local_6c);" (call_expression "(**(code **)(*local_6c + 4))(local_6c)" (parenthesized_expression "(**(code **)(*local_6c + 4))" ( (pointer_expression "**(code **)(*local_6c + 4)" * (pointer_expression "*(code **)(*local_6c + 4)" * (cast_expression "(code **)(*local_6c + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_6c + 4)" ( (binary_expression "*local_6c + 4" (pointer_expression "*local_6c" * identifier) + number_literal) ))))) )) (argument_list "(local_6c)" ( identifier ))) ;) })) (if_statement "if ((local_4a4 != '\0') && (local_4ac != 0)) {\n    FUN_001fcfc0(local_4ac);\n  }" if (parenthesized_expression "((local_4a4 != '\0') && (local_4ac != 0))" ( (binary_expression "(local_4a4 != '\0') && (local_4ac != 0)" (parenthesized_expression "(local_4a4 != '\0')" ( (binary_expression "local_4a4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(local_4ac != 0)" ( (binary_expression "local_4ac != 0" identifier != number_literal) ))) )) (compound_statement "{\n    FUN_001fcfc0(local_4ac);\n  }" { (expression_statement "FUN_001fcfc0(local_4ac);" (call_expression "FUN_001fcfc0(local_4ac)" identifier (argument_list "(local_4ac)" ( identifier ))) ;) })) (expression_statement "FUN_001bda50(&local_4b8);" (call_expression "FUN_001bda50(&local_4b8)" identifier (argument_list "(&local_4b8)" ( (pointer_expression "&local_4b8" & identifier) ))) ;) (expression_statement "puVar3 = local_94;" (assignment_expression "puVar3 = local_94" identifier = identifier) ;) (while_statement "while (puVar3 != (undefined4 *)0x0) {\n    puVar1 = (undefined4 *)*puVar3;\n    FUN_001fd020(puVar3);\n    puVar3 = puVar1;\n  }" while (parenthesized_expression "(puVar3 != (undefined4 *)0x0)" ( (binary_expression "puVar3 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar1 = (undefined4 *)*puVar3;\n    FUN_001fd020(puVar3);\n    puVar3 = puVar1;\n  }" { (expression_statement "puVar1 = (undefined4 *)*puVar3;" (assignment_expression "puVar1 = (undefined4 *)*puVar3" identifier = (cast_expression "(undefined4 *)*puVar3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier))) ;) (expression_statement "FUN_001fd020(puVar3);" (call_expression "FUN_001fd020(puVar3)" identifier (argument_list "(puVar3)" ( identifier ))) ;) (expression_statement "puVar3 = puVar1;" (assignment_expression "puVar3 = puVar1" identifier = identifier) ;) })) (expression_statement "memset(local_9c,0,local_98 << 2);" (call_expression "memset(local_9c,0,local_98 << 2)" identifier (argument_list "(local_9c,0,local_98 << 2)" ( identifier , number_literal , (binary_expression "local_98 << 2" identifier << number_literal) ))) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_94 = (undefined4 *)0x0;" (assignment_expression "local_94 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_9c != &local_84) {\n    FUN_001fd020(local_9c);\n  }" if (parenthesized_expression "(local_9c != &local_84)" ( (binary_expression "local_9c != &local_84" identifier != (pointer_expression "&local_84" & identifier)) )) (compound_statement "{\n    FUN_001fd020(local_9c);\n  }" { (expression_statement "FUN_001fd020(local_9c);" (call_expression "FUN_001fd020(local_9c)" identifier (argument_list "(local_9c)" ( identifier ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.si replaced with injection: get_pc_thunk_si */\n/* DWARF original prototype: void scan_debug_info(Gdb_index * this, bool is_type_unit, Relobj *\n   object, uchar * symbols, off_t symbols_size, uint shndx, uint reloc_shndx, uint reloc_type) */\n\nvoid __thiscall\ngold::Gdb_index::scan_debug_info\n          (Gdb_index *this,bool is_type_unit,Relobj *object,uchar *symbols,off_t symbols_size,\n          uint shndx,uint reloc_shndx,uint reloc_type)\n\n{\n  __bucket_type *pp_Var1;\n  _Hash_node_base *p_Var2;\n  __node_base _Var3;\n  int iVar4;\n  Abbrev_code **ppAVar5;\n  int in_stack_fffffad8;\n  Gdb_index_info_reader dwinfo;\n  \n  dwinfo.super_Dwarf_info_reader.abbrev_shndx_ = 0;\n  dwinfo.super_Dwarf_info_reader.string_shndx_ = 0;\n  dwinfo.super_Dwarf_info_reader.is_type_unit_ = is_type_unit;\n  dwinfo.super_Dwarf_info_reader.symtab_ = symbols;\n  dwinfo.super_Dwarf_info_reader.object_ = object;\n  dwinfo.super_Dwarf_info_reader.buffer_ = (uchar *)0x0;\n  dwinfo.super_Dwarf_info_reader.shndx_ = shndx;\n  dwinfo.super_Dwarf_info_reader.buffer_end_ = (uchar *)0x0;\n  dwinfo.super_Dwarf_info_reader.reloc_shndx_ = reloc_shndx;\n  dwinfo.super_Dwarf_info_reader.cu_offset_._0_4_ = 0;\n  dwinfo.super_Dwarf_info_reader.reloc_type_ = reloc_type;\n  pp_Var1 = &dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_single_bucket;\n  dwinfo.super_Dwarf_info_reader.cu_offset_._4_4_ = 0;\n  dwinfo.super_Dwarf_info_reader.cu_length_._0_4_ = 0;\n  ppAVar5 = dwinfo.super_Dwarf_info_reader.abbrev_table_.low_abbrev_codes_;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets = pp_Var1;\n  for (iVar4 = 0x100; iVar4 != 0; iVar4 = iVar4 + -1) {\n    *ppAVar5 = (Abbrev_code *)0x0;\n    ppAVar5 = ppAVar5 + 1;\n  }\n  dwinfo.declarations_._M_h._M_buckets = &dwinfo.declarations_._M_h._M_single_bucket;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_rehash_policy.\n  _M_max_load_factor = 1.0;\n  dwinfo.super_Dwarf_info_reader.cu_length_._4_4_ = 0;\n  dwinfo.super_Dwarf_info_reader.offset_size_ = 0;\n  dwinfo.super_Dwarf_info_reader.address_size_ = 0;\n  dwinfo.super_Dwarf_info_reader.cu_version_ = 0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_shndx_ = 0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_offset_._0_4_ = 0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_offset_._4_4_ = 0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_ = (uchar *)0x0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_end_ = (uchar *)0x0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.owns_buffer_ = false;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_pos_ = (uchar *)0x0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_element_count = 0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_rehash_policy.\n  _M_next_resize = 0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_single_bucket =\n       (__bucket_type)0x0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_bucket_count = 1;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin._M_nxt =\n       (_Hash_node_base *)0x0;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_shndx_ = 0;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_ = (uchar *)0x0;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_end_ = (uchar *)0x0;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.owns_ranges_buffer_ = false;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_ = (Elf_reloc_mapper *)0x0;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.reloc_type_ = 0;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.output_section_offset_._0_4_ = 0;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.output_section_offset_._4_4_ = 0;\n  dwinfo.super_Dwarf_info_reader.reloc_mapper_ = (Elf_reloc_mapper *)0x0;\n  dwinfo.super_Dwarf_info_reader.string_buffer_ = (char *)0x0;\n  dwinfo.super_Dwarf_info_reader.string_buffer_end_ = (char *)0x0;\n  dwinfo.super_Dwarf_info_reader.owns_string_buffer_ = false;\n  dwinfo.super_Dwarf_info_reader.string_output_section_offset_._0_4_ = 0;\n  dwinfo.super_Dwarf_info_reader.string_output_section_offset_._4_4_ = 0;\n  dwinfo.gdb_index_ = this;\n  dwinfo.cu_index_ = 0;\n  dwinfo.cu_language_ = 0;\n  dwinfo.declarations_._M_h._M_bucket_count = 1;\n  dwinfo.declarations_._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  dwinfo.declarations_._M_h._M_element_count = 0;\n  dwinfo.declarations_._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  dwinfo.declarations_._M_h._M_rehash_policy._M_next_resize = 0;\n  dwinfo.declarations_._M_h._M_single_bucket = (__bucket_type)0x0;\n  dwinfo.super_Dwarf_info_reader._vptr_Dwarf_info_reader =\n       (_func_int_varargs **)&PTR__Gdb_index_info_reader_0039d950;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.dwinfo_ = &dwinfo.super_Dwarf_info_reader;\n  if (this->pubnames_object_ != object) {\n    dwinfo.super_Dwarf_info_reader.symtab_size_ = symbols_size;\n                    /* try { // try from 000783eb to 00078402 has its CatchHandler @ 0007853b */\n    map_pubnames_and_types_to_dies(this,&dwinfo,object,symbols,symbols_size);\n    in_stack_fffffad8 = symbols_size._4_4_;\n    symbols_size = dwinfo.super_Dwarf_info_reader.symtab_size_;\n  }\n  dwinfo.super_Dwarf_info_reader.symtab_size_ = symbols_size;\n  Dwarf_info_reader::parse(&dwinfo.super_Dwarf_info_reader);\n  dwinfo.super_Dwarf_info_reader._vptr_Dwarf_info_reader =\n       (_func_int_varargs **)&PTR__Gdb_index_info_reader_0039d950;\n  Gdb_index_info_reader::clear_declarations(&dwinfo);\n  std::\n  _Hashtable<long_long_int,_std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>,_std::allocator<std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<long_long_int,_std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>,_std::allocator<std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&dwinfo.declarations_,in_stack_fffffad8);\n  dwinfo.super_Dwarf_info_reader._vptr_Dwarf_info_reader =\n       (_func_int_varargs **)&PTR__Dwarf_info_reader_003a0828;\n  if (dwinfo.super_Dwarf_info_reader.reloc_mapper_ != (Elf_reloc_mapper *)0x0) {\n    (*(dwinfo.super_Dwarf_info_reader.reloc_mapper_)->_vptr_Elf_reloc_mapper[1])\n              (dwinfo.super_Dwarf_info_reader.reloc_mapper_);\n  }\n  if ((dwinfo.super_Dwarf_info_reader.owns_string_buffer_ != false) &&\n     (dwinfo.super_Dwarf_info_reader.string_buffer_ != (char *)0x0)) {\n    operator_delete__(dwinfo.super_Dwarf_info_reader.string_buffer_);\n  }\n  if ((dwinfo.super_Dwarf_info_reader.ranges_table_.owns_ranges_buffer_ != false) &&\n     (dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_ != (uchar *)0x0)) {\n    operator_delete__(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_);\n  }\n  if (dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_ != (Elf_reloc_mapper *)0x0)\n  {\n    (*(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_)->_vptr_Elf_reloc_mapper[1]\n    )(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_);\n  }\n  if ((dwinfo.super_Dwarf_info_reader.abbrev_table_.owns_buffer_ != false) &&\n     (dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_ != (uchar *)0x0)) {\n    operator_delete__(dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_);\n  }\n  Dwarf_abbrev_table::clear_abbrev_codes(&dwinfo.super_Dwarf_info_reader.abbrev_table_);\n  _Var3 = dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin;\n  while (_Var3._M_nxt != (_Hash_node_base *)0x0) {\n    p_Var2 = (_Var3._M_nxt)->_M_nxt;\n    operator_delete(_Var3._M_nxt);\n    _Var3._M_nxt = p_Var2;\n  }\n  memset(dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets,0,\n         dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_bucket_count << 2);\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_element_count = 0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin._M_nxt =\n       (_Hash_node_base *)0x0;\n  if (dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets != pp_Var1) {\n    operator_delete(dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets)\n    ;\n  }\n  return;\n}\n\n" comment comment (function_definition "void __thiscall\ngold::Gdb_index::scan_debug_info\n          (Gdb_index *this,bool is_type_unit,Relobj *object,uchar *symbols,off_t symbols_size,\n          uint shndx,uint reloc_shndx,uint reloc_type)\n\n{\n  __bucket_type *pp_Var1;\n  _Hash_node_base *p_Var2;\n  __node_base _Var3;\n  int iVar4;\n  Abbrev_code **ppAVar5;\n  int in_stack_fffffad8;\n  Gdb_index_info_reader dwinfo;\n  \n  dwinfo.super_Dwarf_info_reader.abbrev_shndx_ = 0;\n  dwinfo.super_Dwarf_info_reader.string_shndx_ = 0;\n  dwinfo.super_Dwarf_info_reader.is_type_unit_ = is_type_unit;\n  dwinfo.super_Dwarf_info_reader.symtab_ = symbols;\n  dwinfo.super_Dwarf_info_reader.object_ = object;\n  dwinfo.super_Dwarf_info_reader.buffer_ = (uchar *)0x0;\n  dwinfo.super_Dwarf_info_reader.shndx_ = shndx;\n  dwinfo.super_Dwarf_info_reader.buffer_end_ = (uchar *)0x0;\n  dwinfo.super_Dwarf_info_reader.reloc_shndx_ = reloc_shndx;\n  dwinfo.super_Dwarf_info_reader.cu_offset_._0_4_ = 0;\n  dwinfo.super_Dwarf_info_reader.reloc_type_ = reloc_type;\n  pp_Var1 = &dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_single_bucket;\n  dwinfo.super_Dwarf_info_reader.cu_offset_._4_4_ = 0;\n  dwinfo.super_Dwarf_info_reader.cu_length_._0_4_ = 0;\n  ppAVar5 = dwinfo.super_Dwarf_info_reader.abbrev_table_.low_abbrev_codes_;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets = pp_Var1;\n  for (iVar4 = 0x100; iVar4 != 0; iVar4 = iVar4 + -1) {\n    *ppAVar5 = (Abbrev_code *)0x0;\n    ppAVar5 = ppAVar5 + 1;\n  }\n  dwinfo.declarations_._M_h._M_buckets = &dwinfo.declarations_._M_h._M_single_bucket;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_rehash_policy.\n  _M_max_load_factor = 1.0;\n  dwinfo.super_Dwarf_info_reader.cu_length_._4_4_ = 0;\n  dwinfo.super_Dwarf_info_reader.offset_size_ = 0;\n  dwinfo.super_Dwarf_info_reader.address_size_ = 0;\n  dwinfo.super_Dwarf_info_reader.cu_version_ = 0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_shndx_ = 0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_offset_._0_4_ = 0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_offset_._4_4_ = 0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_ = (uchar *)0x0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_end_ = (uchar *)0x0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.owns_buffer_ = false;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_pos_ = (uchar *)0x0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_element_count = 0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_rehash_policy.\n  _M_next_resize = 0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_single_bucket =\n       (__bucket_type)0x0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_bucket_count = 1;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin._M_nxt =\n       (_Hash_node_base *)0x0;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_shndx_ = 0;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_ = (uchar *)0x0;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_end_ = (uchar *)0x0;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.owns_ranges_buffer_ = false;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_ = (Elf_reloc_mapper *)0x0;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.reloc_type_ = 0;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.output_section_offset_._0_4_ = 0;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.output_section_offset_._4_4_ = 0;\n  dwinfo.super_Dwarf_info_reader.reloc_mapper_ = (Elf_reloc_mapper *)0x0;\n  dwinfo.super_Dwarf_info_reader.string_buffer_ = (char *)0x0;\n  dwinfo.super_Dwarf_info_reader.string_buffer_end_ = (char *)0x0;\n  dwinfo.super_Dwarf_info_reader.owns_string_buffer_ = false;\n  dwinfo.super_Dwarf_info_reader.string_output_section_offset_._0_4_ = 0;\n  dwinfo.super_Dwarf_info_reader.string_output_section_offset_._4_4_ = 0;\n  dwinfo.gdb_index_ = this;\n  dwinfo.cu_index_ = 0;\n  dwinfo.cu_language_ = 0;\n  dwinfo.declarations_._M_h._M_bucket_count = 1;\n  dwinfo.declarations_._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  dwinfo.declarations_._M_h._M_element_count = 0;\n  dwinfo.declarations_._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  dwinfo.declarations_._M_h._M_rehash_policy._M_next_resize = 0;\n  dwinfo.declarations_._M_h._M_single_bucket = (__bucket_type)0x0;\n  dwinfo.super_Dwarf_info_reader._vptr_Dwarf_info_reader =\n       (_func_int_varargs **)&PTR__Gdb_index_info_reader_0039d950;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.dwinfo_ = &dwinfo.super_Dwarf_info_reader;\n  if (this->pubnames_object_ != object) {\n    dwinfo.super_Dwarf_info_reader.symtab_size_ = symbols_size;\n                    /* try { // try from 000783eb to 00078402 has its CatchHandler @ 0007853b */\n    map_pubnames_and_types_to_dies(this,&dwinfo,object,symbols,symbols_size);\n    in_stack_fffffad8 = symbols_size._4_4_;\n    symbols_size = dwinfo.super_Dwarf_info_reader.symtab_size_;\n  }\n  dwinfo.super_Dwarf_info_reader.symtab_size_ = symbols_size;\n  Dwarf_info_reader::parse(&dwinfo.super_Dwarf_info_reader);\n  dwinfo.super_Dwarf_info_reader._vptr_Dwarf_info_reader =\n       (_func_int_varargs **)&PTR__Gdb_index_info_reader_0039d950;\n  Gdb_index_info_reader::clear_declarations(&dwinfo);\n  std::\n  _Hashtable<long_long_int,_std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>,_std::allocator<std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<long_long_int,_std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>,_std::allocator<std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&dwinfo.declarations_,in_stack_fffffad8);\n  dwinfo.super_Dwarf_info_reader._vptr_Dwarf_info_reader =\n       (_func_int_varargs **)&PTR__Dwarf_info_reader_003a0828;\n  if (dwinfo.super_Dwarf_info_reader.reloc_mapper_ != (Elf_reloc_mapper *)0x0) {\n    (*(dwinfo.super_Dwarf_info_reader.reloc_mapper_)->_vptr_Elf_reloc_mapper[1])\n              (dwinfo.super_Dwarf_info_reader.reloc_mapper_);\n  }\n  if ((dwinfo.super_Dwarf_info_reader.owns_string_buffer_ != false) &&\n     (dwinfo.super_Dwarf_info_reader.string_buffer_ != (char *)0x0)) {\n    operator_delete__(dwinfo.super_Dwarf_info_reader.string_buffer_);\n  }\n  if ((dwinfo.super_Dwarf_info_reader.ranges_table_.owns_ranges_buffer_ != false) &&\n     (dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_ != (uchar *)0x0)) {\n    operator_delete__(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_);\n  }\n  if (dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_ != (Elf_reloc_mapper *)0x0)\n  {\n    (*(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_)->_vptr_Elf_reloc_mapper[1]\n    )(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_);\n  }\n  if ((dwinfo.super_Dwarf_info_reader.abbrev_table_.owns_buffer_ != false) &&\n     (dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_ != (uchar *)0x0)) {\n    operator_delete__(dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_);\n  }\n  Dwarf_abbrev_table::clear_abbrev_codes(&dwinfo.super_Dwarf_info_reader.abbrev_table_);\n  _Var3 = dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin;\n  while (_Var3._M_nxt != (_Hash_node_base *)0x0) {\n    p_Var2 = (_Var3._M_nxt)->_M_nxt;\n    operator_delete(_Var3._M_nxt);\n    _Var3._M_nxt = p_Var2;\n  }\n  memset(dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets,0,\n         dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_bucket_count << 2);\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_element_count = 0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin._M_nxt =\n       (_Hash_node_base *)0x0;\n  if (dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets != pp_Var1) {\n    operator_delete(dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets)\n    ;\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Gdb_index::" identifier : : identifier : :) (function_declarator "scan_debug_info\n          (Gdb_index *this,bool is_type_unit,Relobj *object,uchar *symbols,off_t symbols_size,\n          uint shndx,uint reloc_shndx,uint reloc_type)" identifier (parameter_list "(Gdb_index *this,bool is_type_unit,Relobj *object,uchar *symbols,off_t symbols_size,\n          uint shndx,uint reloc_shndx,uint reloc_type)" ( (parameter_declaration "Gdb_index *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "bool is_type_unit" primitive_type identifier) , (parameter_declaration "Relobj *object" type_identifier (pointer_declarator "*object" * identifier)) , (parameter_declaration "uchar *symbols" type_identifier (pointer_declarator "*symbols" * identifier)) , (parameter_declaration "off_t symbols_size" type_identifier identifier) , (parameter_declaration "uint shndx" type_identifier identifier) , (parameter_declaration "uint reloc_shndx" type_identifier identifier) , (parameter_declaration "uint reloc_type" type_identifier identifier) ))) (compound_statement "{\n  __bucket_type *pp_Var1;\n  _Hash_node_base *p_Var2;\n  __node_base _Var3;\n  int iVar4;\n  Abbrev_code **ppAVar5;\n  int in_stack_fffffad8;\n  Gdb_index_info_reader dwinfo;\n  \n  dwinfo.super_Dwarf_info_reader.abbrev_shndx_ = 0;\n  dwinfo.super_Dwarf_info_reader.string_shndx_ = 0;\n  dwinfo.super_Dwarf_info_reader.is_type_unit_ = is_type_unit;\n  dwinfo.super_Dwarf_info_reader.symtab_ = symbols;\n  dwinfo.super_Dwarf_info_reader.object_ = object;\n  dwinfo.super_Dwarf_info_reader.buffer_ = (uchar *)0x0;\n  dwinfo.super_Dwarf_info_reader.shndx_ = shndx;\n  dwinfo.super_Dwarf_info_reader.buffer_end_ = (uchar *)0x0;\n  dwinfo.super_Dwarf_info_reader.reloc_shndx_ = reloc_shndx;\n  dwinfo.super_Dwarf_info_reader.cu_offset_._0_4_ = 0;\n  dwinfo.super_Dwarf_info_reader.reloc_type_ = reloc_type;\n  pp_Var1 = &dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_single_bucket;\n  dwinfo.super_Dwarf_info_reader.cu_offset_._4_4_ = 0;\n  dwinfo.super_Dwarf_info_reader.cu_length_._0_4_ = 0;\n  ppAVar5 = dwinfo.super_Dwarf_info_reader.abbrev_table_.low_abbrev_codes_;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets = pp_Var1;\n  for (iVar4 = 0x100; iVar4 != 0; iVar4 = iVar4 + -1) {\n    *ppAVar5 = (Abbrev_code *)0x0;\n    ppAVar5 = ppAVar5 + 1;\n  }\n  dwinfo.declarations_._M_h._M_buckets = &dwinfo.declarations_._M_h._M_single_bucket;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_rehash_policy.\n  _M_max_load_factor = 1.0;\n  dwinfo.super_Dwarf_info_reader.cu_length_._4_4_ = 0;\n  dwinfo.super_Dwarf_info_reader.offset_size_ = 0;\n  dwinfo.super_Dwarf_info_reader.address_size_ = 0;\n  dwinfo.super_Dwarf_info_reader.cu_version_ = 0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_shndx_ = 0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_offset_._0_4_ = 0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_offset_._4_4_ = 0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_ = (uchar *)0x0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_end_ = (uchar *)0x0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.owns_buffer_ = false;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_pos_ = (uchar *)0x0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_element_count = 0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_rehash_policy.\n  _M_next_resize = 0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_single_bucket =\n       (__bucket_type)0x0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_bucket_count = 1;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin._M_nxt =\n       (_Hash_node_base *)0x0;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_shndx_ = 0;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_ = (uchar *)0x0;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_end_ = (uchar *)0x0;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.owns_ranges_buffer_ = false;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_ = (Elf_reloc_mapper *)0x0;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.reloc_type_ = 0;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.output_section_offset_._0_4_ = 0;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.output_section_offset_._4_4_ = 0;\n  dwinfo.super_Dwarf_info_reader.reloc_mapper_ = (Elf_reloc_mapper *)0x0;\n  dwinfo.super_Dwarf_info_reader.string_buffer_ = (char *)0x0;\n  dwinfo.super_Dwarf_info_reader.string_buffer_end_ = (char *)0x0;\n  dwinfo.super_Dwarf_info_reader.owns_string_buffer_ = false;\n  dwinfo.super_Dwarf_info_reader.string_output_section_offset_._0_4_ = 0;\n  dwinfo.super_Dwarf_info_reader.string_output_section_offset_._4_4_ = 0;\n  dwinfo.gdb_index_ = this;\n  dwinfo.cu_index_ = 0;\n  dwinfo.cu_language_ = 0;\n  dwinfo.declarations_._M_h._M_bucket_count = 1;\n  dwinfo.declarations_._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  dwinfo.declarations_._M_h._M_element_count = 0;\n  dwinfo.declarations_._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  dwinfo.declarations_._M_h._M_rehash_policy._M_next_resize = 0;\n  dwinfo.declarations_._M_h._M_single_bucket = (__bucket_type)0x0;\n  dwinfo.super_Dwarf_info_reader._vptr_Dwarf_info_reader =\n       (_func_int_varargs **)&PTR__Gdb_index_info_reader_0039d950;\n  dwinfo.super_Dwarf_info_reader.ranges_table_.dwinfo_ = &dwinfo.super_Dwarf_info_reader;\n  if (this->pubnames_object_ != object) {\n    dwinfo.super_Dwarf_info_reader.symtab_size_ = symbols_size;\n                    /* try { // try from 000783eb to 00078402 has its CatchHandler @ 0007853b */\n    map_pubnames_and_types_to_dies(this,&dwinfo,object,symbols,symbols_size);\n    in_stack_fffffad8 = symbols_size._4_4_;\n    symbols_size = dwinfo.super_Dwarf_info_reader.symtab_size_;\n  }\n  dwinfo.super_Dwarf_info_reader.symtab_size_ = symbols_size;\n  Dwarf_info_reader::parse(&dwinfo.super_Dwarf_info_reader);\n  dwinfo.super_Dwarf_info_reader._vptr_Dwarf_info_reader =\n       (_func_int_varargs **)&PTR__Gdb_index_info_reader_0039d950;\n  Gdb_index_info_reader::clear_declarations(&dwinfo);\n  std::\n  _Hashtable<long_long_int,_std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>,_std::allocator<std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<long_long_int,_std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>,_std::allocator<std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&dwinfo.declarations_,in_stack_fffffad8);\n  dwinfo.super_Dwarf_info_reader._vptr_Dwarf_info_reader =\n       (_func_int_varargs **)&PTR__Dwarf_info_reader_003a0828;\n  if (dwinfo.super_Dwarf_info_reader.reloc_mapper_ != (Elf_reloc_mapper *)0x0) {\n    (*(dwinfo.super_Dwarf_info_reader.reloc_mapper_)->_vptr_Elf_reloc_mapper[1])\n              (dwinfo.super_Dwarf_info_reader.reloc_mapper_);\n  }\n  if ((dwinfo.super_Dwarf_info_reader.owns_string_buffer_ != false) &&\n     (dwinfo.super_Dwarf_info_reader.string_buffer_ != (char *)0x0)) {\n    operator_delete__(dwinfo.super_Dwarf_info_reader.string_buffer_);\n  }\n  if ((dwinfo.super_Dwarf_info_reader.ranges_table_.owns_ranges_buffer_ != false) &&\n     (dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_ != (uchar *)0x0)) {\n    operator_delete__(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_);\n  }\n  if (dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_ != (Elf_reloc_mapper *)0x0)\n  {\n    (*(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_)->_vptr_Elf_reloc_mapper[1]\n    )(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_);\n  }\n  if ((dwinfo.super_Dwarf_info_reader.abbrev_table_.owns_buffer_ != false) &&\n     (dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_ != (uchar *)0x0)) {\n    operator_delete__(dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_);\n  }\n  Dwarf_abbrev_table::clear_abbrev_codes(&dwinfo.super_Dwarf_info_reader.abbrev_table_);\n  _Var3 = dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin;\n  while (_Var3._M_nxt != (_Hash_node_base *)0x0) {\n    p_Var2 = (_Var3._M_nxt)->_M_nxt;\n    operator_delete(_Var3._M_nxt);\n    _Var3._M_nxt = p_Var2;\n  }\n  memset(dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets,0,\n         dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_bucket_count << 2);\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_element_count = 0;\n  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin._M_nxt =\n       (_Hash_node_base *)0x0;\n  if (dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets != pp_Var1) {\n    operator_delete(dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets)\n    ;\n  }\n  return;\n}" { (declaration "__bucket_type *pp_Var1;" type_identifier (pointer_declarator "*pp_Var1" * identifier) ;) (declaration "_Hash_node_base *p_Var2;" type_identifier (pointer_declarator "*p_Var2" * identifier) ;) (declaration "__node_base _Var3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "Abbrev_code **ppAVar5;" type_identifier (pointer_declarator "**ppAVar5" * (pointer_declarator "*ppAVar5" * identifier)) ;) (declaration "int in_stack_fffffad8;" primitive_type identifier ;) (declaration "Gdb_index_info_reader dwinfo;" type_identifier identifier ;) (expression_statement "dwinfo.super_Dwarf_info_reader.abbrev_shndx_ = 0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.abbrev_shndx_ = 0" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_shndx_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.string_shndx_ = 0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.string_shndx_ = 0" (field_expression "dwinfo.super_Dwarf_info_reader.string_shndx_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.is_type_unit_ = is_type_unit;" (assignment_expression "dwinfo.super_Dwarf_info_reader.is_type_unit_ = is_type_unit" (field_expression "dwinfo.super_Dwarf_info_reader.is_type_unit_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.symtab_ = symbols;" (assignment_expression "dwinfo.super_Dwarf_info_reader.symtab_ = symbols" (field_expression "dwinfo.super_Dwarf_info_reader.symtab_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.object_ = object;" (assignment_expression "dwinfo.super_Dwarf_info_reader.object_ = object" (field_expression "dwinfo.super_Dwarf_info_reader.object_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.buffer_ = (uchar *)0x0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.buffer_ = (uchar *)0x0" (field_expression "dwinfo.super_Dwarf_info_reader.buffer_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.shndx_ = shndx;" (assignment_expression "dwinfo.super_Dwarf_info_reader.shndx_ = shndx" (field_expression "dwinfo.super_Dwarf_info_reader.shndx_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.buffer_end_ = (uchar *)0x0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.buffer_end_ = (uchar *)0x0" (field_expression "dwinfo.super_Dwarf_info_reader.buffer_end_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.reloc_shndx_ = reloc_shndx;" (assignment_expression "dwinfo.super_Dwarf_info_reader.reloc_shndx_ = reloc_shndx" (field_expression "dwinfo.super_Dwarf_info_reader.reloc_shndx_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.cu_offset_._0_4_ = 0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.cu_offset_._0_4_ = 0" (field_expression "dwinfo.super_Dwarf_info_reader.cu_offset_._0_4_" (field_expression "dwinfo.super_Dwarf_info_reader.cu_offset_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.reloc_type_ = reloc_type;" (assignment_expression "dwinfo.super_Dwarf_info_reader.reloc_type_ = reloc_type" (field_expression "dwinfo.super_Dwarf_info_reader.reloc_type_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "pp_Var1 = &dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_single_bucket;" (assignment_expression "pp_Var1 = &dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_single_bucket" identifier = (pointer_expression "&dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_single_bucket" & (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_single_bucket" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.cu_offset_._4_4_ = 0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.cu_offset_._4_4_ = 0" (field_expression "dwinfo.super_Dwarf_info_reader.cu_offset_._4_4_" (field_expression "dwinfo.super_Dwarf_info_reader.cu_offset_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.cu_length_._0_4_ = 0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.cu_length_._0_4_ = 0" (field_expression "dwinfo.super_Dwarf_info_reader.cu_length_._0_4_" (field_expression "dwinfo.super_Dwarf_info_reader.cu_length_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "ppAVar5 = dwinfo.super_Dwarf_info_reader.abbrev_table_.low_abbrev_codes_;" (assignment_expression "ppAVar5 = dwinfo.super_Dwarf_info_reader.abbrev_table_.low_abbrev_codes_" identifier = (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.low_abbrev_codes_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets = pp_Var1;" (assignment_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets = pp_Var1" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) (for_statement "for (iVar4 = 0x100; iVar4 != 0; iVar4 = iVar4 + -1) {\n    *ppAVar5 = (Abbrev_code *)0x0;\n    ppAVar5 = ppAVar5 + 1;\n  }" for ( (assignment_expression "iVar4 = 0x100" identifier = number_literal) ; (binary_expression "iVar4 != 0" identifier != number_literal) ; (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ) (compound_statement "{\n    *ppAVar5 = (Abbrev_code *)0x0;\n    ppAVar5 = ppAVar5 + 1;\n  }" { (expression_statement "*ppAVar5 = (Abbrev_code *)0x0;" (assignment_expression "*ppAVar5 = (Abbrev_code *)0x0" (pointer_expression "*ppAVar5" * identifier) = (cast_expression "(Abbrev_code *)0x0" ( (type_descriptor "Abbrev_code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppAVar5 = ppAVar5 + 1;" (assignment_expression "ppAVar5 = ppAVar5 + 1" identifier = (binary_expression "ppAVar5 + 1" identifier + number_literal)) ;) })) (expression_statement "dwinfo.declarations_._M_h._M_buckets = &dwinfo.declarations_._M_h._M_single_bucket;" (assignment_expression "dwinfo.declarations_._M_h._M_buckets = &dwinfo.declarations_._M_h._M_single_bucket" (field_expression "dwinfo.declarations_._M_h._M_buckets" (field_expression "dwinfo.declarations_._M_h" (field_expression "dwinfo.declarations_" identifier . field_identifier) . field_identifier) . field_identifier) = (pointer_expression "&dwinfo.declarations_._M_h._M_single_bucket" & (field_expression "dwinfo.declarations_._M_h._M_single_bucket" (field_expression "dwinfo.declarations_._M_h" (field_expression "dwinfo.declarations_" identifier . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_rehash_policy.\n  _M_max_load_factor = 1.0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_rehash_policy.\n  _M_max_load_factor = 1.0" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_rehash_policy.\n  _M_max_load_factor" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_rehash_policy" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.cu_length_._4_4_ = 0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.cu_length_._4_4_ = 0" (field_expression "dwinfo.super_Dwarf_info_reader.cu_length_._4_4_" (field_expression "dwinfo.super_Dwarf_info_reader.cu_length_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.offset_size_ = 0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.offset_size_ = 0" (field_expression "dwinfo.super_Dwarf_info_reader.offset_size_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.address_size_ = 0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.address_size_ = 0" (field_expression "dwinfo.super_Dwarf_info_reader.address_size_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.cu_version_ = 0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.cu_version_ = 0" (field_expression "dwinfo.super_Dwarf_info_reader.cu_version_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_shndx_ = 0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_shndx_ = 0" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_shndx_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_offset_._0_4_ = 0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_offset_._0_4_ = 0" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_offset_._0_4_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_offset_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_offset_._4_4_ = 0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_offset_._4_4_ = 0" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_offset_._4_4_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_offset_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_ = (uchar *)0x0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_ = (uchar *)0x0" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_end_ = (uchar *)0x0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_end_ = (uchar *)0x0" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_end_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.abbrev_table_.owns_buffer_ = false;" (assignment_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.owns_buffer_ = false" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.owns_buffer_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) = false) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_pos_ = (uchar *)0x0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_pos_ = (uchar *)0x0" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_pos_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_element_count = 0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_element_count = 0" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_element_count" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_rehash_policy.\n  _M_next_resize = 0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_rehash_policy.\n  _M_next_resize = 0" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_rehash_policy.\n  _M_next_resize" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_rehash_policy" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_single_bucket =\n       (__bucket_type)0x0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_single_bucket =\n       (__bucket_type)0x0" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_single_bucket" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_bucket_count = 1;" (assignment_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_bucket_count = 1" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_bucket_count" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin._M_nxt =\n       (_Hash_node_base *)0x0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin._M_nxt =\n       (_Hash_node_base *)0x0" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin._M_nxt" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_shndx_ = 0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_shndx_ = 0" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_shndx_" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_ = (uchar *)0x0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_ = (uchar *)0x0" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_end_ = (uchar *)0x0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_end_ = (uchar *)0x0" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_end_" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.ranges_table_.owns_ranges_buffer_ = false;" (assignment_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.owns_ranges_buffer_ = false" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.owns_ranges_buffer_" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) = false) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_ = (Elf_reloc_mapper *)0x0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_ = (Elf_reloc_mapper *)0x0" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(Elf_reloc_mapper *)0x0" ( (type_descriptor "Elf_reloc_mapper *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.ranges_table_.reloc_type_ = 0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.reloc_type_ = 0" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.reloc_type_" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.ranges_table_.output_section_offset_._0_4_ = 0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.output_section_offset_._0_4_ = 0" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.output_section_offset_._0_4_" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.output_section_offset_" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.ranges_table_.output_section_offset_._4_4_ = 0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.output_section_offset_._4_4_ = 0" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.output_section_offset_._4_4_" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.output_section_offset_" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.reloc_mapper_ = (Elf_reloc_mapper *)0x0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.reloc_mapper_ = (Elf_reloc_mapper *)0x0" (field_expression "dwinfo.super_Dwarf_info_reader.reloc_mapper_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) = (cast_expression "(Elf_reloc_mapper *)0x0" ( (type_descriptor "Elf_reloc_mapper *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.string_buffer_ = (char *)0x0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.string_buffer_ = (char *)0x0" (field_expression "dwinfo.super_Dwarf_info_reader.string_buffer_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.string_buffer_end_ = (char *)0x0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.string_buffer_end_ = (char *)0x0" (field_expression "dwinfo.super_Dwarf_info_reader.string_buffer_end_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.owns_string_buffer_ = false;" (assignment_expression "dwinfo.super_Dwarf_info_reader.owns_string_buffer_ = false" (field_expression "dwinfo.super_Dwarf_info_reader.owns_string_buffer_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) = false) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.string_output_section_offset_._0_4_ = 0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.string_output_section_offset_._0_4_ = 0" (field_expression "dwinfo.super_Dwarf_info_reader.string_output_section_offset_._0_4_" (field_expression "dwinfo.super_Dwarf_info_reader.string_output_section_offset_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.string_output_section_offset_._4_4_ = 0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.string_output_section_offset_._4_4_ = 0" (field_expression "dwinfo.super_Dwarf_info_reader.string_output_section_offset_._4_4_" (field_expression "dwinfo.super_Dwarf_info_reader.string_output_section_offset_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.gdb_index_ = this;" (assignment_expression "dwinfo.gdb_index_ = this" (field_expression "dwinfo.gdb_index_" identifier . field_identifier) = identifier) ;) (expression_statement "dwinfo.cu_index_ = 0;" (assignment_expression "dwinfo.cu_index_ = 0" (field_expression "dwinfo.cu_index_" identifier . field_identifier) = number_literal) ;) (expression_statement "dwinfo.cu_language_ = 0;" (assignment_expression "dwinfo.cu_language_ = 0" (field_expression "dwinfo.cu_language_" identifier . field_identifier) = number_literal) ;) (expression_statement "dwinfo.declarations_._M_h._M_bucket_count = 1;" (assignment_expression "dwinfo.declarations_._M_h._M_bucket_count = 1" (field_expression "dwinfo.declarations_._M_h._M_bucket_count" (field_expression "dwinfo.declarations_._M_h" (field_expression "dwinfo.declarations_" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.declarations_._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "dwinfo.declarations_._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0" (field_expression "dwinfo.declarations_._M_h._M_before_begin._M_nxt" (field_expression "dwinfo.declarations_._M_h._M_before_begin" (field_expression "dwinfo.declarations_._M_h" (field_expression "dwinfo.declarations_" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dwinfo.declarations_._M_h._M_element_count = 0;" (assignment_expression "dwinfo.declarations_._M_h._M_element_count = 0" (field_expression "dwinfo.declarations_._M_h._M_element_count" (field_expression "dwinfo.declarations_._M_h" (field_expression "dwinfo.declarations_" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.declarations_._M_h._M_rehash_policy._M_max_load_factor = 1.0;" (assignment_expression "dwinfo.declarations_._M_h._M_rehash_policy._M_max_load_factor = 1.0" (field_expression "dwinfo.declarations_._M_h._M_rehash_policy._M_max_load_factor" (field_expression "dwinfo.declarations_._M_h._M_rehash_policy" (field_expression "dwinfo.declarations_._M_h" (field_expression "dwinfo.declarations_" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.declarations_._M_h._M_rehash_policy._M_next_resize = 0;" (assignment_expression "dwinfo.declarations_._M_h._M_rehash_policy._M_next_resize = 0" (field_expression "dwinfo.declarations_._M_h._M_rehash_policy._M_next_resize" (field_expression "dwinfo.declarations_._M_h._M_rehash_policy" (field_expression "dwinfo.declarations_._M_h" (field_expression "dwinfo.declarations_" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.declarations_._M_h._M_single_bucket = (__bucket_type)0x0;" (assignment_expression "dwinfo.declarations_._M_h._M_single_bucket = (__bucket_type)0x0" (field_expression "dwinfo.declarations_._M_h._M_single_bucket" (field_expression "dwinfo.declarations_._M_h" (field_expression "dwinfo.declarations_" identifier . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) ;) (expression_statement "dwinfo.super_Dwarf_info_reader._vptr_Dwarf_info_reader =\n       (_func_int_varargs **)&PTR__Gdb_index_info_reader_0039d950;" (assignment_expression "dwinfo.super_Dwarf_info_reader._vptr_Dwarf_info_reader =\n       (_func_int_varargs **)&PTR__Gdb_index_info_reader_0039d950" (field_expression "dwinfo.super_Dwarf_info_reader._vptr_Dwarf_info_reader" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Gdb_index_info_reader_0039d950" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Gdb_index_info_reader_0039d950" & identifier))) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.ranges_table_.dwinfo_ = &dwinfo.super_Dwarf_info_reader;" (assignment_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.dwinfo_ = &dwinfo.super_Dwarf_info_reader" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.dwinfo_" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) = (pointer_expression "&dwinfo.super_Dwarf_info_reader" & (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier))) ;) (if_statement "if (this->pubnames_object_ != object) {\n    dwinfo.super_Dwarf_info_reader.symtab_size_ = symbols_size;\n                    /* try { // try from 000783eb to 00078402 has its CatchHandler @ 0007853b */\n    map_pubnames_and_types_to_dies(this,&dwinfo,object,symbols,symbols_size);\n    in_stack_fffffad8 = symbols_size._4_4_;\n    symbols_size = dwinfo.super_Dwarf_info_reader.symtab_size_;\n  }" if (parenthesized_expression "(this->pubnames_object_ != object)" ( (binary_expression "this->pubnames_object_ != object" (field_expression "this->pubnames_object_" identifier -> field_identifier) != identifier) )) (compound_statement "{\n    dwinfo.super_Dwarf_info_reader.symtab_size_ = symbols_size;\n                    /* try { // try from 000783eb to 00078402 has its CatchHandler @ 0007853b */\n    map_pubnames_and_types_to_dies(this,&dwinfo,object,symbols,symbols_size);\n    in_stack_fffffad8 = symbols_size._4_4_;\n    symbols_size = dwinfo.super_Dwarf_info_reader.symtab_size_;\n  }" { (expression_statement "dwinfo.super_Dwarf_info_reader.symtab_size_ = symbols_size;" (assignment_expression "dwinfo.super_Dwarf_info_reader.symtab_size_ = symbols_size" (field_expression "dwinfo.super_Dwarf_info_reader.symtab_size_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) = identifier) ;) comment (expression_statement "map_pubnames_and_types_to_dies(this,&dwinfo,object,symbols,symbols_size);" (call_expression "map_pubnames_and_types_to_dies(this,&dwinfo,object,symbols,symbols_size)" identifier (argument_list "(this,&dwinfo,object,symbols,symbols_size)" ( identifier , (pointer_expression "&dwinfo" & identifier) , identifier , identifier , identifier ))) ;) (expression_statement "in_stack_fffffad8 = symbols_size._4_4_;" (assignment_expression "in_stack_fffffad8 = symbols_size._4_4_" identifier = (field_expression "symbols_size._4_4_" identifier . field_identifier)) ;) (expression_statement "symbols_size = dwinfo.super_Dwarf_info_reader.symtab_size_;" (assignment_expression "symbols_size = dwinfo.super_Dwarf_info_reader.symtab_size_" identifier = (field_expression "dwinfo.super_Dwarf_info_reader.symtab_size_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier)) ;) })) (expression_statement "dwinfo.super_Dwarf_info_reader.symtab_size_ = symbols_size;" (assignment_expression "dwinfo.super_Dwarf_info_reader.symtab_size_ = symbols_size" (field_expression "dwinfo.super_Dwarf_info_reader.symtab_size_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) = identifier) ;) (labeled_statement "Dwarf_info_reader::parse(&dwinfo.super_Dwarf_info_reader);" statement_identifier : (ERROR ":" :) (expression_statement "parse(&dwinfo.super_Dwarf_info_reader);" (call_expression "parse(&dwinfo.super_Dwarf_info_reader)" identifier (argument_list "(&dwinfo.super_Dwarf_info_reader)" ( (pointer_expression "&dwinfo.super_Dwarf_info_reader" & (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier)) ))) ;)) (expression_statement "dwinfo.super_Dwarf_info_reader._vptr_Dwarf_info_reader =\n       (_func_int_varargs **)&PTR__Gdb_index_info_reader_0039d950;" (assignment_expression "dwinfo.super_Dwarf_info_reader._vptr_Dwarf_info_reader =\n       (_func_int_varargs **)&PTR__Gdb_index_info_reader_0039d950" (field_expression "dwinfo.super_Dwarf_info_reader._vptr_Dwarf_info_reader" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Gdb_index_info_reader_0039d950" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Gdb_index_info_reader_0039d950" & identifier))) ;) (labeled_statement "Gdb_index_info_reader::clear_declarations(&dwinfo);" statement_identifier : (ERROR ":" :) (expression_statement "clear_declarations(&dwinfo);" (call_expression "clear_declarations(&dwinfo)" identifier (argument_list "(&dwinfo)" ( (pointer_expression "&dwinfo" & identifier) ))) ;)) (ERROR "std::\n  _Hashtable<long_long_int,_std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>,_std::allocator<std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "std::\n  _Hashtable<long_long_int,_std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>,_std::allocator<std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std" identifier (ERROR "::\n  _Hashtable<long_long_int,_std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>,_std::allocator<std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>" : : (comma_expression "_Hashtable<long_long_int,_std" (binary_expression "_Hashtable<long_long_int" identifier < identifier) , identifier) : : (comma_expression "pair<long_long_int_const,_gold" (binary_expression "pair<long_long_int_const" identifier < identifier) , identifier) : : (comma_expression "Gdb_index_info_reader::Declaration_pair>,_std" identifier (ERROR "::Declaration_pair>" : : identifier >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_long_int_const,_gold" (binary_expression "pair<long_long_int_const" identifier < identifier) , identifier) : : (comma_expression "Gdb_index_info_reader::Declaration_pair>_>,_std" identifier (ERROR "::Declaration_pair>_>" : : (binary_expression "Declaration_pair>_" identifier > identifier) >) , identifier) : : (comma_expression "__detail::_Select1st,_std::equal_to<long_long_int>,_std" identifier (ERROR "::_Select1st,_std::equal_to<long_long_int>" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<long_long_int" identifier < identifier) >) , identifier) : : (binary_expression "hash<long_long_int" identifier < identifier) >) , identifier) : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : :) (expression_statement "_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<long_long_int,_std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>,_std::allocator<std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&dwinfo.declarations_,in_stack_fffffad8);" (comma_expression "_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<long_long_int,_std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>,_std::allocator<std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&dwinfo.declarations_,in_stack_fffffad8)" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "_false,_true>_>\n  ::~_Hashtable((_Hashtable<long_long_int,_std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>,_std::allocator<std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&dwinfo.declarations_,in_stack_fffffad8)" identifier , (binary_expression "_true>_>\n  ::~_Hashtable((_Hashtable<long_long_int,_std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>,_std::allocator<std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&dwinfo.declarations_,in_stack_fffffad8)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (unary_expression "~_Hashtable((_Hashtable<long_long_int,_std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>,_std::allocator<std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&dwinfo.declarations_,in_stack_fffffad8)" ~ (call_expression "_Hashtable((_Hashtable<long_long_int,_std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>,_std::allocator<std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&dwinfo.declarations_,in_stack_fffffad8)" identifier (argument_list "((_Hashtable<long_long_int,_std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>,_std::allocator<std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&dwinfo.declarations_,in_stack_fffffad8)" ( (binary_expression "(_Hashtable<long_long_int,_std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>,_std::allocator<std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&dwinfo.declarations_" (parenthesized_expression "(_Hashtable<long_long_int,_std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>,_std::allocator<std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)" ( (ERROR "_Hashtable<long_long_int,_std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>,_std::allocator<std::pair<long_long_int_const,_gold::Gdb_index_info_reader::Declaration_pair>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<long_long_int,_std" (binary_expression "_Hashtable<long_long_int" identifier < identifier) , identifier) : : (comma_expression "pair<long_long_int_const,_gold" (binary_expression "pair<long_long_int_const" identifier < identifier) , identifier) : : identifier : : (binary_expression "Declaration_pair>,_std" identifier > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_long_int_const,_gold" (binary_expression "pair<long_long_int_const" identifier < identifier) , identifier) : : identifier : : (binary_expression "Declaration_pair>_>,_std" (binary_expression "Declaration_pair>_" identifier > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<long_long_int>,_std" (binary_expression "equal_to<long_long_int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "hash<long_long_int>,_std" (binary_expression "hash<long_long_int" 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<false,_false,_true>_>\n                 *" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "_false,_true>_>\n                 *" identifier , (binary_expression "_true>_>\n                 *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) & (field_expression "dwinfo.declarations_" identifier . field_identifier)) , identifier ))))))) ;) (expression_statement "dwinfo.super_Dwarf_info_reader._vptr_Dwarf_info_reader =\n       (_func_int_varargs **)&PTR__Dwarf_info_reader_003a0828;" (assignment_expression "dwinfo.super_Dwarf_info_reader._vptr_Dwarf_info_reader =\n       (_func_int_varargs **)&PTR__Dwarf_info_reader_003a0828" (field_expression "dwinfo.super_Dwarf_info_reader._vptr_Dwarf_info_reader" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Dwarf_info_reader_003a0828" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Dwarf_info_reader_003a0828" & identifier))) ;) (if_statement "if (dwinfo.super_Dwarf_info_reader.reloc_mapper_ != (Elf_reloc_mapper *)0x0) {\n    (*(dwinfo.super_Dwarf_info_reader.reloc_mapper_)->_vptr_Elf_reloc_mapper[1])\n              (dwinfo.super_Dwarf_info_reader.reloc_mapper_);\n  }" if (parenthesized_expression "(dwinfo.super_Dwarf_info_reader.reloc_mapper_ != (Elf_reloc_mapper *)0x0)" ( (binary_expression "dwinfo.super_Dwarf_info_reader.reloc_mapper_ != (Elf_reloc_mapper *)0x0" (field_expression "dwinfo.super_Dwarf_info_reader.reloc_mapper_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) != (cast_expression "(Elf_reloc_mapper *)0x0" ( (type_descriptor "Elf_reloc_mapper *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(dwinfo.super_Dwarf_info_reader.reloc_mapper_)->_vptr_Elf_reloc_mapper[1])\n              (dwinfo.super_Dwarf_info_reader.reloc_mapper_);\n  }" { (expression_statement "(*(dwinfo.super_Dwarf_info_reader.reloc_mapper_)->_vptr_Elf_reloc_mapper[1])\n              (dwinfo.super_Dwarf_info_reader.reloc_mapper_);" (call_expression "(*(dwinfo.super_Dwarf_info_reader.reloc_mapper_)->_vptr_Elf_reloc_mapper[1])\n              (dwinfo.super_Dwarf_info_reader.reloc_mapper_)" (parenthesized_expression "(*(dwinfo.super_Dwarf_info_reader.reloc_mapper_)->_vptr_Elf_reloc_mapper[1])" ( (pointer_expression "*(dwinfo.super_Dwarf_info_reader.reloc_mapper_)->_vptr_Elf_reloc_mapper[1]" * (subscript_expression "(dwinfo.super_Dwarf_info_reader.reloc_mapper_)->_vptr_Elf_reloc_mapper[1]" (field_expression "(dwinfo.super_Dwarf_info_reader.reloc_mapper_)->_vptr_Elf_reloc_mapper" (parenthesized_expression "(dwinfo.super_Dwarf_info_reader.reloc_mapper_)" ( (field_expression "dwinfo.super_Dwarf_info_reader.reloc_mapper_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) )) -> field_identifier) [ number_literal ])) )) (argument_list "(dwinfo.super_Dwarf_info_reader.reloc_mapper_)" ( (field_expression "dwinfo.super_Dwarf_info_reader.reloc_mapper_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) ))) ;) })) (if_statement "if ((dwinfo.super_Dwarf_info_reader.owns_string_buffer_ != false) &&\n     (dwinfo.super_Dwarf_info_reader.string_buffer_ != (char *)0x0)) {\n    operator_delete__(dwinfo.super_Dwarf_info_reader.string_buffer_);\n  }" if (parenthesized_expression "((dwinfo.super_Dwarf_info_reader.owns_string_buffer_ != false) &&\n     (dwinfo.super_Dwarf_info_reader.string_buffer_ != (char *)0x0))" ( (binary_expression "(dwinfo.super_Dwarf_info_reader.owns_string_buffer_ != false) &&\n     (dwinfo.super_Dwarf_info_reader.string_buffer_ != (char *)0x0)" (parenthesized_expression "(dwinfo.super_Dwarf_info_reader.owns_string_buffer_ != false)" ( (binary_expression "dwinfo.super_Dwarf_info_reader.owns_string_buffer_ != false" (field_expression "dwinfo.super_Dwarf_info_reader.owns_string_buffer_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) != false) )) && (parenthesized_expression "(dwinfo.super_Dwarf_info_reader.string_buffer_ != (char *)0x0)" ( (binary_expression "dwinfo.super_Dwarf_info_reader.string_buffer_ != (char *)0x0" (field_expression "dwinfo.super_Dwarf_info_reader.string_buffer_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n    operator_delete__(dwinfo.super_Dwarf_info_reader.string_buffer_);\n  }" { (expression_statement "operator_delete__(dwinfo.super_Dwarf_info_reader.string_buffer_);" (call_expression "operator_delete__(dwinfo.super_Dwarf_info_reader.string_buffer_)" identifier (argument_list "(dwinfo.super_Dwarf_info_reader.string_buffer_)" ( (field_expression "dwinfo.super_Dwarf_info_reader.string_buffer_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) ))) ;) })) (if_statement "if ((dwinfo.super_Dwarf_info_reader.ranges_table_.owns_ranges_buffer_ != false) &&\n     (dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_ != (uchar *)0x0)) {\n    operator_delete__(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_);\n  }" if (parenthesized_expression "((dwinfo.super_Dwarf_info_reader.ranges_table_.owns_ranges_buffer_ != false) &&\n     (dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_ != (uchar *)0x0))" ( (binary_expression "(dwinfo.super_Dwarf_info_reader.ranges_table_.owns_ranges_buffer_ != false) &&\n     (dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_ != (uchar *)0x0)" (parenthesized_expression "(dwinfo.super_Dwarf_info_reader.ranges_table_.owns_ranges_buffer_ != false)" ( (binary_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.owns_ranges_buffer_ != false" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.owns_ranges_buffer_" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) != false) )) && (parenthesized_expression "(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_ != (uchar *)0x0)" ( (binary_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_ != (uchar *)0x0" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) != (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n    operator_delete__(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_);\n  }" { (expression_statement "operator_delete__(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_);" (call_expression "operator_delete__(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_)" identifier (argument_list "(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_)" ( (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) ))) ;) })) (if_statement "if (dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_ != (Elf_reloc_mapper *)0x0)\n  {\n    (*(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_)->_vptr_Elf_reloc_mapper[1]\n    )(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_);\n  }" if (parenthesized_expression "(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_ != (Elf_reloc_mapper *)0x0)" ( (binary_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_ != (Elf_reloc_mapper *)0x0" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) != (cast_expression "(Elf_reloc_mapper *)0x0" ( (type_descriptor "Elf_reloc_mapper *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_)->_vptr_Elf_reloc_mapper[1]\n    )(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_);\n  }" { (expression_statement "(*(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_)->_vptr_Elf_reloc_mapper[1]\n    )(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_);" (call_expression "(*(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_)->_vptr_Elf_reloc_mapper[1]\n    )(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_)" (parenthesized_expression "(*(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_)->_vptr_Elf_reloc_mapper[1]\n    )" ( (pointer_expression "*(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_)->_vptr_Elf_reloc_mapper[1]" * (subscript_expression "(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_)->_vptr_Elf_reloc_mapper[1]" (field_expression "(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_)->_vptr_Elf_reloc_mapper" (parenthesized_expression "(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_)" ( (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) )) -> field_identifier) [ number_literal ])) )) (argument_list "(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_)" ( (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_" (field_expression "dwinfo.super_Dwarf_info_reader.ranges_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) ))) ;) })) (if_statement "if ((dwinfo.super_Dwarf_info_reader.abbrev_table_.owns_buffer_ != false) &&\n     (dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_ != (uchar *)0x0)) {\n    operator_delete__(dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_);\n  }" if (parenthesized_expression "((dwinfo.super_Dwarf_info_reader.abbrev_table_.owns_buffer_ != false) &&\n     (dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_ != (uchar *)0x0))" ( (binary_expression "(dwinfo.super_Dwarf_info_reader.abbrev_table_.owns_buffer_ != false) &&\n     (dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_ != (uchar *)0x0)" (parenthesized_expression "(dwinfo.super_Dwarf_info_reader.abbrev_table_.owns_buffer_ != false)" ( (binary_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.owns_buffer_ != false" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.owns_buffer_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) != false) )) && (parenthesized_expression "(dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_ != (uchar *)0x0)" ( (binary_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_ != (uchar *)0x0" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) != (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n    operator_delete__(dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_);\n  }" { (expression_statement "operator_delete__(dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_);" (call_expression "operator_delete__(dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_)" identifier (argument_list "(dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_)" ( (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) ))) ;) })) (labeled_statement "Dwarf_abbrev_table::clear_abbrev_codes(&dwinfo.super_Dwarf_info_reader.abbrev_table_);" statement_identifier : (ERROR ":" :) (expression_statement "clear_abbrev_codes(&dwinfo.super_Dwarf_info_reader.abbrev_table_);" (call_expression "clear_abbrev_codes(&dwinfo.super_Dwarf_info_reader.abbrev_table_)" identifier (argument_list "(&dwinfo.super_Dwarf_info_reader.abbrev_table_)" ( (pointer_expression "&dwinfo.super_Dwarf_info_reader.abbrev_table_" & (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier)) ))) ;)) (expression_statement "_Var3 = dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin;" (assignment_expression "_Var3 = dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin" identifier = (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (while_statement "while (_Var3._M_nxt != (_Hash_node_base *)0x0) {\n    p_Var2 = (_Var3._M_nxt)->_M_nxt;\n    operator_delete(_Var3._M_nxt);\n    _Var3._M_nxt = p_Var2;\n  }" while (parenthesized_expression "(_Var3._M_nxt != (_Hash_node_base *)0x0)" ( (binary_expression "_Var3._M_nxt != (_Hash_node_base *)0x0" (field_expression "_Var3._M_nxt" identifier . field_identifier) != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    p_Var2 = (_Var3._M_nxt)->_M_nxt;\n    operator_delete(_Var3._M_nxt);\n    _Var3._M_nxt = p_Var2;\n  }" { (expression_statement "p_Var2 = (_Var3._M_nxt)->_M_nxt;" (assignment_expression "p_Var2 = (_Var3._M_nxt)->_M_nxt" identifier = (field_expression "(_Var3._M_nxt)->_M_nxt" (parenthesized_expression "(_Var3._M_nxt)" ( (field_expression "_Var3._M_nxt" identifier . field_identifier) )) -> field_identifier)) ;) (expression_statement "operator_delete(_Var3._M_nxt);" (call_expression "operator_delete(_Var3._M_nxt)" identifier (argument_list "(_Var3._M_nxt)" ( (field_expression "_Var3._M_nxt" identifier . field_identifier) ))) ;) (expression_statement "_Var3._M_nxt = p_Var2;" (assignment_expression "_Var3._M_nxt = p_Var2" (field_expression "_Var3._M_nxt" identifier . field_identifier) = identifier) ;) })) (expression_statement "memset(dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets,0,\n         dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_bucket_count << 2);" (call_expression "memset(dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets,0,\n         dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_bucket_count << 2)" identifier (argument_list "(dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets,0,\n         dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_bucket_count << 2)" ( (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) , number_literal , (binary_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_bucket_count << 2" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_bucket_count" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) << number_literal) ))) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_element_count = 0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_element_count = 0" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_element_count" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin._M_nxt =\n       (_Hash_node_base *)0x0;" (assignment_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin._M_nxt =\n       (_Hash_node_base *)0x0" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin._M_nxt" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets != pp_Var1) {\n    operator_delete(dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets)\n    ;\n  }" if (parenthesized_expression "(dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets != pp_Var1)" ( (binary_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets != pp_Var1" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) != identifier) )) (compound_statement "{\n    operator_delete(dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets)\n    ;\n  }" { (expression_statement "operator_delete(dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets)\n    ;" (call_expression "operator_delete(dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets)" identifier (argument_list "(dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets)" ( (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_" (field_expression "dwinfo.super_Dwarf_info_reader.abbrev_table_" (field_expression "dwinfo.super_Dwarf_info_reader" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00078190(int param_1,undefined1 param_2,int param_3,undefined4 param_4,undefined4 param_5,\n                 undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  undefined **local_508;\n  undefined1 local_504;\n  int local_500;\n  undefined4 local_4fc;\n  undefined4 local_4f8;\n  undefined4 local_4f4;\n  undefined4 local_4f0;\n  undefined4 local_4ec;\n  undefined4 local_4e8;\n  undefined4 local_4e4;\n  undefined4 local_4e0;\n  undefined4 local_4dc;\n  undefined4 local_4d8;\n  undefined4 local_4d4;\n  undefined4 local_4d0;\n  undefined4 local_4cc;\n  undefined4 local_4c8;\n  undefined4 local_4c4;\n  undefined4 local_4c0;\n  undefined4 local_4bc;\n  undefined4 local_4b8;\n  undefined4 local_4b4;\n  undefined4 local_4b0;\n  int local_4ac;\n  undefined4 local_4a8;\n  char local_4a4;\n  undefined4 local_4a0;\n  undefined4 local_49c [256];\n  undefined4 *local_9c;\n  int local_98;\n  undefined4 *local_94;\n  undefined4 local_90;\n  undefined4 local_8c;\n  undefined4 local_88;\n  undefined4 local_84;\n  undefined ***local_80;\n  undefined4 local_7c;\n  int local_78;\n  undefined4 local_74;\n  char local_70;\n  int *local_6c;\n  undefined4 local_68;\n  undefined4 local_64;\n  undefined4 local_60;\n  int *local_5c;\n  int local_58;\n  undefined4 local_54;\n  char local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  int local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20 [4];\n  \n  local_4e4 = 0;\n  local_4e0 = 0;\n  local_504 = param_2;\n  local_4fc = param_4;\n  local_500 = param_3;\n  local_4f4 = param_6;\n  local_4f8 = param_5;\n  local_4dc = 0;\n  local_4f0 = param_7;\n  local_4d8 = 0;\n  local_4ec = param_8;\n  local_4d4 = 0;\n  local_4e8 = param_9;\n  local_4d0 = 0;\n  local_4cc = 0;\n  puVar3 = local_49c;\n  local_9c = &local_84;\n  for (iVar2 = 0x100; iVar2 != 0; iVar2 = iVar2 + -1) {\n    *puVar3 = 0;\n    puVar3 = puVar3 + 1;\n  }\n  local_38 = local_20;\n  local_8c = 0x3f800000;\n  local_4c8 = 0;\n  local_4c4 = 0;\n  local_4c0 = 0;\n  local_4bc = 0;\n  local_4b8 = 0;\n  local_4b4 = 0;\n  local_4b0 = 0;\n  local_4ac = 0;\n  local_4a8 = 0;\n  local_4a4 = '\0';\n  local_4a0 = 0;\n  local_90 = 0;\n  local_88 = 0;\n  local_84 = 0;\n  local_98 = 1;\n  local_94 = (undefined4 *)0x0;\n  local_7c = 0;\n  local_78 = 0;\n  local_74 = 0;\n  local_70 = '\0';\n  local_6c = (int *)0x0;\n  local_68 = 0;\n  local_64 = 0;\n  local_60 = 0;\n  local_5c = (int *)0x0;\n  local_58 = 0;\n  local_54 = 0;\n  local_50 = '\0';\n  local_4c = 0;\n  local_48 = 0;\n  local_44 = param_1;\n  local_40 = 0;\n  local_3c = 0;\n  local_34 = 1;\n  local_30 = 0;\n  local_2c = 0;\n  local_28 = 0x3f800000;\n  local_24 = 0;\n  local_20[0] = 0;\n  local_508 = &PTR_FUN_0039d950;\n  local_80 = &local_508;\n  if (*(int *)(param_1 + 0x11c) != param_3) {\n                    \n    FUN_00078080(param_1,&local_508,param_3,param_4,param_5,param_6);\n  }\n  FUN_001bfaa0(&local_508);\n  local_508 = &PTR_FUN_0039d950;\n  FUN_000773b0(&local_508);\n  FUN_00079aa0(&local_38);\n  local_508 = &PTR_FUN_003a0828;\n  if (local_5c != (int *)0x0) {\n    (**(code **)(*local_5c + 4))(local_5c);\n  }\n  if ((local_50 != '\0') && (local_58 != 0)) {\n    FUN_001fcfc0(local_58);\n  }\n  if ((local_70 != '\0') && (local_78 != 0)) {\n    FUN_001fcfc0(local_78);\n  }\n  if (local_6c != (int *)0x0) {\n    (**(code **)(*local_6c + 4))(local_6c);\n  }\n  if ((local_4a4 != '\0') && (local_4ac != 0)) {\n    FUN_001fcfc0(local_4ac);\n  }\n  FUN_001bda50(&local_4b8);\n  puVar3 = local_94;\n  while (puVar3 != (undefined4 *)0x0) {\n    puVar1 = (undefined4 *)*puVar3;\n    FUN_001fd020(puVar3);\n    puVar3 = puVar1;\n  }\n  memset(local_9c,0,local_98 << 2);\n  local_90 = 0;\n  local_94 = (undefined4 *)0x0;\n  if (local_9c != &local_84) {\n    FUN_001fd020(local_9c);\n  }\n  return;\n}\n\n" (function_definition "void FUN_00078190(int param_1,undefined1 param_2,int param_3,undefined4 param_4,undefined4 param_5,\n                 undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  undefined **local_508;\n  undefined1 local_504;\n  int local_500;\n  undefined4 local_4fc;\n  undefined4 local_4f8;\n  undefined4 local_4f4;\n  undefined4 local_4f0;\n  undefined4 local_4ec;\n  undefined4 local_4e8;\n  undefined4 local_4e4;\n  undefined4 local_4e0;\n  undefined4 local_4dc;\n  undefined4 local_4d8;\n  undefined4 local_4d4;\n  undefined4 local_4d0;\n  undefined4 local_4cc;\n  undefined4 local_4c8;\n  undefined4 local_4c4;\n  undefined4 local_4c0;\n  undefined4 local_4bc;\n  undefined4 local_4b8;\n  undefined4 local_4b4;\n  undefined4 local_4b0;\n  int local_4ac;\n  undefined4 local_4a8;\n  char local_4a4;\n  undefined4 local_4a0;\n  undefined4 local_49c [256];\n  undefined4 *local_9c;\n  int local_98;\n  undefined4 *local_94;\n  undefined4 local_90;\n  undefined4 local_8c;\n  undefined4 local_88;\n  undefined4 local_84;\n  undefined ***local_80;\n  undefined4 local_7c;\n  int local_78;\n  undefined4 local_74;\n  char local_70;\n  int *local_6c;\n  undefined4 local_68;\n  undefined4 local_64;\n  undefined4 local_60;\n  int *local_5c;\n  int local_58;\n  undefined4 local_54;\n  char local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  int local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20 [4];\n  \n  local_4e4 = 0;\n  local_4e0 = 0;\n  local_504 = param_2;\n  local_4fc = param_4;\n  local_500 = param_3;\n  local_4f4 = param_6;\n  local_4f8 = param_5;\n  local_4dc = 0;\n  local_4f0 = param_7;\n  local_4d8 = 0;\n  local_4ec = param_8;\n  local_4d4 = 0;\n  local_4e8 = param_9;\n  local_4d0 = 0;\n  local_4cc = 0;\n  puVar3 = local_49c;\n  local_9c = &local_84;\n  for (iVar2 = 0x100; iVar2 != 0; iVar2 = iVar2 + -1) {\n    *puVar3 = 0;\n    puVar3 = puVar3 + 1;\n  }\n  local_38 = local_20;\n  local_8c = 0x3f800000;\n  local_4c8 = 0;\n  local_4c4 = 0;\n  local_4c0 = 0;\n  local_4bc = 0;\n  local_4b8 = 0;\n  local_4b4 = 0;\n  local_4b0 = 0;\n  local_4ac = 0;\n  local_4a8 = 0;\n  local_4a4 = '\0';\n  local_4a0 = 0;\n  local_90 = 0;\n  local_88 = 0;\n  local_84 = 0;\n  local_98 = 1;\n  local_94 = (undefined4 *)0x0;\n  local_7c = 0;\n  local_78 = 0;\n  local_74 = 0;\n  local_70 = '\0';\n  local_6c = (int *)0x0;\n  local_68 = 0;\n  local_64 = 0;\n  local_60 = 0;\n  local_5c = (int *)0x0;\n  local_58 = 0;\n  local_54 = 0;\n  local_50 = '\0';\n  local_4c = 0;\n  local_48 = 0;\n  local_44 = param_1;\n  local_40 = 0;\n  local_3c = 0;\n  local_34 = 1;\n  local_30 = 0;\n  local_2c = 0;\n  local_28 = 0x3f800000;\n  local_24 = 0;\n  local_20[0] = 0;\n  local_508 = &PTR_FUN_0039d950;\n  local_80 = &local_508;\n  if (*(int *)(param_1 + 0x11c) != param_3) {\n                    \n    FUN_00078080(param_1,&local_508,param_3,param_4,param_5,param_6);\n  }\n  FUN_001bfaa0(&local_508);\n  local_508 = &PTR_FUN_0039d950;\n  FUN_000773b0(&local_508);\n  FUN_00079aa0(&local_38);\n  local_508 = &PTR_FUN_003a0828;\n  if (local_5c != (int *)0x0) {\n    (**(code **)(*local_5c + 4))(local_5c);\n  }\n  if ((local_50 != '\0') && (local_58 != 0)) {\n    FUN_001fcfc0(local_58);\n  }\n  if ((local_70 != '\0') && (local_78 != 0)) {\n    FUN_001fcfc0(local_78);\n  }\n  if (local_6c != (int *)0x0) {\n    (**(code **)(*local_6c + 4))(local_6c);\n  }\n  if ((local_4a4 != '\0') && (local_4ac != 0)) {\n    FUN_001fcfc0(local_4ac);\n  }\n  FUN_001bda50(&local_4b8);\n  puVar3 = local_94;\n  while (puVar3 != (undefined4 *)0x0) {\n    puVar1 = (undefined4 *)*puVar3;\n    FUN_001fd020(puVar3);\n    puVar3 = puVar1;\n  }\n  memset(local_9c,0,local_98 << 2);\n  local_90 = 0;\n  local_94 = (undefined4 *)0x0;\n  if (local_9c != &local_84) {\n    FUN_001fd020(local_9c);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00078190(int param_1,undefined1 param_2,int param_3,undefined4 param_4,undefined4 param_5,\n                 undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9)" identifier (parameter_list "(int param_1,undefined1 param_2,int param_3,undefined4 param_4,undefined4 param_5,\n                 undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined1 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "undefined4 param_7" type_identifier identifier) , (parameter_declaration "undefined4 param_8" type_identifier identifier) , (parameter_declaration "undefined4 param_9" type_identifier identifier) ))) (compound_statement "{\n  undefined4 *puVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  undefined **local_508;\n  undefined1 local_504;\n  int local_500;\n  undefined4 local_4fc;\n  undefined4 local_4f8;\n  undefined4 local_4f4;\n  undefined4 local_4f0;\n  undefined4 local_4ec;\n  undefined4 local_4e8;\n  undefined4 local_4e4;\n  undefined4 local_4e0;\n  undefined4 local_4dc;\n  undefined4 local_4d8;\n  undefined4 local_4d4;\n  undefined4 local_4d0;\n  undefined4 local_4cc;\n  undefined4 local_4c8;\n  undefined4 local_4c4;\n  undefined4 local_4c0;\n  undefined4 local_4bc;\n  undefined4 local_4b8;\n  undefined4 local_4b4;\n  undefined4 local_4b0;\n  int local_4ac;\n  undefined4 local_4a8;\n  char local_4a4;\n  undefined4 local_4a0;\n  undefined4 local_49c [256];\n  undefined4 *local_9c;\n  int local_98;\n  undefined4 *local_94;\n  undefined4 local_90;\n  undefined4 local_8c;\n  undefined4 local_88;\n  undefined4 local_84;\n  undefined ***local_80;\n  undefined4 local_7c;\n  int local_78;\n  undefined4 local_74;\n  char local_70;\n  int *local_6c;\n  undefined4 local_68;\n  undefined4 local_64;\n  undefined4 local_60;\n  int *local_5c;\n  int local_58;\n  undefined4 local_54;\n  char local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  int local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20 [4];\n  \n  local_4e4 = 0;\n  local_4e0 = 0;\n  local_504 = param_2;\n  local_4fc = param_4;\n  local_500 = param_3;\n  local_4f4 = param_6;\n  local_4f8 = param_5;\n  local_4dc = 0;\n  local_4f0 = param_7;\n  local_4d8 = 0;\n  local_4ec = param_8;\n  local_4d4 = 0;\n  local_4e8 = param_9;\n  local_4d0 = 0;\n  local_4cc = 0;\n  puVar3 = local_49c;\n  local_9c = &local_84;\n  for (iVar2 = 0x100; iVar2 != 0; iVar2 = iVar2 + -1) {\n    *puVar3 = 0;\n    puVar3 = puVar3 + 1;\n  }\n  local_38 = local_20;\n  local_8c = 0x3f800000;\n  local_4c8 = 0;\n  local_4c4 = 0;\n  local_4c0 = 0;\n  local_4bc = 0;\n  local_4b8 = 0;\n  local_4b4 = 0;\n  local_4b0 = 0;\n  local_4ac = 0;\n  local_4a8 = 0;\n  local_4a4 = '\0';\n  local_4a0 = 0;\n  local_90 = 0;\n  local_88 = 0;\n  local_84 = 0;\n  local_98 = 1;\n  local_94 = (undefined4 *)0x0;\n  local_7c = 0;\n  local_78 = 0;\n  local_74 = 0;\n  local_70 = '\0';\n  local_6c = (int *)0x0;\n  local_68 = 0;\n  local_64 = 0;\n  local_60 = 0;\n  local_5c = (int *)0x0;\n  local_58 = 0;\n  local_54 = 0;\n  local_50 = '\0';\n  local_4c = 0;\n  local_48 = 0;\n  local_44 = param_1;\n  local_40 = 0;\n  local_3c = 0;\n  local_34 = 1;\n  local_30 = 0;\n  local_2c = 0;\n  local_28 = 0x3f800000;\n  local_24 = 0;\n  local_20[0] = 0;\n  local_508 = &PTR_FUN_0039d950;\n  local_80 = &local_508;\n  if (*(int *)(param_1 + 0x11c) != param_3) {\n                    \n    FUN_00078080(param_1,&local_508,param_3,param_4,param_5,param_6);\n  }\n  FUN_001bfaa0(&local_508);\n  local_508 = &PTR_FUN_0039d950;\n  FUN_000773b0(&local_508);\n  FUN_00079aa0(&local_38);\n  local_508 = &PTR_FUN_003a0828;\n  if (local_5c != (int *)0x0) {\n    (**(code **)(*local_5c + 4))(local_5c);\n  }\n  if ((local_50 != '\0') && (local_58 != 0)) {\n    FUN_001fcfc0(local_58);\n  }\n  if ((local_70 != '\0') && (local_78 != 0)) {\n    FUN_001fcfc0(local_78);\n  }\n  if (local_6c != (int *)0x0) {\n    (**(code **)(*local_6c + 4))(local_6c);\n  }\n  if ((local_4a4 != '\0') && (local_4ac != 0)) {\n    FUN_001fcfc0(local_4ac);\n  }\n  FUN_001bda50(&local_4b8);\n  puVar3 = local_94;\n  while (puVar3 != (undefined4 *)0x0) {\n    puVar1 = (undefined4 *)*puVar3;\n    FUN_001fd020(puVar3);\n    puVar3 = puVar1;\n  }\n  memset(local_9c,0,local_98 << 2);\n  local_90 = 0;\n  local_94 = (undefined4 *)0x0;\n  if (local_9c != &local_84) {\n    FUN_001fd020(local_9c);\n  }\n  return;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined **local_508;" type_identifier (pointer_declarator "**local_508" * (pointer_declarator "*local_508" * identifier)) ;) (declaration "undefined1 local_504;" type_identifier identifier ;) (declaration "int local_500;" primitive_type identifier ;) (declaration "undefined4 local_4fc;" type_identifier identifier ;) (declaration "undefined4 local_4f8;" type_identifier identifier ;) (declaration "undefined4 local_4f4;" type_identifier identifier ;) (declaration "undefined4 local_4f0;" type_identifier identifier ;) (declaration "undefined4 local_4ec;" type_identifier identifier ;) (declaration "undefined4 local_4e8;" type_identifier identifier ;) (declaration "undefined4 local_4e4;" type_identifier identifier ;) (declaration "undefined4 local_4e0;" type_identifier identifier ;) (declaration "undefined4 local_4dc;" type_identifier identifier ;) (declaration "undefined4 local_4d8;" type_identifier identifier ;) (declaration "undefined4 local_4d4;" type_identifier identifier ;) (declaration "undefined4 local_4d0;" type_identifier identifier ;) (declaration "undefined4 local_4cc;" type_identifier identifier ;) (declaration "undefined4 local_4c8;" type_identifier identifier ;) (declaration "undefined4 local_4c4;" type_identifier identifier ;) (declaration "undefined4 local_4c0;" type_identifier identifier ;) (declaration "undefined4 local_4bc;" type_identifier identifier ;) (declaration "undefined4 local_4b8;" type_identifier identifier ;) (declaration "undefined4 local_4b4;" type_identifier identifier ;) (declaration "undefined4 local_4b0;" type_identifier identifier ;) (declaration "int local_4ac;" primitive_type identifier ;) (declaration "undefined4 local_4a8;" type_identifier identifier ;) (declaration "char local_4a4;" primitive_type identifier ;) (declaration "undefined4 local_4a0;" type_identifier identifier ;) (declaration "undefined4 local_49c [256];" type_identifier (array_declarator "local_49c [256]" identifier [ number_literal ]) ;) (declaration "undefined4 *local_9c;" type_identifier (pointer_declarator "*local_9c" * identifier) ;) (declaration "int local_98;" primitive_type identifier ;) (declaration "undefined4 *local_94;" type_identifier (pointer_declarator "*local_94" * identifier) ;) (declaration "undefined4 local_90;" type_identifier identifier ;) (declaration "undefined4 local_8c;" type_identifier identifier ;) (declaration "undefined4 local_88;" type_identifier identifier ;) (declaration "undefined4 local_84;" type_identifier identifier ;) (declaration "undefined ***local_80;" type_identifier (pointer_declarator "***local_80" * (pointer_declarator "**local_80" * (pointer_declarator "*local_80" * identifier))) ;) (declaration "undefined4 local_7c;" type_identifier identifier ;) (declaration "int local_78;" primitive_type identifier ;) (declaration "undefined4 local_74;" type_identifier identifier ;) (declaration "char local_70;" primitive_type identifier ;) (declaration "int *local_6c;" primitive_type (pointer_declarator "*local_6c" * identifier) ;) (declaration "undefined4 local_68;" type_identifier identifier ;) (declaration "undefined4 local_64;" type_identifier identifier ;) (declaration "undefined4 local_60;" type_identifier identifier ;) (declaration "int *local_5c;" primitive_type (pointer_declarator "*local_5c" * identifier) ;) (declaration "int local_58;" primitive_type identifier ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "char local_50;" primitive_type identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined4 local_20 [4];" type_identifier (array_declarator "local_20 [4]" identifier [ number_literal ]) ;) (expression_statement "local_4e4 = 0;" (assignment_expression "local_4e4 = 0" identifier = number_literal) ;) (expression_statement "local_4e0 = 0;" (assignment_expression "local_4e0 = 0" identifier = number_literal) ;) (expression_statement "local_504 = param_2;" (assignment_expression "local_504 = param_2" identifier = identifier) ;) (expression_statement "local_4fc = param_4;" (assignment_expression "local_4fc = param_4" identifier = identifier) ;) (expression_statement "local_500 = param_3;" (assignment_expression "local_500 = param_3" identifier = identifier) ;) (expression_statement "local_4f4 = param_6;" (assignment_expression "local_4f4 = param_6" identifier = identifier) ;) (expression_statement "local_4f8 = param_5;" (assignment_expression "local_4f8 = param_5" identifier = identifier) ;) (expression_statement "local_4dc = 0;" (assignment_expression "local_4dc = 0" identifier = number_literal) ;) (expression_statement "local_4f0 = param_7;" (assignment_expression "local_4f0 = param_7" identifier = identifier) ;) (expression_statement "local_4d8 = 0;" (assignment_expression "local_4d8 = 0" identifier = number_literal) ;) (expression_statement "local_4ec = param_8;" (assignment_expression "local_4ec = param_8" identifier = identifier) ;) (expression_statement "local_4d4 = 0;" (assignment_expression "local_4d4 = 0" identifier = number_literal) ;) (expression_statement "local_4e8 = param_9;" (assignment_expression "local_4e8 = param_9" identifier = identifier) ;) (expression_statement "local_4d0 = 0;" (assignment_expression "local_4d0 = 0" identifier = number_literal) ;) (expression_statement "local_4cc = 0;" (assignment_expression "local_4cc = 0" identifier = number_literal) ;) (expression_statement "puVar3 = local_49c;" (assignment_expression "puVar3 = local_49c" identifier = identifier) ;) (expression_statement "local_9c = &local_84;" (assignment_expression "local_9c = &local_84" identifier = (pointer_expression "&local_84" & identifier)) ;) (for_statement "for (iVar2 = 0x100; iVar2 != 0; iVar2 = iVar2 + -1) {\n    *puVar3 = 0;\n    puVar3 = puVar3 + 1;\n  }" for ( (assignment_expression "iVar2 = 0x100" identifier = number_literal) ; (binary_expression "iVar2 != 0" identifier != number_literal) ; (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) ) (compound_statement "{\n    *puVar3 = 0;\n    puVar3 = puVar3 + 1;\n  }" { (expression_statement "*puVar3 = 0;" (assignment_expression "*puVar3 = 0" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (expression_statement "puVar3 = puVar3 + 1;" (assignment_expression "puVar3 = puVar3 + 1" identifier = (binary_expression "puVar3 + 1" identifier + number_literal)) ;) })) (expression_statement "local_38 = local_20;" (assignment_expression "local_38 = local_20" identifier = identifier) ;) (expression_statement "local_8c = 0x3f800000;" (assignment_expression "local_8c = 0x3f800000" identifier = number_literal) ;) (expression_statement "local_4c8 = 0;" (assignment_expression "local_4c8 = 0" identifier = number_literal) ;) (expression_statement "local_4c4 = 0;" (assignment_expression "local_4c4 = 0" identifier = number_literal) ;) (expression_statement "local_4c0 = 0;" (assignment_expression "local_4c0 = 0" identifier = number_literal) ;) (expression_statement "local_4bc = 0;" (assignment_expression "local_4bc = 0" identifier = number_literal) ;) (expression_statement "local_4b8 = 0;" (assignment_expression "local_4b8 = 0" identifier = number_literal) ;) (expression_statement "local_4b4 = 0;" (assignment_expression "local_4b4 = 0" identifier = number_literal) ;) (expression_statement "local_4b0 = 0;" (assignment_expression "local_4b0 = 0" identifier = number_literal) ;) (expression_statement "local_4ac = 0;" (assignment_expression "local_4ac = 0" identifier = number_literal) ;) (expression_statement "local_4a8 = 0;" (assignment_expression "local_4a8 = 0" identifier = number_literal) ;) (expression_statement "local_4a4 = '\0';" (assignment_expression "local_4a4 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_4a0 = 0;" (assignment_expression "local_4a0 = 0" identifier = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) (expression_statement "local_98 = 1;" (assignment_expression "local_98 = 1" identifier = number_literal) ;) (expression_statement "local_94 = (undefined4 *)0x0;" (assignment_expression "local_94 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" identifier = number_literal) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (expression_statement "local_70 = '\0';" (assignment_expression "local_70 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_6c = (int *)0x0;" (assignment_expression "local_6c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_5c = (int *)0x0;" (assignment_expression "local_5c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_50 = '\0';" (assignment_expression "local_50 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "local_44 = param_1;" (assignment_expression "local_44 = param_1" identifier = identifier) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_34 = 1;" (assignment_expression "local_34 = 1" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) (expression_statement "local_28 = 0x3f800000;" (assignment_expression "local_28 = 0x3f800000" identifier = number_literal) ;) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (expression_statement "local_20[0] = 0;" (assignment_expression "local_20[0] = 0" (subscript_expression "local_20[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_508 = &PTR_FUN_0039d950;" (assignment_expression "local_508 = &PTR_FUN_0039d950" identifier = (pointer_expression "&PTR_FUN_0039d950" & identifier)) ;) (expression_statement "local_80 = &local_508;" (assignment_expression "local_80 = &local_508" identifier = (pointer_expression "&local_508" & identifier)) ;) (if_statement "if (*(int *)(param_1 + 0x11c) != param_3) {\n                    \n    FUN_00078080(param_1,&local_508,param_3,param_4,param_5,param_6);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x11c) != param_3)" ( (binary_expression "*(int *)(param_1 + 0x11c) != param_3" (pointer_expression "*(int *)(param_1 + 0x11c)" * (cast_expression "(int *)(param_1 + 0x11c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x11c)" ( (binary_expression "param_1 + 0x11c" identifier + number_literal) )))) != identifier) )) (compound_statement "{\n                    \n    FUN_00078080(param_1,&local_508,param_3,param_4,param_5,param_6);\n  }" { (expression_statement "FUN_00078080(param_1,&local_508,param_3,param_4,param_5,param_6);" (call_expression "FUN_00078080(param_1,&local_508,param_3,param_4,param_5,param_6)" identifier (argument_list "(param_1,&local_508,param_3,param_4,param_5,param_6)" ( identifier , (pointer_expression "&local_508" & identifier) , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "FUN_001bfaa0(&local_508);" (call_expression "FUN_001bfaa0(&local_508)" identifier (argument_list "(&local_508)" ( (pointer_expression "&local_508" & identifier) ))) ;) (expression_statement "local_508 = &PTR_FUN_0039d950;" (assignment_expression "local_508 = &PTR_FUN_0039d950" identifier = (pointer_expression "&PTR_FUN_0039d950" & identifier)) ;) (expression_statement "FUN_000773b0(&local_508);" (call_expression "FUN_000773b0(&local_508)" identifier (argument_list "(&local_508)" ( (pointer_expression "&local_508" & identifier) ))) ;) (expression_statement "FUN_00079aa0(&local_38);" (call_expression "FUN_00079aa0(&local_38)" identifier (argument_list "(&local_38)" ( (pointer_expression "&local_38" & identifier) ))) ;) (expression_statement "local_508 = &PTR_FUN_003a0828;" (assignment_expression "local_508 = &PTR_FUN_003a0828" identifier = (pointer_expression "&PTR_FUN_003a0828" & identifier)) ;) (if_statement "if (local_5c != (int *)0x0) {\n    (**(code **)(*local_5c + 4))(local_5c);\n  }" if (parenthesized_expression "(local_5c != (int *)0x0)" ( (binary_expression "local_5c != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(*local_5c + 4))(local_5c);\n  }" { (expression_statement "(**(code **)(*local_5c + 4))(local_5c);" (call_expression "(**(code **)(*local_5c + 4))(local_5c)" (parenthesized_expression "(**(code **)(*local_5c + 4))" ( (pointer_expression "**(code **)(*local_5c + 4)" * (pointer_expression "*(code **)(*local_5c + 4)" * (cast_expression "(code **)(*local_5c + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_5c + 4)" ( (binary_expression "*local_5c + 4" (pointer_expression "*local_5c" * identifier) + number_literal) ))))) )) (argument_list "(local_5c)" ( identifier ))) ;) })) (if_statement "if ((local_50 != '\0') && (local_58 != 0)) {\n    FUN_001fcfc0(local_58);\n  }" if (parenthesized_expression "((local_50 != '\0') && (local_58 != 0))" ( (binary_expression "(local_50 != '\0') && (local_58 != 0)" (parenthesized_expression "(local_50 != '\0')" ( (binary_expression "local_50 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(local_58 != 0)" ( (binary_expression "local_58 != 0" identifier != number_literal) ))) )) (compound_statement "{\n    FUN_001fcfc0(local_58);\n  }" { (expression_statement "FUN_001fcfc0(local_58);" (call_expression "FUN_001fcfc0(local_58)" identifier (argument_list "(local_58)" ( identifier ))) ;) })) (if_statement "if ((local_70 != '\0') && (local_78 != 0)) {\n    FUN_001fcfc0(local_78);\n  }" if (parenthesized_expression "((local_70 != '\0') && (local_78 != 0))" ( (binary_expression "(local_70 != '\0') && (local_78 != 0)" (parenthesized_expression "(local_70 != '\0')" ( (binary_expression "local_70 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(local_78 != 0)" ( (binary_expression "local_78 != 0" identifier != number_literal) ))) )) (compound_statement "{\n    FUN_001fcfc0(local_78);\n  }" { (expression_statement "FUN_001fcfc0(local_78);" (call_expression "FUN_001fcfc0(local_78)" identifier (argument_list "(local_78)" ( identifier ))) ;) })) (if_statement "if (local_6c != (int *)0x0) {\n    (**(code **)(*local_6c + 4))(local_6c);\n  }" if (parenthesized_expression "(local_6c != (int *)0x0)" ( (binary_expression "local_6c != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(*local_6c + 4))(local_6c);\n  }" { (expression_statement "(**(code **)(*local_6c + 4))(local_6c);" (call_expression "(**(code **)(*local_6c + 4))(local_6c)" (parenthesized_expression "(**(code **)(*local_6c + 4))" ( (pointer_expression "**(code **)(*local_6c + 4)" * (pointer_expression "*(code **)(*local_6c + 4)" * (cast_expression "(code **)(*local_6c + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_6c + 4)" ( (binary_expression "*local_6c + 4" (pointer_expression "*local_6c" * identifier) + number_literal) ))))) )) (argument_list "(local_6c)" ( identifier ))) ;) })) (if_statement "if ((local_4a4 != '\0') && (local_4ac != 0)) {\n    FUN_001fcfc0(local_4ac);\n  }" if (parenthesized_expression "((local_4a4 != '\0') && (local_4ac != 0))" ( (binary_expression "(local_4a4 != '\0') && (local_4ac != 0)" (parenthesized_expression "(local_4a4 != '\0')" ( (binary_expression "local_4a4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(local_4ac != 0)" ( (binary_expression "local_4ac != 0" identifier != number_literal) ))) )) (compound_statement "{\n    FUN_001fcfc0(local_4ac);\n  }" { (expression_statement "FUN_001fcfc0(local_4ac);" (call_expression "FUN_001fcfc0(local_4ac)" identifier (argument_list "(local_4ac)" ( identifier ))) ;) })) (expression_statement "FUN_001bda50(&local_4b8);" (call_expression "FUN_001bda50(&local_4b8)" identifier (argument_list "(&local_4b8)" ( (pointer_expression "&local_4b8" & identifier) ))) ;) (expression_statement "puVar3 = local_94;" (assignment_expression "puVar3 = local_94" identifier = identifier) ;) (while_statement "while (puVar3 != (undefined4 *)0x0) {\n    puVar1 = (undefined4 *)*puVar3;\n    FUN_001fd020(puVar3);\n    puVar3 = puVar1;\n  }" while (parenthesized_expression "(puVar3 != (undefined4 *)0x0)" ( (binary_expression "puVar3 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar1 = (undefined4 *)*puVar3;\n    FUN_001fd020(puVar3);\n    puVar3 = puVar1;\n  }" { (expression_statement "puVar1 = (undefined4 *)*puVar3;" (assignment_expression "puVar1 = (undefined4 *)*puVar3" identifier = (cast_expression "(undefined4 *)*puVar3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier))) ;) (expression_statement "FUN_001fd020(puVar3);" (call_expression "FUN_001fd020(puVar3)" identifier (argument_list "(puVar3)" ( identifier ))) ;) (expression_statement "puVar3 = puVar1;" (assignment_expression "puVar3 = puVar1" identifier = identifier) ;) })) (expression_statement "memset(local_9c,0,local_98 << 2);" (call_expression "memset(local_9c,0,local_98 << 2)" identifier (argument_list "(local_9c,0,local_98 << 2)" ( identifier , number_literal , (binary_expression "local_98 << 2" identifier << number_literal) ))) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_94 = (undefined4 *)0x0;" (assignment_expression "local_94 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_9c != &local_84) {\n    FUN_001fd020(local_9c);\n  }" if (parenthesized_expression "(local_9c != &local_84)" ( (binary_expression "local_9c != &local_84" identifier != (pointer_expression "&local_84" & identifier)) )) (compound_statement "{\n    FUN_001fd020(local_9c);\n  }" { (expression_statement "FUN_001fd020(local_9c);" (call_expression "FUN_001fd020(local_9c)" identifier (argument_list "(local_9c)" ( identifier ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * 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 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 (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * 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 * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 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 IDENT = (char_literal ' escape_sequence ')) ;) (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , IDENT , IDENT , IDENT , IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression IDENT << LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression & IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (return_statement return ;) })))
(function_definition "void FUN_00078190(int param_1,undefined1 param_2,int param_3,undefined4 param_4,undefined4 param_5,\n                 undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  undefined **local_508;\n  undefined1 local_504;\n  int local_500;\n  undefined4 local_4fc;\n  undefined4 local_4f8;\n  undefined4 local_4f4;\n  undefined4 local_4f0;\n  undefined4 local_4ec;\n  undefined4 local_4e8;\n  undefined4 local_4e4;\n  undefined4 local_4e0;\n  undefined4 local_4dc;\n  undefined4 local_4d8;\n  undefined4 local_4d4;\n  undefined4 local_4d0;\n  undefined4 local_4cc;\n  undefined4 local_4c8;\n  undefined4 local_4c4;\n  undefined4 local_4c0;\n  undefined4 local_4bc;\n  undefined4 local_4b8;\n  undefined4 local_4b4;\n  undefined4 local_4b0;\n  int local_4ac;\n  undefined4 local_4a8;\n  char local_4a4;\n  undefined4 local_4a0;\n  undefined4 local_49c [256];\n  undefined4 *local_9c;\n  int local_98;\n  undefined4 *local_94;\n  undefined4 local_90;\n  undefined4 local_8c;\n  undefined4 local_88;\n  undefined4 local_84;\n  undefined ***local_80;\n  undefined4 local_7c;\n  int local_78;\n  undefined4 local_74;\n  char local_70;\n  int *local_6c;\n  undefined4 local_68;\n  undefined4 local_64;\n  undefined4 local_60;\n  int *local_5c;\n  int local_58;\n  undefined4 local_54;\n  char local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  int local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20 [4];\n  \n  local_4e4 = 0;\n  local_4e0 = 0;\n  local_504 = param_2;\n  local_4fc = param_4;\n  local_500 = param_3;\n  local_4f4 = param_6;\n  local_4f8 = param_5;\n  local_4dc = 0;\n  local_4f0 = param_7;\n  local_4d8 = 0;\n  local_4ec = param_8;\n  local_4d4 = 0;\n  local_4e8 = param_9;\n  local_4d0 = 0;\n  local_4cc = 0;\n  puVar3 = local_49c;\n  local_9c = &local_84;\n  for (iVar2 = 0x100; iVar2 != 0; iVar2 = iVar2 + -1) {\n    *puVar3 = 0;\n    puVar3 = puVar3 + 1;\n  }\n  local_38 = local_20;\n  local_8c = 0x3f800000;\n  local_4c8 = 0;\n  local_4c4 = 0;\n  local_4c0 = 0;\n  local_4bc = 0;\n  local_4b8 = 0;\n  local_4b4 = 0;\n  local_4b0 = 0;\n  local_4ac = 0;\n  local_4a8 = 0;\n  local_4a4 = '\0';\n  local_4a0 = 0;\n  local_90 = 0;\n  local_88 = 0;\n  local_84 = 0;\n  local_98 = 1;\n  local_94 = (undefined4 *)0x0;\n  local_7c = 0;\n  local_78 = 0;\n  local_74 = 0;\n  local_70 = '\0';\n  local_6c = (int *)0x0;\n  local_68 = 0;\n  local_64 = 0;\n  local_60 = 0;\n  local_5c = (int *)0x0;\n  local_58 = 0;\n  local_54 = 0;\n  local_50 = '\0';\n  local_4c = 0;\n  local_48 = 0;\n  local_44 = param_1;\n  local_40 = 0;\n  local_3c = 0;\n  local_34 = 1;\n  local_30 = 0;\n  local_2c = 0;\n  local_28 = 0x3f800000;\n  local_24 = 0;\n  local_20[0] = 0;\n  local_508 = &PTR_FUN_0039d950;\n  local_80 = &local_508;\n  if (*(int *)(param_1 + 0x11c) != param_3) {\n                    \n    FUN_00078080(param_1,&local_508,param_3,param_4,param_5,param_6);\n  }\n  FUN_001bfaa0(&local_508);\n  local_508 = &PTR_FUN_0039d950;\n  FUN_000773b0(&local_508);\n  FUN_00079aa0(&local_38);\n  local_508 = &PTR_FUN_003a0828;\n  if (local_5c != (int *)0x0) {\n    (**(code **)(*local_5c + 4))(local_5c);\n  }\n  if ((local_50 != '\0') && (local_58 != 0)) {\n    FUN_001fcfc0(local_58);\n  }\n  if ((local_70 != '\0') && (local_78 != 0)) {\n    FUN_001fcfc0(local_78);\n  }\n  if (local_6c != (int *)0x0) {\n    (**(code **)(*local_6c + 4))(local_6c);\n  }\n  if ((local_4a4 != '\0') && (local_4ac != 0)) {\n    FUN_001fcfc0(local_4ac);\n  }\n  FUN_001bda50(&local_4b8);\n  puVar3 = local_94;\n  while (puVar3 != (undefined4 *)0x0) {\n    puVar1 = (undefined4 *)*puVar3;\n    FUN_001fd020(puVar3);\n    puVar3 = puVar1;\n  }\n  memset(local_9c,0,local_98 << 2);\n  local_90 = 0;\n  local_94 = (undefined4 *)0x0;\n  if (local_9c != &local_84) {\n    FUN_001fd020(local_9c);\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00078190(int param_1,undefined1 param_2,int param_3,undefined4 param_4,undefined4 param_5,\n                 undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9)" (identifier "FUN_00078190") (parameter_list "(int param_1,undefined1 param_2,int param_3,undefined4 param_4,undefined4 param_5,\n                 undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined1 param_2" (type_identifier "undefined1") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) (, ",") (parameter_declaration "undefined4 param_6" (type_identifier "undefined4") (identifier "param_6")) (, ",") (parameter_declaration "undefined4 param_7" (type_identifier "undefined4") (identifier "param_7")) (, ",") (parameter_declaration "undefined4 param_8" (type_identifier "undefined4") (identifier "param_8")) (, ",") (parameter_declaration "undefined4 param_9" (type_identifier "undefined4") (identifier "param_9")) () ")"))) (compound_statement "{\n  undefined4 *puVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  undefined **local_508;\n  undefined1 local_504;\n  int local_500;\n  undefined4 local_4fc;\n  undefined4 local_4f8;\n  undefined4 local_4f4;\n  undefined4 local_4f0;\n  undefined4 local_4ec;\n  undefined4 local_4e8;\n  undefined4 local_4e4;\n  undefined4 local_4e0;\n  undefined4 local_4dc;\n  undefined4 local_4d8;\n  undefined4 local_4d4;\n  undefined4 local_4d0;\n  undefined4 local_4cc;\n  undefined4 local_4c8;\n  undefined4 local_4c4;\n  undefined4 local_4c0;\n  undefined4 local_4bc;\n  undefined4 local_4b8;\n  undefined4 local_4b4;\n  undefined4 local_4b0;\n  int local_4ac;\n  undefined4 local_4a8;\n  char local_4a4;\n  undefined4 local_4a0;\n  undefined4 local_49c [256];\n  undefined4 *local_9c;\n  int local_98;\n  undefined4 *local_94;\n  undefined4 local_90;\n  undefined4 local_8c;\n  undefined4 local_88;\n  undefined4 local_84;\n  undefined ***local_80;\n  undefined4 local_7c;\n  int local_78;\n  undefined4 local_74;\n  char local_70;\n  int *local_6c;\n  undefined4 local_68;\n  undefined4 local_64;\n  undefined4 local_60;\n  int *local_5c;\n  int local_58;\n  undefined4 local_54;\n  char local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  int local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20 [4];\n  \n  local_4e4 = 0;\n  local_4e0 = 0;\n  local_504 = param_2;\n  local_4fc = param_4;\n  local_500 = param_3;\n  local_4f4 = param_6;\n  local_4f8 = param_5;\n  local_4dc = 0;\n  local_4f0 = param_7;\n  local_4d8 = 0;\n  local_4ec = param_8;\n  local_4d4 = 0;\n  local_4e8 = param_9;\n  local_4d0 = 0;\n  local_4cc = 0;\n  puVar3 = local_49c;\n  local_9c = &local_84;\n  for (iVar2 = 0x100; iVar2 != 0; iVar2 = iVar2 + -1) {\n    *puVar3 = 0;\n    puVar3 = puVar3 + 1;\n  }\n  local_38 = local_20;\n  local_8c = 0x3f800000;\n  local_4c8 = 0;\n  local_4c4 = 0;\n  local_4c0 = 0;\n  local_4bc = 0;\n  local_4b8 = 0;\n  local_4b4 = 0;\n  local_4b0 = 0;\n  local_4ac = 0;\n  local_4a8 = 0;\n  local_4a4 = '\0';\n  local_4a0 = 0;\n  local_90 = 0;\n  local_88 = 0;\n  local_84 = 0;\n  local_98 = 1;\n  local_94 = (undefined4 *)0x0;\n  local_7c = 0;\n  local_78 = 0;\n  local_74 = 0;\n  local_70 = '\0';\n  local_6c = (int *)0x0;\n  local_68 = 0;\n  local_64 = 0;\n  local_60 = 0;\n  local_5c = (int *)0x0;\n  local_58 = 0;\n  local_54 = 0;\n  local_50 = '\0';\n  local_4c = 0;\n  local_48 = 0;\n  local_44 = param_1;\n  local_40 = 0;\n  local_3c = 0;\n  local_34 = 1;\n  local_30 = 0;\n  local_2c = 0;\n  local_28 = 0x3f800000;\n  local_24 = 0;\n  local_20[0] = 0;\n  local_508 = &PTR_FUN_0039d950;\n  local_80 = &local_508;\n  if (*(int *)(param_1 + 0x11c) != param_3) {\n                    \n    FUN_00078080(param_1,&local_508,param_3,param_4,param_5,param_6);\n  }\n  FUN_001bfaa0(&local_508);\n  local_508 = &PTR_FUN_0039d950;\n  FUN_000773b0(&local_508);\n  FUN_00079aa0(&local_38);\n  local_508 = &PTR_FUN_003a0828;\n  if (local_5c != (int *)0x0) {\n    (**(code **)(*local_5c + 4))(local_5c);\n  }\n  if ((local_50 != '\0') && (local_58 != 0)) {\n    FUN_001fcfc0(local_58);\n  }\n  if ((local_70 != '\0') && (local_78 != 0)) {\n    FUN_001fcfc0(local_78);\n  }\n  if (local_6c != (int *)0x0) {\n    (**(code **)(*local_6c + 4))(local_6c);\n  }\n  if ((local_4a4 != '\0') && (local_4ac != 0)) {\n    FUN_001fcfc0(local_4ac);\n  }\n  FUN_001bda50(&local_4b8);\n  puVar3 = local_94;\n  while (puVar3 != (undefined4 *)0x0) {\n    puVar1 = (undefined4 *)*puVar3;\n    FUN_001fd020(puVar3);\n    puVar3 = puVar1;\n  }\n  memset(local_9c,0,local_98 << 2);\n  local_90 = 0;\n  local_94 = (undefined4 *)0x0;\n  if (local_9c != &local_84) {\n    FUN_001fd020(local_9c);\n  }\n  return;\n}" ({ "{") (declaration "undefined4 *puVar1;" (type_identifier "undefined4") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 *puVar3;" (type_identifier "undefined4") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined **local_508;" (type_identifier "undefined") (pointer_declarator "**local_508" (* "*") (pointer_declarator "*local_508" (* "*") (identifier "local_508"))) (; ";")) (declaration "undefined1 local_504;" (type_identifier "undefined1") (identifier "local_504") (; ";")) (declaration "int local_500;" (primitive_type "int") (identifier "local_500") (; ";")) (declaration "undefined4 local_4fc;" (type_identifier "undefined4") (identifier "local_4fc") (; ";")) (declaration "undefined4 local_4f8;" (type_identifier "undefined4") (identifier "local_4f8") (; ";")) (declaration "undefined4 local_4f4;" (type_identifier "undefined4") (identifier "local_4f4") (; ";")) (declaration "undefined4 local_4f0;" (type_identifier "undefined4") (identifier "local_4f0") (; ";")) (declaration "undefined4 local_4ec;" (type_identifier "undefined4") (identifier "local_4ec") (; ";")) (declaration "undefined4 local_4e8;" (type_identifier "undefined4") (identifier "local_4e8") (; ";")) (declaration "undefined4 local_4e4;" (type_identifier "undefined4") (identifier "local_4e4") (; ";")) (declaration "undefined4 local_4e0;" (type_identifier "undefined4") (identifier "local_4e0") (; ";")) (declaration "undefined4 local_4dc;" (type_identifier "undefined4") (identifier "local_4dc") (; ";")) (declaration "undefined4 local_4d8;" (type_identifier "undefined4") (identifier "local_4d8") (; ";")) (declaration "undefined4 local_4d4;" (type_identifier "undefined4") (identifier "local_4d4") (; ";")) (declaration "undefined4 local_4d0;" (type_identifier "undefined4") (identifier "local_4d0") (; ";")) (declaration "undefined4 local_4cc;" (type_identifier "undefined4") (identifier "local_4cc") (; ";")) (declaration "undefined4 local_4c8;" (type_identifier "undefined4") (identifier "local_4c8") (; ";")) (declaration "undefined4 local_4c4;" (type_identifier "undefined4") (identifier "local_4c4") (; ";")) (declaration "undefined4 local_4c0;" (type_identifier "undefined4") (identifier "local_4c0") (; ";")) (declaration "undefined4 local_4bc;" (type_identifier "undefined4") (identifier "local_4bc") (; ";")) (declaration "undefined4 local_4b8;" (type_identifier "undefined4") (identifier "local_4b8") (; ";")) (declaration "undefined4 local_4b4;" (type_identifier "undefined4") (identifier "local_4b4") (; ";")) (declaration "undefined4 local_4b0;" (type_identifier "undefined4") (identifier "local_4b0") (; ";")) (declaration "int local_4ac;" (primitive_type "int") (identifier "local_4ac") (; ";")) (declaration "undefined4 local_4a8;" (type_identifier "undefined4") (identifier "local_4a8") (; ";")) (declaration "char local_4a4;" (primitive_type "char") (identifier "local_4a4") (; ";")) (declaration "undefined4 local_4a0;" (type_identifier "undefined4") (identifier "local_4a0") (; ";")) (declaration "undefined4 local_49c [256];" (type_identifier "undefined4") (array_declarator "local_49c [256]" (identifier "local_49c") ([ "[") (number_literal "256") (] "]")) (; ";")) (declaration "undefined4 *local_9c;" (type_identifier "undefined4") (pointer_declarator "*local_9c" (* "*") (identifier "local_9c")) (; ";")) (declaration "int local_98;" (primitive_type "int") (identifier "local_98") (; ";")) (declaration "undefined4 *local_94;" (type_identifier "undefined4") (pointer_declarator "*local_94" (* "*") (identifier "local_94")) (; ";")) (declaration "undefined4 local_90;" (type_identifier "undefined4") (identifier "local_90") (; ";")) (declaration "undefined4 local_8c;" (type_identifier "undefined4") (identifier "local_8c") (; ";")) (declaration "undefined4 local_88;" (type_identifier "undefined4") (identifier "local_88") (; ";")) (declaration "undefined4 local_84;" (type_identifier "undefined4") (identifier "local_84") (; ";")) (declaration "undefined ***local_80;" (type_identifier "undefined") (pointer_declarator "***local_80" (* "*") (pointer_declarator "**local_80" (* "*") (pointer_declarator "*local_80" (* "*") (identifier "local_80")))) (; ";")) (declaration "undefined4 local_7c;" (type_identifier "undefined4") (identifier "local_7c") (; ";")) (declaration "int local_78;" (primitive_type "int") (identifier "local_78") (; ";")) (declaration "undefined4 local_74;" (type_identifier "undefined4") (identifier "local_74") (; ";")) (declaration "char local_70;" (primitive_type "char") (identifier "local_70") (; ";")) (declaration "int *local_6c;" (primitive_type "int") (pointer_declarator "*local_6c" (* "*") (identifier "local_6c")) (; ";")) (declaration "undefined4 local_68;" (type_identifier "undefined4") (identifier "local_68") (; ";")) (declaration "undefined4 local_64;" (type_identifier "undefined4") (identifier "local_64") (; ";")) (declaration "undefined4 local_60;" (type_identifier "undefined4") (identifier "local_60") (; ";")) (declaration "int *local_5c;" (primitive_type "int") (pointer_declarator "*local_5c" (* "*") (identifier "local_5c")) (; ";")) (declaration "int local_58;" (primitive_type "int") (identifier "local_58") (; ";")) (declaration "undefined4 local_54;" (type_identifier "undefined4") (identifier "local_54") (; ";")) (declaration "char local_50;" (primitive_type "char") (identifier "local_50") (; ";")) (declaration "undefined4 local_4c;" (type_identifier "undefined4") (identifier "local_4c") (; ";")) (declaration "undefined4 local_48;" (type_identifier "undefined4") (identifier "local_48") (; ";")) (declaration "int local_44;" (primitive_type "int") (identifier "local_44") (; ";")) (declaration "undefined4 local_40;" (type_identifier "undefined4") (identifier "local_40") (; ";")) (declaration "undefined4 local_3c;" (type_identifier "undefined4") (identifier "local_3c") (; ";")) (declaration "undefined4 *local_38;" (type_identifier "undefined4") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (declaration "undefined4 local_2c;" (type_identifier "undefined4") (identifier "local_2c") (; ";")) (declaration "undefined4 local_28;" (type_identifier "undefined4") (identifier "local_28") (; ";")) (declaration "undefined4 local_24;" (type_identifier "undefined4") (identifier "local_24") (; ";")) (declaration "undefined4 local_20 [4];" (type_identifier "undefined4") (array_declarator "local_20 [4]" (identifier "local_20") ([ "[") (number_literal "4") (] "]")) (; ";")) (expression_statement "local_4e4 = 0;" (assignment_expression "local_4e4 = 0" (identifier "local_4e4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4e0 = 0;" (assignment_expression "local_4e0 = 0" (identifier "local_4e0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_504 = param_2;" (assignment_expression "local_504 = param_2" (identifier "local_504") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_4fc = param_4;" (assignment_expression "local_4fc = param_4" (identifier "local_4fc") (= "=") (identifier "param_4")) (; ";")) (expression_statement "local_500 = param_3;" (assignment_expression "local_500 = param_3" (identifier "local_500") (= "=") (identifier "param_3")) (; ";")) (expression_statement "local_4f4 = param_6;" (assignment_expression "local_4f4 = param_6" (identifier "local_4f4") (= "=") (identifier "param_6")) (; ";")) (expression_statement "local_4f8 = param_5;" (assignment_expression "local_4f8 = param_5" (identifier "local_4f8") (= "=") (identifier "param_5")) (; ";")) (expression_statement "local_4dc = 0;" (assignment_expression "local_4dc = 0" (identifier "local_4dc") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4f0 = param_7;" (assignment_expression "local_4f0 = param_7" (identifier "local_4f0") (= "=") (identifier "param_7")) (; ";")) (expression_statement "local_4d8 = 0;" (assignment_expression "local_4d8 = 0" (identifier "local_4d8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4ec = param_8;" (assignment_expression "local_4ec = param_8" (identifier "local_4ec") (= "=") (identifier "param_8")) (; ";")) (expression_statement "local_4d4 = 0;" (assignment_expression "local_4d4 = 0" (identifier "local_4d4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4e8 = param_9;" (assignment_expression "local_4e8 = param_9" (identifier "local_4e8") (= "=") (identifier "param_9")) (; ";")) (expression_statement "local_4d0 = 0;" (assignment_expression "local_4d0 = 0" (identifier "local_4d0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4cc = 0;" (assignment_expression "local_4cc = 0" (identifier "local_4cc") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3 = local_49c;" (assignment_expression "puVar3 = local_49c" (identifier "puVar3") (= "=") (identifier "local_49c")) (; ";")) (expression_statement "local_9c = &local_84;" (assignment_expression "local_9c = &local_84" (identifier "local_9c") (= "=") (pointer_expression "&local_84" (& "&") (identifier "local_84"))) (; ";")) (for_statement "for (iVar2 = 0x100; iVar2 != 0; iVar2 = iVar2 + -1) {\n    *puVar3 = 0;\n    puVar3 = puVar3 + 1;\n  }" (for "for") (( "(") (assignment_expression "iVar2 = 0x100" (identifier "iVar2") (= "=") (number_literal "0x100")) (; ";") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar2 = iVar2 + -1" (identifier "iVar2") (= "=") (binary_expression "iVar2 + -1" (identifier "iVar2") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n    *puVar3 = 0;\n    puVar3 = puVar3 + 1;\n  }" ({ "{") (expression_statement "*puVar3 = 0;" (assignment_expression "*puVar3 = 0" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3 = puVar3 + 1;" (assignment_expression "puVar3 = puVar3 + 1" (identifier "puVar3") (= "=") (binary_expression "puVar3 + 1" (identifier "puVar3") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "local_38 = local_20;" (assignment_expression "local_38 = local_20" (identifier "local_38") (= "=") (identifier "local_20")) (; ";")) (expression_statement "local_8c = 0x3f800000;" (assignment_expression "local_8c = 0x3f800000" (identifier "local_8c") (= "=") (number_literal "0x3f800000")) (; ";")) (expression_statement "local_4c8 = 0;" (assignment_expression "local_4c8 = 0" (identifier "local_4c8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4c4 = 0;" (assignment_expression "local_4c4 = 0" (identifier "local_4c4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4c0 = 0;" (assignment_expression "local_4c0 = 0" (identifier "local_4c0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4bc = 0;" (assignment_expression "local_4bc = 0" (identifier "local_4bc") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4b8 = 0;" (assignment_expression "local_4b8 = 0" (identifier "local_4b8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4b4 = 0;" (assignment_expression "local_4b4 = 0" (identifier "local_4b4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4b0 = 0;" (assignment_expression "local_4b0 = 0" (identifier "local_4b0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4ac = 0;" (assignment_expression "local_4ac = 0" (identifier "local_4ac") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4a8 = 0;" (assignment_expression "local_4a8 = 0" (identifier "local_4a8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4a4 = '\0';" (assignment_expression "local_4a4 = '\0'" (identifier "local_4a4") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_4a0 = 0;" (assignment_expression "local_4a0 = 0" (identifier "local_4a0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" (identifier "local_90") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" (identifier "local_88") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" (identifier "local_84") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_98 = 1;" (assignment_expression "local_98 = 1" (identifier "local_98") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_94 = (undefined4 *)0x0;" (assignment_expression "local_94 = (undefined4 *)0x0" (identifier "local_94") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" (identifier "local_7c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" (identifier "local_78") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" (identifier "local_74") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_70 = '\0';" (assignment_expression "local_70 = '\0'" (identifier "local_70") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_6c = (int *)0x0;" (assignment_expression "local_6c = (int *)0x0" (identifier "local_6c") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" (identifier "local_68") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" (identifier "local_64") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" (identifier "local_60") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_5c = (int *)0x0;" (assignment_expression "local_5c = (int *)0x0" (identifier "local_5c") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" (identifier "local_58") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" (identifier "local_54") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_50 = '\0';" (assignment_expression "local_50 = '\0'" (identifier "local_50") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" (identifier "local_4c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" (identifier "local_48") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_44 = param_1;" (assignment_expression "local_44 = param_1" (identifier "local_44") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" (identifier "local_40") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" (identifier "local_3c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_34 = 1;" (assignment_expression "local_34 = 1" (identifier "local_34") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" (identifier "local_2c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_28 = 0x3f800000;" (assignment_expression "local_28 = 0x3f800000" (identifier "local_28") (= "=") (number_literal "0x3f800000")) (; ";")) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" (identifier "local_24") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_20[0] = 0;" (assignment_expression "local_20[0] = 0" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_508 = &PTR_FUN_0039d950;" (assignment_expression "local_508 = &PTR_FUN_0039d950" (identifier "local_508") (= "=") (pointer_expression "&PTR_FUN_0039d950" (& "&") (identifier "PTR_FUN_0039d950"))) (; ";")) (expression_statement "local_80 = &local_508;" (assignment_expression "local_80 = &local_508" (identifier "local_80") (= "=") (pointer_expression "&local_508" (& "&") (identifier "local_508"))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x11c) != param_3) {\n                    \n    FUN_00078080(param_1,&local_508,param_3,param_4,param_5,param_6);\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x11c) != param_3)" (( "(") (binary_expression "*(int *)(param_1 + 0x11c) != param_3" (pointer_expression "*(int *)(param_1 + 0x11c)" (* "*") (cast_expression "(int *)(param_1 + 0x11c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x11c)" (( "(") (binary_expression "param_1 + 0x11c" (identifier "param_1") (+ "+") (number_literal "0x11c")) () ")")))) (!= "!=") (identifier "param_3")) () ")")) (compound_statement "{\n                    \n    FUN_00078080(param_1,&local_508,param_3,param_4,param_5,param_6);\n  }" ({ "{") (expression_statement "FUN_00078080(param_1,&local_508,param_3,param_4,param_5,param_6);" (call_expression "FUN_00078080(param_1,&local_508,param_3,param_4,param_5,param_6)" (identifier "FUN_00078080") (argument_list "(param_1,&local_508,param_3,param_4,param_5,param_6)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&local_508" (& "&") (identifier "local_508")) (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (identifier "param_5") (, ",") (identifier "param_6") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_001bfaa0(&local_508);" (call_expression "FUN_001bfaa0(&local_508)" (identifier "FUN_001bfaa0") (argument_list "(&local_508)" (( "(") (pointer_expression "&local_508" (& "&") (identifier "local_508")) () ")"))) (; ";")) (expression_statement "local_508 = &PTR_FUN_0039d950;" (assignment_expression "local_508 = &PTR_FUN_0039d950" (identifier "local_508") (= "=") (pointer_expression "&PTR_FUN_0039d950" (& "&") (identifier "PTR_FUN_0039d950"))) (; ";")) (expression_statement "FUN_000773b0(&local_508);" (call_expression "FUN_000773b0(&local_508)" (identifier "FUN_000773b0") (argument_list "(&local_508)" (( "(") (pointer_expression "&local_508" (& "&") (identifier "local_508")) () ")"))) (; ";")) (expression_statement "FUN_00079aa0(&local_38);" (call_expression "FUN_00079aa0(&local_38)" (identifier "FUN_00079aa0") (argument_list "(&local_38)" (( "(") (pointer_expression "&local_38" (& "&") (identifier "local_38")) () ")"))) (; ";")) (expression_statement "local_508 = &PTR_FUN_003a0828;" (assignment_expression "local_508 = &PTR_FUN_003a0828" (identifier "local_508") (= "=") (pointer_expression "&PTR_FUN_003a0828" (& "&") (identifier "PTR_FUN_003a0828"))) (; ";")) (if_statement "if (local_5c != (int *)0x0) {\n    (**(code **)(*local_5c + 4))(local_5c);\n  }" (if "if") (parenthesized_expression "(local_5c != (int *)0x0)" (( "(") (binary_expression "local_5c != (int *)0x0" (identifier "local_5c") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    (**(code **)(*local_5c + 4))(local_5c);\n  }" ({ "{") (expression_statement "(**(code **)(*local_5c + 4))(local_5c);" (call_expression "(**(code **)(*local_5c + 4))(local_5c)" (parenthesized_expression "(**(code **)(*local_5c + 4))" (( "(") (pointer_expression "**(code **)(*local_5c + 4)" (* "*") (pointer_expression "*(code **)(*local_5c + 4)" (* "*") (cast_expression "(code **)(*local_5c + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_5c + 4)" (( "(") (binary_expression "*local_5c + 4" (pointer_expression "*local_5c" (* "*") (identifier "local_5c")) (+ "+") (number_literal "4")) () ")"))))) () ")")) (argument_list "(local_5c)" (( "(") (identifier "local_5c") () ")"))) (; ";")) (} "}"))) (if_statement "if ((local_50 != '\0') && (local_58 != 0)) {\n    FUN_001fcfc0(local_58);\n  }" (if "if") (parenthesized_expression "((local_50 != '\0') && (local_58 != 0))" (( "(") (binary_expression "(local_50 != '\0') && (local_58 != 0)" (parenthesized_expression "(local_50 != '\0')" (( "(") (binary_expression "local_50 != '\0'" (identifier "local_50") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(local_58 != 0)" (( "(") (binary_expression "local_58 != 0" (identifier "local_58") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    FUN_001fcfc0(local_58);\n  }" ({ "{") (expression_statement "FUN_001fcfc0(local_58);" (call_expression "FUN_001fcfc0(local_58)" (identifier "FUN_001fcfc0") (argument_list "(local_58)" (( "(") (identifier "local_58") () ")"))) (; ";")) (} "}"))) (if_statement "if ((local_70 != '\0') && (local_78 != 0)) {\n    FUN_001fcfc0(local_78);\n  }" (if "if") (parenthesized_expression "((local_70 != '\0') && (local_78 != 0))" (( "(") (binary_expression "(local_70 != '\0') && (local_78 != 0)" (parenthesized_expression "(local_70 != '\0')" (( "(") (binary_expression "local_70 != '\0'" (identifier "local_70") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(local_78 != 0)" (( "(") (binary_expression "local_78 != 0" (identifier "local_78") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    FUN_001fcfc0(local_78);\n  }" ({ "{") (expression_statement "FUN_001fcfc0(local_78);" (call_expression "FUN_001fcfc0(local_78)" (identifier "FUN_001fcfc0") (argument_list "(local_78)" (( "(") (identifier "local_78") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_6c != (int *)0x0) {\n    (**(code **)(*local_6c + 4))(local_6c);\n  }" (if "if") (parenthesized_expression "(local_6c != (int *)0x0)" (( "(") (binary_expression "local_6c != (int *)0x0" (identifier "local_6c") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    (**(code **)(*local_6c + 4))(local_6c);\n  }" ({ "{") (expression_statement "(**(code **)(*local_6c + 4))(local_6c);" (call_expression "(**(code **)(*local_6c + 4))(local_6c)" (parenthesized_expression "(**(code **)(*local_6c + 4))" (( "(") (pointer_expression "**(code **)(*local_6c + 4)" (* "*") (pointer_expression "*(code **)(*local_6c + 4)" (* "*") (cast_expression "(code **)(*local_6c + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_6c + 4)" (( "(") (binary_expression "*local_6c + 4" (pointer_expression "*local_6c" (* "*") (identifier "local_6c")) (+ "+") (number_literal "4")) () ")"))))) () ")")) (argument_list "(local_6c)" (( "(") (identifier "local_6c") () ")"))) (; ";")) (} "}"))) (if_statement "if ((local_4a4 != '\0') && (local_4ac != 0)) {\n    FUN_001fcfc0(local_4ac);\n  }" (if "if") (parenthesized_expression "((local_4a4 != '\0') && (local_4ac != 0))" (( "(") (binary_expression "(local_4a4 != '\0') && (local_4ac != 0)" (parenthesized_expression "(local_4a4 != '\0')" (( "(") (binary_expression "local_4a4 != '\0'" (identifier "local_4a4") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(local_4ac != 0)" (( "(") (binary_expression "local_4ac != 0" (identifier "local_4ac") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    FUN_001fcfc0(local_4ac);\n  }" ({ "{") (expression_statement "FUN_001fcfc0(local_4ac);" (call_expression "FUN_001fcfc0(local_4ac)" (identifier "FUN_001fcfc0") (argument_list "(local_4ac)" (( "(") (identifier "local_4ac") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_001bda50(&local_4b8);" (call_expression "FUN_001bda50(&local_4b8)" (identifier "FUN_001bda50") (argument_list "(&local_4b8)" (( "(") (pointer_expression "&local_4b8" (& "&") (identifier "local_4b8")) () ")"))) (; ";")) (expression_statement "puVar3 = local_94;" (assignment_expression "puVar3 = local_94" (identifier "puVar3") (= "=") (identifier "local_94")) (; ";")) (while_statement "while (puVar3 != (undefined4 *)0x0) {\n    puVar1 = (undefined4 *)*puVar3;\n    FUN_001fd020(puVar3);\n    puVar3 = puVar1;\n  }" (while "while") (parenthesized_expression "(puVar3 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar3 != (undefined4 *)0x0" (identifier "puVar3") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    puVar1 = (undefined4 *)*puVar3;\n    FUN_001fd020(puVar3);\n    puVar3 = puVar1;\n  }" ({ "{") (expression_statement "puVar1 = (undefined4 *)*puVar3;" (assignment_expression "puVar1 = (undefined4 *)*puVar3" (identifier "puVar1") (= "=") (cast_expression "(undefined4 *)*puVar3" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar3" (* "*") (identifier "puVar3")))) (; ";")) (expression_statement "FUN_001fd020(puVar3);" (call_expression "FUN_001fd020(puVar3)" (identifier "FUN_001fd020") (argument_list "(puVar3)" (( "(") (identifier "puVar3") () ")"))) (; ";")) (expression_statement "puVar3 = puVar1;" (assignment_expression "puVar3 = puVar1" (identifier "puVar3") (= "=") (identifier "puVar1")) (; ";")) (} "}"))) (expression_statement "memset(local_9c,0,local_98 << 2);" (call_expression "memset(local_9c,0,local_98 << 2)" (identifier "memset") (argument_list "(local_9c,0,local_98 << 2)" (( "(") (identifier "local_9c") (, ",") (number_literal "0") (, ",") (binary_expression "local_98 << 2" (identifier "local_98") (<< "<<") (number_literal "2")) () ")"))) (; ";")) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" (identifier "local_90") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_94 = (undefined4 *)0x0;" (assignment_expression "local_94 = (undefined4 *)0x0" (identifier "local_94") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (local_9c != &local_84) {\n    FUN_001fd020(local_9c);\n  }" (if "if") (parenthesized_expression "(local_9c != &local_84)" (( "(") (binary_expression "local_9c != &local_84" (identifier "local_9c") (!= "!=") (pointer_expression "&local_84" (& "&") (identifier "local_84"))) () ")")) (compound_statement "{\n    FUN_001fd020(local_9c);\n  }" ({ "{") (expression_statement "FUN_001fd020(local_9c);" (call_expression "FUN_001fd020(local_9c)" (identifier "FUN_001fd020") (argument_list "(local_9c)" (( "(") (identifier "local_9c") () ")"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.si replaced with injection: get_pc_thunk_si */
/* DWARF original prototype: void scan_debug_info(Gdb_index * this, bool is_type_unit, Relobj *
   object, uchar * symbols, off_t symbols_size, uint shndx, uint reloc_shndx, uint reloc_type) */

void __thiscall
gold::type_1::function_1
          (type_1 *this,bool is_type_unit,type_2 *var_3,type_3 *symbols,type_4 symbols_size,
          type_5 shndx,type_5 reloc_shndx,type_5 reloc_type)

{
  type_6 *var_15;
  type_7 *p_Var2;
  type_8 _Var3;
  int var_1;
  type_9 **var_2;
  int in_stack_fffffad8;
  type_10 dwinfo;
  
  dwinfo.super_Dwarf_info_reader.abbrev_shndx_ = 0;
  dwinfo.super_Dwarf_info_reader.string_shndx_ = 0;
  dwinfo.super_Dwarf_info_reader.is_type_unit_ = is_type_unit;
  dwinfo.super_Dwarf_info_reader.symtab_ = symbols;
  dwinfo.super_Dwarf_info_reader.object_ = var_3;
  dwinfo.super_Dwarf_info_reader.buffer_ = (type_3 *)0x0;
  dwinfo.super_Dwarf_info_reader.shndx_ = shndx;
  dwinfo.super_Dwarf_info_reader.buffer_end_ = (type_3 *)0x0;
  dwinfo.super_Dwarf_info_reader.reloc_shndx_ = reloc_shndx;
  dwinfo.super_Dwarf_info_reader.cu_offset_._0_4_ = 0;
  dwinfo.super_Dwarf_info_reader.reloc_type_ = reloc_type;
  var_15 = &dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_single_bucket;
  dwinfo.super_Dwarf_info_reader.cu_offset_._4_4_ = 0;
  dwinfo.super_Dwarf_info_reader.cu_length_._0_4_ = 0;
  var_2 = dwinfo.super_Dwarf_info_reader.abbrev_table_.low_abbrev_codes_;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets = var_15;
  for (var_1 = 0x100; var_1 != 0; var_1 = var_1 + -1) {
    *var_2 = (type_9 *)0x0;
    var_2 = var_2 + 1;
  }
  dwinfo.declarations_._M_h._M_buckets = &dwinfo.declarations_._M_h._M_single_bucket;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_rehash_policy.
  _M_max_load_factor = 1.0;
  dwinfo.super_Dwarf_info_reader.cu_length_._4_4_ = 0;
  dwinfo.super_Dwarf_info_reader.offset_size_ = 0;
  dwinfo.super_Dwarf_info_reader.address_size_ = 0;
  dwinfo.super_Dwarf_info_reader.cu_version_ = 0;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_shndx_ = 0;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_offset_._0_4_ = 0;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.abbrev_offset_._4_4_ = 0;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_ = (type_3 *)0x0;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_end_ = (type_3 *)0x0;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.owns_buffer_ = false;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_pos_ = (type_3 *)0x0;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_element_count = 0;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_rehash_policy.
  _M_next_resize = 0;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_single_bucket =
       (type_6)0x0;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_bucket_count = 1;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin._M_nxt =
       (type_7 *)0x0;
  dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_shndx_ = 0;
  dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_ = (type_3 *)0x0;
  dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_end_ = (type_3 *)0x0;
  dwinfo.super_Dwarf_info_reader.ranges_table_.owns_ranges_buffer_ = false;
  dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_ = (type_11 *)0x0;
  dwinfo.super_Dwarf_info_reader.ranges_table_.reloc_type_ = 0;
  dwinfo.super_Dwarf_info_reader.ranges_table_.output_section_offset_._0_4_ = 0;
  dwinfo.super_Dwarf_info_reader.ranges_table_.output_section_offset_._4_4_ = 0;
  dwinfo.super_Dwarf_info_reader.reloc_mapper_ = (type_11 *)0x0;
  dwinfo.super_Dwarf_info_reader.string_buffer_ = (char *)0x0;
  dwinfo.super_Dwarf_info_reader.string_buffer_end_ = (char *)0x0;
  dwinfo.super_Dwarf_info_reader.owns_string_buffer_ = false;
  dwinfo.super_Dwarf_info_reader.string_output_section_offset_._0_4_ = 0;
  dwinfo.super_Dwarf_info_reader.string_output_section_offset_._4_4_ = 0;
  dwinfo.gdb_index_ = this;
  dwinfo.cu_index_ = 0;
  dwinfo.cu_language_ = 0;
  dwinfo.declarations_._M_h._M_bucket_count = 1;
  dwinfo.declarations_._M_h._M_before_begin._M_nxt = (type_7 *)0x0;
  dwinfo.declarations_._M_h._M_element_count = 0;
  dwinfo.declarations_._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  dwinfo.declarations_._M_h._M_rehash_policy._M_next_resize = 0;
  dwinfo.declarations_._M_h._M_single_bucket = (type_6)0x0;
  dwinfo.super_Dwarf_info_reader._vptr_Dwarf_info_reader =
       (type_12 **)&PTR__Gdb_index_info_reader_0039d950;
  dwinfo.super_Dwarf_info_reader.ranges_table_.dwinfo_ = &dwinfo.super_Dwarf_info_reader;
  if (this->pubnames_object_ != var_3) {
    dwinfo.super_Dwarf_info_reader.symtab_size_ = symbols_size;
                    /* try { // try from 000783eb to 00078402 has its CatchHandler @ 0007853b */
    var_4(this,&dwinfo,var_3,symbols,symbols_size);
    in_stack_fffffad8 = symbols_size._4_4_;
    symbols_size = dwinfo.super_Dwarf_info_reader.symtab_size_;
  }
  dwinfo.super_Dwarf_info_reader.symtab_size_ = symbols_size;
  Dwarf_info_reader::var_5(&dwinfo.super_Dwarf_info_reader);
  dwinfo.super_Dwarf_info_reader._vptr_Dwarf_info_reader =
       (type_12 **)&PTR__Gdb_index_info_reader_0039d950;
  Gdb_index_info_reader::var_6(&dwinfo);
  std::
  var_10<long_long_int,_std::pair<long_long_int_const,_gold::type_10::Declaration_pair>,_std::allocator<std::pair<long_long_int_const,_gold::type_10::Declaration_pair>var_9>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_7<false,_false,var_8>var_9>
  ::~var_10((var_10<long_long_int,_std::pair<long_long_int_const,_gold::type_10::Declaration_pair>,_std::allocator<std::pair<long_long_int_const,_gold::type_10::Declaration_pair>var_9>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_7<false,_false,var_8>var_9>
                 *)&dwinfo.declarations_,in_stack_fffffad8);
  dwinfo.super_Dwarf_info_reader._vptr_Dwarf_info_reader =
       (type_12 **)&PTR__Dwarf_info_reader_003a0828;
  if (dwinfo.super_Dwarf_info_reader.reloc_mapper_ != (type_11 *)0x0) {
    (*(dwinfo.super_Dwarf_info_reader.reloc_mapper_)->_vptr_Elf_reloc_mapper[1])
              (dwinfo.super_Dwarf_info_reader.reloc_mapper_);
  }
  if ((dwinfo.super_Dwarf_info_reader.owns_string_buffer_ != false) &&
     (dwinfo.super_Dwarf_info_reader.string_buffer_ != (char *)0x0)) {
    var_11(dwinfo.super_Dwarf_info_reader.string_buffer_);
  }
  if ((dwinfo.super_Dwarf_info_reader.ranges_table_.owns_ranges_buffer_ != false) &&
     (dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_ != (type_3 *)0x0)) {
    var_11(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_buffer_);
  }
  if (dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_ != (type_11 *)0x0)
  {
    (*(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_)->_vptr_Elf_reloc_mapper[1]
    )(dwinfo.super_Dwarf_info_reader.ranges_table_.ranges_reloc_mapper_);
  }
  if ((dwinfo.super_Dwarf_info_reader.abbrev_table_.owns_buffer_ != false) &&
     (dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_ != (type_3 *)0x0)) {
    var_11(dwinfo.super_Dwarf_info_reader.abbrev_table_.buffer_);
  }
  Dwarf_abbrev_table::var_12(&dwinfo.super_Dwarf_info_reader.abbrev_table_);
  _Var3 = dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin;
  while (_Var3._M_nxt != (type_7 *)0x0) {
    p_Var2 = (_Var3._M_nxt)->_M_nxt;
    var_13(_Var3._M_nxt);
    _Var3._M_nxt = p_Var2;
  }
  var_14(dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets,0,
         dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_bucket_count << 2);
  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_element_count = 0;
  dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_before_begin._M_nxt =
       (type_7 *)0x0;
  if (dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets != var_15) {
    var_13(dwinfo.super_Dwarf_info_reader.abbrev_table_.high_abbrev_codes_._M_h._M_buckets)
    ;
  }
  return;
}


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

/* WARNING: Function: __i686.get_pc_thunk.si replaced with injection: get_pc_thunk_si */

void MASKED(int param_1,undefined1 param_2,int param_3,undefined4 param_4,undefined4 param_5,
                 undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9)

{
  undefined4 *puVar1;
  int iVar2;
  undefined4 *puVar3;
  undefined **local_508;
  undefined1 local_504;
  int local_500;
  undefined4 local_4fc;
  undefined4 local_4f8;
  undefined4 local_4f4;
  undefined4 local_4f0;
  undefined4 local_4ec;
  undefined4 local_4e8;
  undefined4 local_4e4;
  undefined4 local_4e0;
  undefined4 local_4dc;
  undefined4 local_4d8;
  undefined4 local_4d4;
  undefined4 local_4d0;
  undefined4 local_4cc;
  undefined4 local_4c8;
  undefined4 local_4c4;
  undefined4 local_4c0;
  undefined4 local_4bc;
  undefined4 local_4b8;
  undefined4 local_4b4;
  undefined4 local_4b0;
  int local_4ac;
  undefined4 local_4a8;
  char local_4a4;
  undefined4 local_4a0;
  undefined4 local_49c [256];
  undefined4 *local_9c;
  int local_98;
  undefined4 *local_94;
  undefined4 local_90;
  undefined4 local_8c;
  undefined4 local_88;
  undefined4 local_84;
  undefined ***local_80;
  undefined4 local_7c;
  int local_78;
  undefined4 local_74;
  char local_70;
  int *local_6c;
  undefined4 local_68;
  undefined4 local_64;
  undefined4 local_60;
  int *local_5c;
  int local_58;
  undefined4 local_54;
  char local_50;
  undefined4 local_4c;
  undefined4 local_48;
  int local_44;
  undefined4 local_40;
  undefined4 local_3c;
  undefined4 *local_38;
  undefined4 local_34;
  undefined4 local_30;
  undefined4 local_2c;
  undefined4 local_28;
  undefined4 local_24;
  undefined4 local_20 [4];
  
  local_4e4 = 0;
  local_4e0 = 0;
  local_504 = param_2;
  local_4fc = param_4;
  local_500 = param_3;
  local_4f4 = param_6;
  local_4f8 = param_5;
  local_4dc = 0;
  local_4f0 = param_7;
  local_4d8 = 0;
  local_4ec = param_8;
  local_4d4 = 0;
  local_4e8 = param_9;
  local_4d0 = 0;
  local_4cc = 0;
  puVar3 = local_49c;
  local_9c = &local_84;
  for (iVar2 = 0x100; iVar2 != 0; iVar2 = iVar2 + -1) {
    *puVar3 = 0;
    puVar3 = puVar3 + 1;
  }
  local_38 = local_20;
  local_8c = 0x3f800000;
  local_4c8 = 0;
  local_4c4 = 0;
  local_4c0 = 0;
  local_4bc = 0;
  local_4b8 = 0;
  local_4b4 = 0;
  local_4b0 = 0;
  local_4ac = 0;
  local_4a8 = 0;
  local_4a4 = '\0';
  local_4a0 = 0;
  local_90 = 0;
  local_88 = 0;
  local_84 = 0;
  local_98 = 1;
  local_94 = (undefined4 *)0x0;
  local_7c = 0;
  local_78 = 0;
  local_74 = 0;
  local_70 = '\0';
  local_6c = (int *)0x0;
  local_68 = 0;
  local_64 = 0;
  local_60 = 0;
  local_5c = (int *)0x0;
  local_58 = 0;
  local_54 = 0;
  local_50 = '\0';
  local_4c = 0;
  local_48 = 0;
  local_44 = param_1;
  local_40 = 0;
  local_3c = 0;
  local_34 = 1;
  local_30 = 0;
  local_2c = 0;
  local_28 = 0x3f800000;
  local_24 = 0;
  local_20[0] = 0;
  local_508 = &PTR_FUN_0039d950;
  local_80 = &local_508;
  if (*(int *)(param_1 + 0x11c) != param_3) {
                    /* try { // try from 000783eb to 00078402 has its CatchHandler @ 0007853b */
    FUN_00078080(param_1,&local_508,param_3,param_4,param_5,param_6);
  }
  FUN_001bfaa0(&local_508);
  local_508 = &PTR_FUN_0039d950;
  FUN_000773b0(&local_508);
  FUN_00079aa0(&local_38);
  local_508 = &PTR_FUN_003a0828;
  if (local_5c != (int *)0x0) {
    (**(code **)(*local_5c + 4))(local_5c);
  }
  if ((local_50 != '\0') && (local_58 != 0)) {
    FUN_001fcfc0(local_58);
  }
  if ((local_70 != '\0') && (local_78 != 0)) {
    FUN_001fcfc0(local_78);
  }
  if (local_6c != (int *)0x0) {
    (**(code **)(*local_6c + 4))(local_6c);
  }
  if ((local_4a4 != '\0') && (local_4ac != 0)) {
    FUN_001fcfc0(local_4ac);
  }
  FUN_001bda50(&local_4b8);
  puVar3 = local_94;
  while (puVar3 != (undefined4 *)0x0) {
    puVar1 = (undefined4 *)*puVar3;
    FUN_001fd020(puVar3);
    puVar3 = puVar1;
  }
  memset(local_9c,0,local_98 << 2);
  local_90 = 0;
  local_94 = (undefined4 *)0x0;
  if (local_9c != &local_84) {
    FUN_001fd020(local_9c);
  }
  return;
}

